00001 00002 00003 00004 00005 00006
00007
00008
00009 #ifndef skTREENODEOBJECT_H
00010 #define skTREENODEOBJECT_H
00011
00012 #include "skExecutable.h"
00013 class skTreeNode;
00014 class skMethodTable;
00015
00016 #define TREENODE_TYPE 1
00017
00027 class skTreeNodeObject : public skExecutable
00028 {
00029 public:
00033 skTreeNodeObject();
00040 skTreeNodeObject(const skString& location,skTreeNode * node,bool created);
00044 ~skTreeNodeObject();
00048 int executableType() const;
00052 int intValue() const;
00056 float floatValue() const;
00060 bool boolValue() const;
00064 char charValue() const;
00068 skString strValue() const;
00076 bool setValue(const skString& name,const skString& attribute,const skRValue& value);
00084 bool setValueAt(const skRValue& array_index,const skString& attribute,const skRValue& value);
00089 bool getValue(const skString& name,const skString& attribute,skRValue& v);
00094 bool getValueAt(const skRValue& array_index,const skString& attribute,skRValue& value);
00102 bool method(const skString& name,skRValueArray& args,skRValue& ret);
00106 skTreeNode * getNode();
00110 void setNode(skTreeNode * node);
00114 00118 skString getLocation() const;
00119 protected:
00123 skString m_Location;
00124 private:
00128 skTreeNode * m_Node;
00132 bool m_Created;
00136 skMethodTable * m_MethodCache;
00140 skTreeNodeObject(const skTreeNodeObject&);
00144 skTreeNodeObject& operator=(const skTreeNodeObject&);
00145 };
00146 #endif