From: Frederik Gladhorn Date: Fri, 21 Sep 2007 08:05:40 +0000 (+0000) Subject: Make declinations usable. X-Git-Tag: v3.94.0~28 X-Git-Url: https://git.rmz.fi/?a=commitdiff_plain;h=9c9507e9952be9c495a7d7b834cf3a0137d04c71;p=libqmvoc.git Make declinations usable. svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=715098 --- diff --git a/keduvocdocument/keduvocdeclination.cpp b/keduvocdocument/keduvocdeclination.cpp index 354da08..d7ec962 100644 --- a/keduvocdocument/keduvocdeclination.cpp +++ b/keduvocdocument/keduvocdeclination.cpp @@ -27,21 +27,9 @@ class KEduVocDeclination::Private { public: - struct DeclinationCase { - QStringList test; - }; - - - DeclinationGender m_gender; - - Private(); + QMap 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(); } diff --git a/keduvocdocument/keduvocdeclination.h b/keduvocdocument/keduvocdeclination.h index 58b7ba4..0974d91 100644 --- a/keduvocdocument/keduvocdeclination.h +++ b/keduvocdocument/keduvocdeclination.h @@ -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; };