00001 #ifndef gHTML_HATTR_X_H 00002 #define gHTML_HATTR_X_H 00003 00004 #include "glistext.h" 00005 #include "gcontrol.h" 00006 #include "gHtmlHATypes.h" 00007 //////////////////////////////////////////////////////////// 00008 class gHAttrValue : public gString { 00009 // Contains a pair: 'string Left value (the DTD attribute name)' and the value itself. 00010 public: 00011 gHAttrValue (char* strL, gHAType* pValue) ; 00012 virtual ~gHAttrValue () ; 00013 00014 virtual gHAType& GetValue () ; 00015 virtual gHAType* GetValuePtr () ; 00016 00017 protected: 00018 gHAType* valuePtr; // never allocated here 00019 00020 private: 00021 // Operators,empty 00022 gHAttrValue (gHAttrValue& ) ; //empty 00023 gHAttrValue& operator= (gHAttrValue& ) ; //empty 00024 }; 00025 //////////////////////////////////////////////////////////// 00026 class gHAttrs : public gList { 00027 public: 00028 gHAttrs () ; 00029 virtual ~gHAttrs () ; 00030 00031 // Get methods 00032 virtual bool IsOk () ; 00033 00034 virtual gHAttrValue& GetAttrValue (unsigned idx) ; 00035 virtual gHAttrValue* GetAttrValuePtr (unsigned idx) ; 00036 00037 virtual gHAType& GetAttr (unsigned idx) ; 00038 virtual gHAType* GetAttrPtr (unsigned idx) ; 00039 00040 sHAttrType* TypeName2HAttrType (char* strType) ; 00041 int TypeEnumToSmartL (sHAttrType* pAttrType, gSmartList& lEnumResult) ; 00042 00043 // Set methods 00044 virtual void Reset () ; 00045 00046 virtual int BuildFromLRLists (char* strTag, gList& lLVal, gList& lRVal, bool addOnError, unsigned iLine) ; 00047 00048 // Special methods 00049 virtual gHAType* NewType (char* strValue, sHAttrType* hAttrType) ; 00050 00051 // Show methods 00052 virtual void Show (bool doShowAll=true) ; 00053 00054 private: 00055 // Operators,empty 00056 gHAttrs (gHAttrs& ) ; //empty 00057 gHAttrs& operator= (gHAttrs& ) ; //empty 00058 }; 00059 //////////////////////////////////////////////////////////// 00060 #endif //gHTML_HATTR_X_H 00061