/***************************************************************************
+* this file is from kdeedu project. Filename: keduvocdeclension.cpp
+***************************************************************************/
- C++ Implementation: keduvocdeclension
+/***************************************************************************
+
+ C++ Implementation: qmvocdeclension
-----------------------------------------------------------------------
begin : Do Sep 20 2007
copyright : (C) 2007 Frederik Gladhorn <frederik.gladhorn@kdemail.net>
+ Copyright : (C) 2010, 2012 Reto Zingg <g.d0b3rm4n@gmail.com>
-----------------------------------------------------------------------
* *
***************************************************************************/
-#include "keduvocdeclension.h"
+#include "qmvocdeclension.h"
#include "kvtml2defs.h"
-#include "keduvockvtml2writer.h"
+#include "qmvockvtml2writer.h"
#include <QtXml/QDomDocument>
#include <QtCore/QMap>
-class KEduVocDeclension::Private
+class QmVocDeclension::Private
{
public:
- QMap<KEduVocWordFlags, KEduVocText> m_declensions;
+ QMap<QmVocWordFlags, QmVocText> m_declensions;
};
-KEduVocDeclension::KEduVocDeclension()
+QmVocDeclension::QmVocDeclension()
:d (new Private)
{
}
-KEduVocDeclension::KEduVocDeclension(const KEduVocDeclension & other)
+QmVocDeclension::QmVocDeclension(const QmVocDeclension & other)
:d (new Private)
{
d->m_declensions = other.d->m_declensions;
}
-KEduVocDeclension & KEduVocDeclension::operator =(const KEduVocDeclension & other)
+QmVocDeclension & QmVocDeclension::operator =(const QmVocDeclension & other)
{
d->m_declensions = other.d->m_declensions;
return *this;
}
-KEduVocDeclension::~KEduVocDeclension()
+QmVocDeclension::~QmVocDeclension()
{
delete d;
}
-KEduVocText& KEduVocDeclension::declension(KEduVocWordFlags flags)
+QmVocText& QmVocDeclension::declension(QmVocWordFlags flags)
{
return d->m_declensions[flags];
}
-void KEduVocDeclension::setDeclension(const KEduVocText & declension, KEduVocWordFlags flags)
+void QmVocDeclension::setDeclension(const QmVocText & declension, QmVocWordFlags flags)
{
d->m_declensions[flags] = declension;
}
-bool KEduVocDeclension::isEmpty()
+bool QmVocDeclension::isEmpty()
{
return d->m_declensions.isEmpty();
}
-void KEduVocDeclension::toKVTML2(QDomElement & parent)
+void QmVocDeclension::toKVTML2(QDomElement & parent)
{
if (isEmpty()) {
return;
QDomDocument domDoc = parent.ownerDocument();
QDomElement declensionElement = domDoc.createElement( KVTML_DECLENSION );
- QMap<int, KEduVocWordFlags> genders;
- genders[0] = KEduVocWordFlag::Masculine;
- genders[1] = KEduVocWordFlag::Feminine;
- genders[2] = KEduVocWordFlag::Neuter;
+ QMap<int, QmVocWordFlags> genders;
+ genders[0] = QmVocWordFlag::Masculine;
+ genders[1] = QmVocWordFlag::Feminine;
+ genders[2] = QmVocWordFlag::Neuter;
- QMap<int, KEduVocWordFlags> numbers;
- numbers[0] = KEduVocWordFlag::Singular;
- numbers[1] = KEduVocWordFlag::Dual;
- numbers[2] = KEduVocWordFlag::Plural;
+ QMap<int, QmVocWordFlags> numbers;
+ numbers[0] = QmVocWordFlag::Singular;
+ numbers[1] = QmVocWordFlag::Dual;
+ numbers[2] = QmVocWordFlag::Plural;
- QMap<int, KEduVocWordFlags> cases;
- cases[0] = KEduVocWordFlag::Nominative;
- cases[1] = KEduVocWordFlag::Genitive;
- cases[2] = KEduVocWordFlag::Dative;
- cases[3] = KEduVocWordFlag::Accusative;
- cases[4] = KEduVocWordFlag::Ablative;
- cases[5] = KEduVocWordFlag::Locative;
- cases[6] = KEduVocWordFlag::Vocative;
+ QMap<int, QmVocWordFlags> cases;
+ cases[0] = QmVocWordFlag::Nominative;
+ cases[1] = QmVocWordFlag::Genitive;
+ cases[2] = QmVocWordFlag::Dative;
+ cases[3] = QmVocWordFlag::Accusative;
+ cases[4] = QmVocWordFlag::Ablative;
+ cases[5] = QmVocWordFlag::Locative;
+ cases[6] = QmVocWordFlag::Vocative;
for ( int gen = 0; gen <= 2; ++gen)
}
}
-KEduVocDeclension* KEduVocDeclension::fromKVTML2(QDomElement & parent)
+QmVocDeclension* QmVocDeclension::fromKVTML2(QDomElement & parent)
{
QDomElement declensionElement = parent.firstChildElement( KVTML_DECLENSION );
// we don't create empty objects, if necessary, create later on demand.
}
- QMap<int, KEduVocWordFlags> genders;
- genders[0] = KEduVocWordFlag::Masculine;
- genders[1] = KEduVocWordFlag::Feminine;
- genders[2] = KEduVocWordFlag::Neuter;
+ QMap<int, QmVocWordFlags> genders;
+ genders[0] = QmVocWordFlag::Masculine;
+ genders[1] = QmVocWordFlag::Feminine;
+ genders[2] = QmVocWordFlag::Neuter;
- QMap<int, KEduVocWordFlags> numbers;
- numbers[0] = KEduVocWordFlag::Singular;
- numbers[1] = KEduVocWordFlag::Dual;
- numbers[2] = KEduVocWordFlag::Plural;
+ QMap<int, QmVocWordFlags> numbers;
+ numbers[0] = QmVocWordFlag::Singular;
+ numbers[1] = QmVocWordFlag::Dual;
+ numbers[2] = QmVocWordFlag::Plural;
- QMap<int, KEduVocWordFlags> cases;
- cases[0] = KEduVocWordFlag::Nominative;
- cases[1] = KEduVocWordFlag::Genitive;
- cases[2] = KEduVocWordFlag::Dative;
- cases[3] = KEduVocWordFlag::Accusative;
- cases[4] = KEduVocWordFlag::Ablative;
- cases[5] = KEduVocWordFlag::Locative;
- cases[6] = KEduVocWordFlag::Vocative;
+ QMap<int, QmVocWordFlags> cases;
+ cases[0] = QmVocWordFlag::Nominative;
+ cases[1] = QmVocWordFlag::Genitive;
+ cases[2] = QmVocWordFlag::Dative;
+ cases[3] = QmVocWordFlag::Accusative;
+ cases[4] = QmVocWordFlag::Ablative;
+ cases[5] = QmVocWordFlag::Locative;
+ cases[6] = QmVocWordFlag::Vocative;
- KEduVocDeclension* declension = new KEduVocDeclension;
+ QmVocDeclension* declension = new QmVocDeclension;
for ( int gen = 0; gen <= 2; ++gen ) {
QDomElement genderElement = declensionElement.firstChildElement( KVTML_GRAMMATICAL_GENDER[gen] );
for ( int dcase = 0; dcase <= 6; ++dcase) {
QDomElement caseElement = numberElement.firstChildElement( KVTML_DECLENSION_CASE[dcase] );
if (!caseElement.isNull()) {
- KEduVocText text;
+ QmVocText text;
text.fromKVTML2(caseElement);
declension->setDeclension(text, genders[gen] | numbers[num] | cases[dcase]);
}