void KEduVocContainer::appendChildContainer(KEduVocContainer * child)
{
d->m_childContainers.append(child);
+ child->d->m_parentContainer = this;
}
KEduVocContainer * KEduVocContainer::childContainer(int row)
}
-void KEduVocContainer::removeChildContainer(int row)
+void KEduVocContainer::deleteChildContainer(int row)
{
kDebug() << "Delete of container - check entry deletion!";
delete d->m_childContainers.takeAt(row);
}
+void KEduVocContainer::removeChildContainer(int row)
+{
+ d->m_childContainers.removeAt(row);
+}
+
int KEduVocContainer::childContainerCount() const
{
return 0;
}
+void KEduVocContainer::insertChildContainer(int row, KEduVocContainer * child)
+{
+ d->m_childContainers.insert(row, child);
+}
+
+
/// @todo let wordtype have only one type and the actual types in a different function
enum EnumContainerType{
Container,
- LessonContainer,
- LeitnerContainer,
- WordTypeContainer,
- WordTypeNounContainer,
- WordTypeNounMaleContainer,
- WordTypeNounFemaleContainer,
- WordTypeNounNeutralContainer,
- WordTypeVerbContainer,
- WordTypeAdjectiveContainer,
- WordTypeAdverbContainer
+ Lesson,
+ WordType,
+ Leitner
};
/** default constructor */
- explicit KEduVocContainer(const QString& name, EnumContainerType type = LessonContainer, KEduVocContainer *parent = 0);
+ explicit KEduVocContainer(const QString& name, EnumContainerType type, KEduVocContainer *parent = 0);
void appendChildContainer(KEduVocContainer *child);
+ void insertChildContainer(int row, KEduVocContainer *child);
+ void deleteChildContainer(int row);
void removeChildContainer(int row);
KEduVocContainer *childContainer(int row);
QStringList m_tenseDescriptions;
QSet<QString> m_usages;
-// use the name of the root lesson as title
-// QString m_title;
+
+ QString m_title;
QString m_author;
QString m_license;
QString m_comment;
delete m_lessonContainer;
}
m_lessonContainer = new KEduVocLesson("root");
- m_lessonContainer->setContainerType(KEduVocLesson::LessonContainer);
+ m_lessonContainer->setContainerType(KEduVocLesson::Lesson);
if ( m_wordTypeContainer ) {
delete m_wordTypeContainer;
}
m_querytrans = "";
m_url.setFileName( i18n( "Untitled" ) );
m_author = "";
+ m_title = "";
m_comment = "";
m_version = "";
m_generator = "";
if ( d->m_lessonContainer->name().isEmpty() )
return d->m_url.fileName();
else
- return d->m_lessonContainer->name();
+ return d->m_title;
}
void KEduVocDocument::setTitle( const QString & title )
{
- d->m_lessonContainer->setName(title.simplified());
+ d->m_title = title;
}
if ( !specialType.isEmpty() ) {
// get the localized version
if ( specialType == KVTML_SPECIALWORDTYPE_NOUN ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeNounContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::Noun);
}
if ( specialType == KVTML_SPECIALWORDTYPE_VERB ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeVerbContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::Verb);
}
if ( specialType == KVTML_SPECIALWORDTYPE_ADVERB ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeAdverbContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::Adverb);
}
if ( specialType == KVTML_SPECIALWORDTYPE_ADJECTIVE ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeAdjectiveContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::Adjective);
}
if ( specialType == KVTML_SPECIALWORDTYPE_NOUN_MALE ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeNounMaleContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::NounMale);
}
if ( specialType == KVTML_SPECIALWORDTYPE_NOUN_FEMALE ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeNounFemaleContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::NounFemale);
}
if ( specialType == KVTML_SPECIALWORDTYPE_NOUN_NEUTRAL ) {
- wordTypeContainer->setContainerType(KEduVocLesson::WordTypeNounNeutralContainer);
+ wordTypeContainer->setWordType(KEduVocWordType::NounNeutral);
}
} // special type
QDomElement typeDefinitionElement = m_domDoc.createElement( KVTML_CONTAINER );
typeDefinitionElement.appendChild( newTextElement( KVTML_NAME, wordType->name() ) );
- switch (wordType->containerType()) {
- case KEduVocLesson::WordTypeNounContainer:
+ switch (wordType->wordType()) {
+ case KEduVocWordType::Noun:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_NOUN ) );
break;
- case KEduVocLesson::WordTypeNounMaleContainer:
+ case KEduVocWordType::NounMale:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_NOUN_MALE ) );
break;
- case KEduVocLesson::WordTypeNounFemaleContainer:
+ case KEduVocWordType::NounFemale:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_NOUN_FEMALE ) );
break;
- case KEduVocLesson::WordTypeNounNeutralContainer:
+ case KEduVocWordType::NounNeutral:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_NOUN_NEUTRAL ) );
break;
- case KEduVocLesson::WordTypeVerbContainer:
+ case KEduVocWordType::Verb:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_VERB ) );
break;
- case KEduVocLesson::WordTypeAdjectiveContainer:
+ case KEduVocWordType::Adjective:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_ADJECTIVE ) );
break;
- case KEduVocLesson::WordTypeAdverbContainer:
+ case KEduVocWordType::Adverb:
typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, KVTML_SPECIALWORDTYPE_ADVERB ) );
break;
default:
}
KEduVocLesson::KEduVocLesson(const QString& name, KEduVocContainer *parent)
- : d( new Private ), KEduVocContainer(name, LessonContainer, parent)
+ : d( new Private ), KEduVocContainer(name, Lesson, parent)
{
}
class KEduVocWordType::Private
{
public:
+ EnumWordType m_wordType;
// entries
QList<KEduVocTranslation*> m_translations;
};
KEduVocWordType::KEduVocWordType(const QString& name, KEduVocWordType *parent)
- : d( new Private ), KEduVocContainer(name, WordTypeContainer, parent)
+ : d( new Private ), KEduVocContainer(name, WordType, parent)
{
+ d->m_wordType = General;
}
KEduVocWordType::KEduVocWordType( const KEduVocWordType &other )
return entries().value(row);
}
+void KEduVocWordType::setWordType(EnumWordType type)
+{
+ d->m_wordType = type;
+}
+
+KEduVocWordType::EnumWordType KEduVocWordType::wordType() const
+{
+ return d->m_wordType;
+}
+
class KEDUVOCDOCUMENT_EXPORT KEduVocWordType :public KEduVocContainer
{
public:
+
+ enum EnumWordType {
+ General,
+ Noun,
+ NounMale,
+ NounFemale,
+ NounNeutral,
+ Verb,
+ Adjective,
+ Adverb
+ };
+
+
/** default constructor */
explicit KEduVocWordType(const QString& name, KEduVocWordType *parent = 0);
/** assignment operator */
KEduVocWordType& operator= ( const KEduVocWordType& );
+ void setWordType(EnumWordType type);
+ KEduVocWordType::EnumWordType wordType() const;
+
+
KEduVocTranslation * translation(int row);
/** get a list of all entries in the lesson */