// A map is too error prone. Lesson order is very important.
QList<KEduVocLesson> m_lessons;
- KEduVocWordType* m_wordTypes;
+ KEduVocWordType m_wordTypes;
LeitnerSystem* m_leitnerSystem;
bool m_activeLeitnerSystem;
m_csvDelimiter = QString( '\t' );
m_activeLeitnerSystem = false;
m_leitnerSystem = NULL;
-
- m_wordTypes = new KEduVocWordType();
}
KEduVocDocument::~KEduVocDocument()
{
- delete d->m_wordTypes;
delete d;
}
}
}
-KEduVocWordType* KEduVocDocument::wordTypes()
+KEduVocWordType& KEduVocDocument::wordTypes()
{
return d->m_wordTypes;
}
*
* @returns the KEduVocWordType* type handling class
*/
- KEduVocWordType* wordTypes();
+ KEduVocWordType& wordTypes();
// *** tense methods ***
// set type and specialtype
mainTypeName =
currentTypeElement.firstChildElement( KVTML_TYPENAME ).text();
- m_doc->wordTypes()->addType( mainTypeName,
+ m_doc->wordTypes().addType( mainTypeName,
currentTypeElement.firstChildElement( KVTML_SPECIALWORDTYPE ).text() );
// iterate sub type elements <subwordtypedefinition>
QDomElement currentSubTypeElement = currentTypeElement.firstChildElement( KVTML_SUBWORDTYPEDEFINITION );
while ( !currentSubTypeElement.isNull() ) {
// set type and specialtype
- m_doc->wordTypes()->addSubType( mainTypeName,
+ m_doc->wordTypes().addSubType( mainTypeName,
currentSubTypeElement.firstChildElement( KVTML_SUBTYPENAME ).text(),
currentSubTypeElement.firstChildElement( KVTML_SPECIALWORDTYPE ).text() );
QDomElement currentElement = typeNodes.item(i).toElement();
if (currentElement.parentNode() == typesElement)
{
- m_doc->wordTypes()->addType(currentElement.text());
+ m_doc->wordTypes().addType(currentElement.text());
}
}*/
// QDomElement currentElement = typeNodes.item(i).toElement();
// if (currentElement.parentNode() == typesElement)
// {
-// m_doc->wordTypes()->addType(currentElement.text());
+// m_doc->wordTypes().addType(currentElement.text());
// }
// }
bool KEduVocKvtml2Writer::writeTypes( QDomElement &typesElement )
{
- KEduVocWordType* wt = m_doc->wordTypes();
- foreach( QString mainTypeName, wt->typeNameList() ) {
+ KEduVocWordType wt = m_doc->wordTypes();
+ foreach( QString mainTypeName, wt.typeNameList() ) {
kDebug() << "Writing type: " << mainTypeName;
QDomElement typeDefinitionElement = m_domDoc.createElement( KVTML_WORDTYPEDEFINITION );
typeDefinitionElement.appendChild( newTextElement( KVTML_TYPENAME, mainTypeName ) );
- if ( !wt->specialType( mainTypeName ).isEmpty() ) {
- typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, wt->specialType( mainTypeName ) ) );
+ if ( !wt.specialType( mainTypeName ).isEmpty() ) {
+ typeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, wt.specialType( mainTypeName ) ) );
}
// subtypes
- foreach( QString subTypeName, wt->subTypeNameList( mainTypeName ) ) {
+ foreach( QString subTypeName, wt.subTypeNameList( mainTypeName ) ) {
QDomElement subTypeDefinitionElement = m_domDoc.createElement( KVTML_SUBWORDTYPEDEFINITION );
subTypeDefinitionElement.appendChild( newTextElement( KVTML_SUBTYPENAME, subTypeName ) );
- if ( !wt->specialSubType( mainTypeName, subTypeName ).isEmpty() ) {
- subTypeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, wt->specialSubType( mainTypeName, subTypeName ) ) );
+ if ( !wt.specialSubType( mainTypeName, subTypeName ).isEmpty() ) {
+ subTypeDefinitionElement.appendChild( newTextElement( KVTML_SPECIALWORDTYPE, wt.specialSubType( mainTypeName, subTypeName ) ) );
}
typeDefinitionElement.appendChild( subTypeDefinitionElement );
}
}
// initialize the list of predefined types
- m_doc->wordTypes()->createDefaultWordTypes();
+ m_doc->wordTypes().createDefaultWordTypes();
currentElement = domElementParent.firstChildElement( KV_TYPE_GRP );
if ( !currentElement.isNull() ) {
result = readType( currentElement );
kDebug() << "Adding old self defined type: " << currentElement.text();
// add the type to the list of available types
- m_doc->wordTypes()->addType( currentElement.text() );
+ m_doc->wordTypes().addType( currentElement.text() );
// from this the #1 are transformed to something sensible again
m_oldSelfDefinedTypes.append( currentElement.text() );