]> Git trees. - libqmvoc.git/commitdiff
Make declinations usable.
authorFrederik Gladhorn <gladhorn@kde.org>
Fri, 21 Sep 2007 08:05:40 +0000 (08:05 +0000)
committerFrederik Gladhorn <gladhorn@kde.org>
Fri, 21 Sep 2007 08:05:40 +0000 (08:05 +0000)
svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=715098

keduvocdocument/keduvocdeclination.cpp
keduvocdocument/keduvocdeclination.h

index 354da0800e228b824fbe5c20e95872039589050a..d7ec962aca0646706791d1149f6d4dba5dcb98de 100644 (file)
 class KEduVocDeclination::Private
 {
 public:
-    struct DeclinationCase {
-        QStringList test;
-    };
-
-
-    DeclinationGender m_gender;
-
-    Private();
+    QMap<int, QString> m_declinations;
 };
 
-KEduVocDeclination::Private::Private()
-{
-    m_gender = Undefined;
-}
-
 KEduVocDeclination::KEduVocDeclination()
     :d (new Private)
 {
@@ -50,11 +38,12 @@ KEduVocDeclination::KEduVocDeclination()
 KEduVocDeclination::KEduVocDeclination(const KEduVocDeclination & other)
     :d (new Private)
 {
+    d->m_declinations = other.d->m_declinations;
 }
 
 KEduVocDeclination & KEduVocDeclination::operator =(const KEduVocDeclination & other)
 {
-    d->m_gender = other.d->m_gender;
+    d->m_declinations = other.d->m_declinations;
 }
 
 KEduVocDeclination::~KEduVocDeclination()
@@ -64,10 +53,26 @@ KEduVocDeclination::~KEduVocDeclination()
 
 QString KEduVocDeclination::declination(DeclinationNumber number, DeclinationCase decCase)
 {
+    if ( m_declinations.contains(indexOf(number, decCase)) ) {
+        return m_declinations.value(indexOf(number, decCase));
+    } else {
+        return QString();
+    }
 }
 
 void KEduVocDeclination::setDeclination(const QString & declination, DeclinationNumber number, DeclinationCase decCase)
 {
+    m_declinations[indexOf(number, decCase)] = declination;
+}
+
+int KEduVocDeclination::indexOf(DeclinationNumber number, DeclinationCase decCase)
+{
+    return number * 10 + decCase;
+}
+
+bool KEduVocDeclination::isEmpty()
+{
+    return m_declinations.isEmpty();
 }
 
 
index 58b7ba43d99852326044781d394190d7179d1216..0974d91ad8b92865e30815a7744c9bb849014781 100644 (file)
@@ -95,7 +95,11 @@ public:
      */
     void setDeclination(const QString& declination, DeclinationNumber number, DeclinationCase decCase);
 
+    bool isEmpty();
+
 private:
+    int indexOf(DeclinationNumber number, DeclinationCase decCase);
+
     class Private;
     Private * const d;
 };