00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef TREENODEOBJECTENUMERATOR_H
00022 #define TREENODEOBJECTENUMERATOR_H
00023
00024 #include "skExecutable.h"
00025 #include "skExecutableIterator.h"
00026 #include "skTreeNode.h"
00027
00028 class CLASSEXPORT skTreeNodeObject;
00029
00034 class CLASSEXPORT skTreeNodeObjectEnumerator : public skExecutable, public skExecutableIterator{
00035 public:
00039 IMPORT_C skTreeNodeObjectEnumerator(skTreeNodeObject * obj,const skString& location);
00043 IMPORT_C skTreeNodeObjectEnumerator(skTreeNodeObject * obj,const skString& location,const skString& tag);
00047 virtual ~skTreeNodeObjectEnumerator();
00058 virtual bool method(const skString& s,skRValueArray& args,skRValue& r,skExecutableContext& ctxt);
00063 virtual bool next(skRValue&);
00064 private:
00065 void findNextNode();
00066
00067 skString m_Tag;
00068 skTreeNodeListIterator m_Iter;
00069 skTreeNode * m_CurrentNode;
00070 skString m_Location;
00071 skTreeNodeObject * m_Object;
00072 };
00073 #endif