summaryrefslogtreecommitdiffstats
path: root/khelpcenter/docentrytraverser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'khelpcenter/docentrytraverser.cpp')
-rw-r--r--khelpcenter/docentrytraverser.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/khelpcenter/docentrytraverser.cpp b/khelpcenter/docentrytraverser.cpp
new file mode 100644
index 000000000..d6335d232
--- /dev/null
+++ b/khelpcenter/docentrytraverser.cpp
@@ -0,0 +1,49 @@
+#include "docmetainfo.h"
+
+#include "docentrytraverser.h"
+
+using namespace KHC;
+
+void DocEntryTraverser::setNotifyee( DocMetaInfo *n )
+{
+ mNotifyee = n;
+}
+
+void DocEntryTraverser::startProcess( DocEntry *entry )
+{
+ process( entry );
+ mNotifyee->endProcess( entry, this );
+}
+
+DocEntryTraverser *DocEntryTraverser::childTraverser( DocEntry *parentEntry )
+{
+ DocEntryTraverser *child = createChild( parentEntry );
+ if (!child)
+ return 0;
+ if ( child != this ) {
+ child->mParent = this;
+ child->mNotifyee = mNotifyee;
+ }
+ return child;
+}
+
+DocEntryTraverser *DocEntryTraverser::parentTraverser()
+{
+ return mParent;
+}
+
+void DocEntryTraverser::deleteTraverser()
+{
+ delete this;
+}
+
+void DocEntryTraverser::setParentEntry( DocEntry *entry )
+{
+ mParentEntry = entry;
+}
+
+DocEntry *DocEntryTraverser::parentEntry()
+{
+ return mParentEntry;
+}
+// vim:ts=2:sw=2:et