00001 /* -*- mode: c++ -*- */ 00002 00014 #ifndef _AxisModelXML_H_ 00015 #define _AxisModelXML_H_ 00016 00017 #include "BaseXML.h" 00018 00019 #include "axes/AxesType.h" 00020 00021 class AxisModelBase; 00022 class AxisTickXML; 00023 00029 class MDL_HIPPOPLOT_API AxisModelXML : virtual public BaseXML 00030 { 00031 00032 private: 00033 00035 static AxisModelXML * s_instance; 00036 00039 AxisTickXML * m_axistick_xml; 00040 00042 std::string m_autorange; 00043 00045 std::string m_low; 00046 00048 std::string m_high; 00049 00051 std::string m_scale_factor; 00052 00054 std::string m_log; 00055 00059 std::string m_auto_tick; 00060 00062 AxisModelXML ( const AxisModelXML & ); 00063 00066 void createChildren ( XmlElement &, const AxisModelBase & ); 00067 00070 void createChildren ( const XmlElement * element, AxisModelBase * model ); 00071 00072 public: 00073 00076 AxisModelXML ( XmlController * controller ); 00077 00080 void setAttributes ( XmlElement & tag, const AxisModelBase & plotter ); 00081 00084 void setAttributes ( AxisModelBase * model, const XmlElement * element ); 00085 00087 hippodraw::Axes::Type getAxis ( const XmlElement * element, 00088 const std::string & tagname ); 00089 00092 bool isLog ( const XmlElement * element ); 00093 00094 }; 00095 00096 #endif // _AxisModelXML_H_