***************************************************************************/
#include "keduvocdeclension.h"
-/*
+
#include "kvtml2defs.h"
#include "keduvockvtml2writer.h"
#include <QtXml/QDomDocument>
-*/
+
#include <QtCore/QMap>
class KEduVocDeclension::Private
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)
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
+}
+
+
* @return
*/
KEduVocText& declension(DeclensionNumber number, DeclensionCase decCase);
+ KEduVocText& declension(int index);
/**
* Set a declension
*/
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;
};
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;
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;