From 37ccdc3491ff46c5c3d1cfb33dfec97485da2775 Mon Sep 17 00:00:00 2001 From: Frederik Gladhorn Date: Sun, 24 Feb 2008 18:46:24 +0000 Subject: [PATCH] declinations gui basically works, beware, sofar declinations are neither read nor written from/to xml svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=778843 --- keduvocdocument/keduvocdeclension.cpp | 40 +++++++++++++++++--------- keduvocdocument/keduvocdeclension.h | 9 ++++-- keduvocdocument/keduvoctext.cpp | 5 +++- keduvocdocument/keduvoctranslation.cpp | 5 +--- 4 files changed, 38 insertions(+), 21 deletions(-) diff --git a/keduvocdocument/keduvocdeclension.cpp b/keduvocdocument/keduvocdeclension.cpp index f586631..8fead39 100644 --- a/keduvocdocument/keduvocdeclension.cpp +++ b/keduvocdocument/keduvocdeclension.cpp @@ -22,11 +22,11 @@ ***************************************************************************/ #include "keduvocdeclension.h" -/* + #include "kvtml2defs.h" #include "keduvockvtml2writer.h" #include -*/ + #include class KEduVocDeclension::Private @@ -59,12 +59,22 @@ KEduVocDeclension::~KEduVocDeclension() KEduVocText& KEduVocDeclension::declension(DeclensionNumber number, DeclensionCase decCase) { - return d->m_declensions[indexOf(number, decCase)]; + return declension(indexOf(number, decCase)); +} + +KEduVocText & KEduVocDeclension::declension(int index) +{ + return d->m_declensions[index]; +} + +void KEduVocDeclension::setDeclension(const KEduVocText & declension, int index) +{ + d->m_declensions[index] = declension; } void KEduVocDeclension::setDeclension(const KEduVocText & declension, DeclensionNumber number, DeclensionCase decCase) { - d->m_declensions[indexOf(number, decCase)] = declension; + setDeclension(declension, indexOf(number, decCase)); } int KEduVocDeclension::indexOf(DeclensionNumber number, DeclensionCase decCase) @@ -77,13 +87,17 @@ bool KEduVocDeclension::isEmpty() return d->m_declensions.isEmpty(); } -// void KEduVocDeclension::toXML(QDomElement & parent) -// { -// if (isEmpty()) { -// return; -// } -// QDomDocument domDoc = parent.ownerDocument(); -// QDomElement gradeElement = domDoc.createElement( KVTML_DECLENSION ); -// -// } +void KEduVocDeclension::toXML(QDomElement & parent) +{ + if (isEmpty()) { + return; + } + QDomDocument domDoc = parent.ownerDocument(); + QDomElement gradeElement = domDoc.createElement( KVTML_DECLENSION ); + parent.appendChild(gradeElement); + + ///@todo write contents +} + + diff --git a/keduvocdocument/keduvocdeclension.h b/keduvocdocument/keduvocdeclension.h index f812449..3c44abe 100644 --- a/keduvocdocument/keduvocdeclension.h +++ b/keduvocdocument/keduvocdeclension.h @@ -83,6 +83,7 @@ public: * @return */ KEduVocText& declension(DeclensionNumber number, DeclensionCase decCase); + KEduVocText& declension(int index); /** * Set a declension @@ -92,13 +93,15 @@ public: */ void setDeclension(const KEduVocText& declension, DeclensionNumber number, DeclensionCase decCase); + void setDeclension(const KEduVocText& declension, int index); + bool isEmpty(); -// void toXML(QDomElement& parent); + void toXML(QDomElement& parent); -private: - int indexOf(DeclensionNumber number, DeclensionCase decCase); + static int indexOf(DeclensionNumber number, DeclensionCase decCase); +private: class Private; Private * const d; }; diff --git a/keduvocdocument/keduvoctext.cpp b/keduvocdocument/keduvoctext.cpp index bd79a25..471b317 100644 --- a/keduvocdocument/keduvoctext.cpp +++ b/keduvocdocument/keduvoctext.cpp @@ -151,6 +151,7 @@ void KEduVocText::setPracticeDate( const QDateTime & date ) KEduVocText & KEduVocText::operator =(const KEduVocText & other) { + d->m_text = other.d->m_text; d->m_grade = other.d->m_grade; d->m_totalPracticeCount = other.d->m_totalPracticeCount; d->m_badCount = other.d->m_badCount; @@ -161,7 +162,9 @@ KEduVocText & KEduVocText::operator =(const KEduVocText & other) bool KEduVocText::operator ==(const KEduVocText & other) const { - return d->m_grade == other.d->m_grade && + return + d->m_text == other.d->m_text && + d->m_grade == other.d->m_grade && d->m_totalPracticeCount == other.d->m_totalPracticeCount && d->m_badCount == other.d->m_badCount && d->m_practiceDate == other.d->m_practiceDate; diff --git a/keduvocdocument/keduvoctranslation.cpp b/keduvocdocument/keduvoctranslation.cpp index cf46db7..75cbd90 100644 --- a/keduvocdocument/keduvoctranslation.cpp +++ b/keduvocdocument/keduvoctranslation.cpp @@ -362,10 +362,7 @@ void KEduVocTranslation::toXML(QDomElement & parent) kDebug() << "Write translation xml."; KEduVocText::toXML(parent); if (d->m_declension) { -// d->m_declension->toXML(parent); + d->m_declension->toXML(parent); } } - - - -- 2.47.3