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 #include <qdom.h>
00031
00032 using std::list;
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 ~QtXmlElement ();
00064
00065 virtual int getID () const;
00066 XmlElement * create () const;
00067
00068 virtual std::string tagName () const;
00069
00070 #ifdef CLONE_DEFECT
00071 virtual XmlElement * getNode ( const std::string & tagName ) const;
00072 #else
00073 virtual QtXmlElement * getNode ( const std::string & tagName ) const;
00074 #endif
00075 virtual void fillNodeList ( const std::string & tagName,
00076 std::list < XmlElement * > & nodeList ) const;
00077
00078 virtual void setAttribute ( const std::string & name, int value );
00079 virtual void setAttribute ( const std::string & name, bool value );
00080 virtual void setAttribute ( const std::string & name, unsigned int value );
00081 virtual void setAttribute ( const std::string & name, float value );
00082 virtual void setAttribute ( const std::string & name, double value );
00083 virtual void setAttribute ( const std::string & name,
00084 const std::string & value );
00085
00086 virtual bool attribute ( const std::string & name,
00087 bool & value ) const;
00088
00089 virtual bool attribute ( const std::string & name,
00090 int & value ) const;
00091
00092 virtual bool attribute ( const std::string & name,
00093 unsigned int & value ) const;
00094
00095 virtual bool attribute ( const std::string & name,
00096 float & value ) const;
00097
00098 virtual bool attribute ( const std::string & name,
00099 double & value ) const;
00100
00101 virtual bool attribute ( const std::string & name,
00102 std::string & value ) const;
00103
00104 virtual const std::string & getText () const;
00105
00106 };
00107
00108 #endif // _QtXmlElement_H_