MarkedItemsParser.cpp

Go to the documentation of this file.
00001 #include "MarkedItemsParser.h"
00002 
00003 MarkedItemsParser::MarkedItemsParser() 
00004     : markedFolderIdList( new IdList() ), markedVocabIdList( new IdList() ), markedTermIdListMap( new IdListMap() ) {
00005 }
00006 
00007 bool MarkedItemsParser::startElement( const QString&, const QString&, const QString& qname, const QXmlAttributes& attribs ) {
00008     if( qname == QString( "folders" ) ) {
00009         QStringList folderIdList( QStringList::split( QString( "," ), attribs.value( QString( "ids" ) ) ) );
00010         for( QStringList::ConstIterator it = folderIdList.begin(); it != folderIdList.end(); it++ ) {
00011             bool isIdValid;
00012             int folderId = (*it).toInt( &isIdValid, 10 );
00013             if( isIdValid )        
00014                 markedFolderIdList->append( folderId );
00015         }
00016     }
00017     else if( qname == QString( "glossaries" ) ) {
00018         QStringList vocabIdList( QStringList::split( QString( "," ), attribs.value( QString( "ids" ) ) ) );
00019         for( QStringList::ConstIterator it = vocabIdList.begin(); it != vocabIdList.end(); it++ ) {
00020             bool isIdValid;
00021             int vocabId = (*it).toInt( &isIdValid, 10 );
00022             if( isIdValid )        
00023                 markedVocabIdList->append( vocabId );
00024         }
00025     }
00026     else if( qname == QString( "terms" ) ) {
00027         QStringList termIdList( QStringList::split( QString( "," ), attribs.value( QString( "ids" ) ) ) );
00028         bool isVocabIdValid;
00029         int vocabId = attribs.value( QString( "glossId" ) ).toInt( &isVocabIdValid, 10 );
00030         if( isVocabIdValid ) {
00031             IdList* markedTermIdList = new IdList();
00032             for( QStringList::ConstIterator it = termIdList.begin(); it != termIdList.end(); it++ ) {
00033                 bool isIdValid;
00034                 int termId = (*it).toInt( &isIdValid, 10 );
00035                 if( isIdValid )        
00036                     markedTermIdList->append( termId );
00037             }
00038             markedTermIdListMap->insert( vocabId, *markedTermIdList );
00039         }
00040     }
00041     return( TRUE );
00042 }
00043 
00044 IdList* MarkedItemsParser::getMarkedFolders() const {
00045     return( markedFolderIdList );
00046 }
00047 
00048 IdList* MarkedItemsParser::getMarkedVocabs() const {
00049     return( markedVocabIdList );
00050 }
00051 
00052 IdListMap* MarkedItemsParser::getMarkedTerms() const {
00053     return( markedTermIdListMap );
00054 }

Generated on Sun Mar 1 17:30:47 2009 for toMOTko by  doxygen 1.5.6