00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef skTREENODEOBJECT_H
00024 #define skTREENODEOBJECT_H
00025
00026 #include "skExecutable.h"
00027 class CLASSEXPORT skTreeNode;
00028 class CLASSEXPORT skMethodTable;
00029
00030 #define TREENODE_TYPE 1
00031
00042 class CLASSEXPORT skTreeNodeObject : public skExecutable
00043 {
00044 public:
00048 IMPORT_C skTreeNodeObject();
00055 IMPORT_C skTreeNodeObject(const skString& location,skTreeNode * node,bool created);
00059 virtual IMPORT_C ~skTreeNodeObject();
00063 virtual IMPORT_C int executableType() const;
00067 virtual IMPORT_C int intValue() const;
00068 #ifdef USE_FLOATING_POINT
00069
00072 virtual IMPORT_C float floatValue() const;
00073 #endif
00074
00077 virtual IMPORT_C bool boolValue() const;
00081 virtual IMPORT_C Char charValue() const;
00085 virtual IMPORT_C skString strValue() const;
00095 virtual IMPORT_C bool setValue(const skString& name,const skString& attribute,const skRValue& value);
00105 virtual IMPORT_C bool setValueAt(const skRValue& array_index,const skString& attribute,const skRValue& value);
00112 virtual IMPORT_C bool getValue(const skString& name,const skString& attribute,skRValue& v);
00119 virtual IMPORT_C bool getValueAt(const skRValue& array_index,const skString& attribute,skRValue& value);
00129 virtual IMPORT_C bool method(const skString& name,skRValueArray& args,skRValue& ret,skExecutableContext& ctxt);
00133 IMPORT_C skTreeNode * getNode();
00137 IMPORT_C void setNode(const skString& location,skTreeNode * node,bool created);
00138 #ifdef __SYMBIAN32__
00139
00144 IMPORT_C void setNode(const TDesC& location,skTreeNode * node,bool created);
00145 #endif
00146
00149 virtual IMPORT_C bool equals(const skiExecutable * o) const;
00153 IMPORT_C skString getLocation() const;
00159 virtual IMPORT_C skExecutableIterator * createIterator(const skString& qualifier);
00164 virtual IMPORT_C skExecutableIterator * createIterator();
00169 virtual IMPORT_C skString getSource(const skString& location);
00175 virtual IMPORT_C void getInstanceVariables(skRValueTable& table);
00179 IMPORT_C void setAddIfNotPresent(bool enable);
00183 IMPORT_C bool getAddIfNotPresent();
00184 protected:
00185 friend class skTreeNodeObjectEnumerator;
00193 virtual IMPORT_C skTreeNodeObject * createTreeNodeObject(const skString& location,skTreeNode * node,bool created);
00197 skString m_Location;
00198 private:
00202 skTreeNode * m_Node;
00206 bool m_Created;
00210 skMethodTable * m_MethodCache;
00215 bool m_AddIfNotPresent;
00219 skTreeNodeObject(const skTreeNodeObject&);
00223 skTreeNodeObject& operator=(const skTreeNodeObject&);
00224 };
00225 #endif