00001
00002
00014 #ifndef _QtXmlElement_H_
00015 #define _QtXmlElement_H_
00016
00017 #ifdef _MSC_VER
00018 # pragma warning (disable : 4250) // inherits via dominance
00019 #endif
00020
00021
00022 #ifdef _MSC_VER
00023 #include "msdevstudio/MSconfig.h"
00024 #endif
00025
00026 #include "QtXmlNode.h"
00027
00028 #include "xml/XmlElement.h"
00029
00030 using std::list;
00031
00032 namespace hippodraw {
00033
00038 class MDL_QTHIPPOPLOT_API QtXmlElement : public XmlElement, public QtXmlNode
00039 {
00040
00041 private:
00042
00049 QDomElement m_element;
00050
00052 QtXmlElement ( const QDomElement & );
00053
00054 public:
00055
00056 friend class QtXmlDocument;
00057
00059 QtXmlElement ( const QtXmlElement & );
00060
00063 virtual ~QtXmlElement ();
00064
00065 virtual int getID () const;
00066
00067 XmlElement * create () const;
00068
00069 virtual std::string tagName () const;
00070
00071 #ifdef CLONE_DEFECT
00072 virtual XmlElement * getNode ( const std::string & tagName ) const;
00073 #else
00074 virtual QtXmlElement * getNode ( const std::string & tagName ) const;
00075 #endif
00076 virtual void fillNodeList ( const std::string & tagName,
00077 std::list < XmlElement * > & nodeList ) const;
00078
00079 virtual void setAttribute ( const std::string & name, int value );
00080 virtual void setAttribute ( const std::string & name, bool value );
00081 virtual void setAttribute ( const std::string & name, unsigned int value );
00082 virtual void setAttribute ( const std::string & name, float value );
00083 virtual void setAttribute ( const std::string & name, double value );
00084 virtual void setAttribute ( const std::string & name,
00085 const std::string & value );
00086
00087 virtual bool attribute ( const std::string & name,
00088 bool & value ) const;
00089
00090 virtual bool attribute ( const std::string & name,
00091 int & value ) const;
00092
00093 virtual bool attribute ( const std::string & name,
00094 unsigned int & value ) const;
00095
00096 virtual bool attribute ( const std::string & name,
00097 float & value ) const;
00098
00099 virtual bool attribute ( const std::string & name,
00100 double & value ) const;
00101
00102 virtual bool attribute ( const std::string & name,
00103 std::string & value ) const;
00104
00105 virtual const std::string & getText () const;
00106
00107 };
00108
00109 }
00110
00111 #endif // _QtXmlElement_H_