|
|
|
#include <tqstringlist.h>
|
|
|
|
|
|
|
|
#include <tdeaboutdata.h>
|
|
|
|
#include <tdeapplication.h>
|
|
|
|
#include <kdebug.h>
|
|
|
|
#include <tdelocale.h>
|
|
|
|
#include <tdecmdlineargs.h>
|
|
|
|
|
|
|
|
#include "docmetainfo.h"
|
|
|
|
#include "docentrytraverser.h"
|
|
|
|
|
|
|
|
using namespace KHC;
|
|
|
|
|
|
|
|
class MyTraverser : public DocEntryTraverser
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
MyTraverser( const TQString &indent = "" ) : mIndent( indent ) {}
|
|
|
|
|
|
|
|
void process( DocEntry *entry )
|
|
|
|
{
|
|
|
|
kdDebug() << mIndent << entry->name() << " - WEIGHT: " << entry->weight()
|
|
|
|
<< endl;
|
|
|
|
#if 0
|
|
|
|
if ( entry->parent() ) kdDebug() << mIndent << " PARENT: "
|
|
|
|
<< entry->parent()->name() << endl;
|
|
|
|
if ( entry->nextSibling() ) kdDebug() << mIndent << " NEXT: "
|
|
|
|
<< entry->nextSibling()->name() << endl;
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
DocEntryTraverser *createChild( DocEntry * )
|
|
|
|
{
|
|
|
|
return new MyTraverser( mIndent + " " );
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
TQString mIndent;
|
|
|
|
};
|
|
|
|
|
|
|
|
class LinearTraverser : public DocEntryTraverser
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
void process( DocEntry *entry )
|
|
|
|
{
|
|
|
|
kdDebug() << "PROCESS: " << entry->name() << endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
DocEntryTraverser *createChild( DocEntry * )
|
|
|
|
{
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
DocEntryTraverser *parentTraverser()
|
|
|
|
{
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
|
|
|
|
void deleteTraverser() {}
|
|
|
|
};
|
|
|
|
|
|
|
|
class AsyncTraverser : public DocEntryTraverser
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
AsyncTraverser( const TQString &indent = "" ) : mIndent( indent )
|
|
|
|
{
|
|
|
|
// kdDebug() << "AsyncTraverser()" << endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
~AsyncTraverser()
|
|
|
|
{
|
|
|
|
// kdDebug() << "~AsyncTraverser()" << endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
void process( DocEntry *entry )
|
|
|
|
{
|
|
|
|
kdDebug() << mIndent << entry->name() << endl;
|
|
|
|
}
|
|
|
|
|
|
|
|
DocEntryTraverser *createChild( DocEntry * )
|
|
|
|
{
|
|
|
|
// kdDebug() << "AsyncTraverser::childTraverser()" << endl;
|
|
|
|
return new AsyncTraverser( mIndent + " " );
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
TQString mIndent;
|
|
|
|
};
|
|
|
|
|
|
|
|
int main(int argc,char **argv)
|
|
|
|
{
|
|
|
|
TDEAboutData aboutData("testmetainfo","TestDocMetaInfo","0.1");
|
|
|
|
TDECmdLineArgs::init(argc,argv,&aboutData);
|
|
|
|
|
|
|
|
TDEApplication app;
|
|
|
|
|
|
|
|
kdDebug() << "Scanning Meta Info" << endl;
|
|
|
|
|
|
|
|
TQStringList langs;
|
|
|
|
langs << "en";
|
|
|
|
// langs << "de";
|
|
|
|
|
|
|
|
DocMetaInfo::self()->scanMetaInfo( langs );
|
|
|
|
|
|
|
|
kdDebug() << "My TRAVERSE start" << endl;
|
|
|
|
MyTraverser t;
|
|
|
|
DocMetaInfo::self()->startTraverseEntries( &t );
|
|
|
|
kdDebug() << "My TRAVERSE end" << endl;
|
|
|
|
|
|
|
|
kdDebug() << "Linear TRAVERSE start" << endl;
|
|
|
|
LinearTraverser l;
|
|
|
|
DocMetaInfo::self()->startTraverseEntries( &l );
|
|
|
|
kdDebug() << "Linear TRAVERSE end" << endl;
|
|
|
|
|
|
|
|
kdDebug() << "Async TRAVERSE start" << endl;
|
|
|
|
AsyncTraverser a;
|
|
|
|
DocMetaInfo::self()->startTraverseEntries( &a );
|
|
|
|
kdDebug() << "Async TRAVERSE end" << endl;
|
|
|
|
}
|