00001 /* 00002 Copyright 1996-2000 00003 Simon Whiteside 00004 00005 * $Id: skTreeNodeObject.h-source.html,v 1.1 2001/03/05 16:22:46 sdw Exp $ 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 00021 class skTreeNodeObject : public skExecutable 00022 { 00023 public: 00027 skTreeNodeObject(); 00034 skTreeNodeObject(const skString& location,skTreeNode * node,bool created); 00038 ~skTreeNodeObject(); 00042 int executableType() const; 00046 int intValue() const; 00050 float floatValue() const; 00054 bool boolValue() const; 00058 char charValue() const; 00062 skString strValue() const; 00070 bool setValue(const skString& name,const skString& attribute,const skRValue& value); 00075 bool getValue(const skString& name,const skString& attribute,skRValue& v); 00083 bool method(const skString& name,skRValueArray& args,skRValue& ret); 00087 skTreeNode * getNode(); 00091 void setNode(skTreeNode * node); 00095 // bool equals(skExecutable * o) const; 00099 skString getLocation() const; 00100 protected: 00104 skString m_Location; 00105 private: 00109 skTreeNode * m_Node; 00113 bool m_Created; 00117 skMethodTable * m_MethodCache; 00121 skTreeNodeObject(const skTreeNodeObject&); 00125 skTreeNodeObject& operator=(const skTreeNodeObject&); 00126 }; 00127 #endif