AxisModelXML.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*- */
2 
14 #ifndef _AxisModelXML_H_
15 #define _AxisModelXML_H_
16 
17 #include "BaseXML.h"
18 
19 #include "axes/AxesType.h"
20 
21 namespace hippodraw {
22 
23 class AxisModelBase;
24 class AxisTickXML;
25 
31 class MDL_HIPPOPLOT_API AxisModelXML : virtual public BaseXML
32 {
33 
34 private:
35 
38 
42 
44  std::string m_autorange;
45 
47  std::string m_low;
48 
50  std::string m_high;
51 
53  std::string m_scale_factor;
54 
56  std::string m_log;
57 
61  std::string m_auto_tick;
62 
64  AxisModelXML ( const AxisModelXML & );
65 
68  void createChildren ( XmlElement &, const AxisModelBase & );
69 
72  void createChildren ( const XmlElement * element, AxisModelBase * model );
73 
74 public:
75 
78  AxisModelXML ( XmlController * controller );
79 
82  ~AxisModelXML ();
83 
86  void setAttributes ( XmlElement & tag, const AxisModelBase & plotter );
87 
90  void setAttributes ( AxisModelBase * model, const XmlElement * element );
91 
93  hippodraw::Axes::Type getAxis ( const XmlElement * element,
94  const std::string & tagname );
95 
98  bool isLog ( const XmlElement * element );
99 
100 };
101 
102 } // namespace hippodraw
103 
104 #endif // _AxisModelXML_H_
std::string m_autorange
The auto ranging attribute name.
Definition: AxisModelXML.h:44
#define MDL_HIPPOPLOT_API
Definition: libhippo.h:36
std::string m_log
The attribute name for axis model that is logarithmic.
Definition: AxisModelXML.h:56
A class that is does XML serialization and de-serialization of derived classes of AxisModelBase with ...
Definition: AxisModelXML.h:31
BaseXML class interface.
std::string m_low
The low end of Range attribute name.
Definition: AxisModelXML.h:47
A pure virtual base class of XML element wrapper.
Definition: XmlElement.h:30
std::string m_scale_factor
the scale factor attribute name.
Definition: AxisModelXML.h:53
The AxisModelBase class maintains the Range and scaling of an axis.
Definition: AxisModelBase.h:33
AxisTickXML * m_axistick_xml
The AxisTick XML handler.
Definition: AxisModelXML.h:41
std::string m_high
The high end of Range attribute name.
Definition: AxisModelXML.h:50
The namespace for axes.
static AxisModelXML * s_instance
The pointer to the singleton object.
Definition: AxisModelXML.h:37
std::string m_auto_tick
The attribute name for axis model that wants auto tick generation.
Definition: AxisModelXML.h:61
A base class of XML element controllers.
Definition: BaseXML.h:35
A class that is does XML serialization and de-serialization of AxisTick with XML. ...
Definition: AxisTickXML.h:28
A base class that is the interface between GUI and the XML serialization and deserialization.
Definition: XmlController.h:53
Type
Axes constants.
Definition: AxesType.h:31

Generated for HippoDraw Class Library by doxygen