/*************************************************************************** Copyright 2008 Avgoustinos Kadis ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #include "container.h" namespace Scripting { Container::Container ( KEduVocContainer * container ) : QObject(), m_container ( container ) { } // Container::Container ( const QString& name, EnumContainerType type, KEduVocContainer *parent = 0 ) // : QObject() // { // m_container = new KEduVocContainer ( name,type,parent ); // } // Container::Container ( const Container &other ) // : QObject() // { // m_container = new KEduVocLesson ( other.kEduVocLesson() ); // } Container::~Container() { } bool Container::enumToBool ( KEduVocContainer::EnumEntriesRecursive recursive ) { if ( recursive == KEduVocContainer::Recursive ) return true; return false; } KEduVocContainer::EnumEntriesRecursive Container::boolToEnum ( bool recursive ) { if ( recursive ) return KEduVocContainer::Recursive; return KEduVocContainer::NotRecursive; } QVariantList Container::childContainers() { return toVariantList ( m_container->childContainers() ); } QList Container::flattenContainer ( KEduVocContainer * root ) { QList list; if ( root ) { list << root; foreach ( KEduVocContainer * child, root->childContainers() ) list += flattenContainer ( child ); } return list; } KEduVocContainer * Container::findContainer ( const QString& name ) { QList list = flattenContainer(m_container); foreach (KEduVocContainer * container, list) if (container->name() == name) return container; return 0; } }