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();
00060 virtual bool method(const skString& s,skRValueArray& args,skRValue& r,skExecutableContext& ctxt);
00065 virtual bool next(skRValue&);
00066 private:
00067 void findNextNode();
00068
00069 skString m_Tag;
00070 skTreeNodeListIterator m_Iter;
00071 skTreeNode * m_CurrentNode;
00072 skString m_Location;
00073 skTreeNodeObject * m_Object;
00074 };
00075 #endif