00001
00002
00014 #ifndef _AxisModelXML_H_
00015 #define _AxisModelXML_H_
00016
00017 #include "BaseXML.h"
00018
00019 #include "axes/AxesType.h"
00020
00021 namespace hippodraw {
00022
00023 class AxisModelBase;
00024 class AxisTickXML;
00025
00031 class MDL_HIPPOPLOT_API AxisModelXML : virtual public BaseXML
00032 {
00033
00034 private:
00035
00037 static AxisModelXML * s_instance;
00038
00041 AxisTickXML * m_axistick_xml;
00042
00044 std::string m_autorange;
00045
00047 std::string m_low;
00048
00050 std::string m_high;
00051
00053 std::string m_scale_factor;
00054
00056 std::string m_log;
00057
00061 std::string m_auto_tick;
00062
00064 AxisModelXML ( const AxisModelXML & );
00065
00068 void createChildren ( XmlElement &, const AxisModelBase & );
00069
00072 void createChildren ( const XmlElement * element, AxisModelBase * model );
00073
00074 public:
00075
00078 AxisModelXML ( XmlController * controller );
00079
00082 ~AxisModelXML ();
00083
00086 void setAttributes ( XmlElement & tag, const AxisModelBase & plotter );
00087
00090 void setAttributes ( AxisModelBase * model, const XmlElement * element );
00091
00093 hippodraw::Axes::Type getAxis ( const XmlElement * element,
00094 const std::string & tagname );
00095
00098 bool isLog ( const XmlElement * element );
00099
00100 };
00101
00102 }
00103
00104 #endif // _AxisModelXML_H_