child lessons is a breeze. Disabled because it's horribly slow.
As soon as lessons keep track of their child lesson entries this will
come at reasonable speed.
svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=760410
QList< KEduVocExpression * > KEduVocContainer::entriesRecursive()
{
- QList< KEduVocExpression * > entryList = entries();
+ QList< KEduVocExpression * > entryList = entries(NotRecursive);
foreach(KEduVocContainer *childContainer, d->m_childContainers) {
foreach(KEduVocExpression *childEntry, childContainer->entriesRecursive()) {
if(!entryList.contains(childEntry)) {
/** get a list of all entries in the container */
virtual QList < KEduVocExpression* > entries(EnumEntriesRecursive recursive = NotRecursive) =0;
virtual int entryCount(EnumEntriesRecursive recursive = NotRecursive) =0;
- virtual KEduVocExpression* entry(int row) =0;
+ virtual KEduVocExpression* entry(int row, EnumEntriesRecursive recursive = NotRecursive) =0;
/**
* Removes a translation. This has to be called when a language is removed from a document.
entry->removeLesson(this);
}
-KEduVocExpression * KEduVocLesson::entry(int row)
+KEduVocExpression * KEduVocLesson::entry(int row, EnumEntriesRecursive recursive)
{
+ if (recursive == Recursive) {
+ return entriesRecursive().value(row);
+ }
return d->m_entries.value(row);
}
KEduVocLesson& operator= ( const KEduVocLesson& );
- KEduVocExpression* entry(int row);
+ KEduVocExpression* entry(int row, EnumEntriesRecursive recursive = NotRecursive);
/** get a list of all entries in the lesson */
QList < KEduVocExpression* > entries(EnumEntriesRecursive recursive = NotRecursive);
KEduVocTranslation * KEduVocWordType::translation(int row)
{
+
return d->m_translations.value(row);
}
-KEduVocExpression * KEduVocWordType::entry(int row)
+KEduVocExpression * KEduVocWordType::entry(int row, EnumEntriesRecursive recursive)
{
+ if (recursive == Recursive) {
+ return entriesRecursive().value(row);
+ }
return entries().value(row);
}
*/
QList < KEduVocExpression* > entries(EnumEntriesRecursive recursive = NotRecursive);
- KEduVocExpression* entry(int row);
+ KEduVocExpression* entry(int row, EnumEntriesRecursive recursive = NotRecursive);
/** get the number of entries in the lesson */
int entryCount(EnumEntriesRecursive recursive = NotRecursive);