PlotterBaseXML.h

Go to the documentation of this file.
00001 /* -*- mode: c++ -*- */
00002 
00014 #ifndef _PlotterBaseXML_H_
00015 #define _PlotterBaseXML_H_
00016 
00017 #include "BaseXML.h"
00018 
00019 #include "axes/AxesType.h"
00020 
00021 namespace hippodraw {
00022 
00023 class DataRep;
00024 class AxisModelXML;
00025 class CutPlotter;
00026 class DataRepXML;
00027 class FontXML;
00028 class PlotterBase;
00029 class PointRepXML;
00030 class TextPlotter;
00031 class TransformXML;
00032 class TupleCutXML;
00033 class XyPlotter;
00034 
00041 class MDL_HIPPOPLOT_API PlotterBaseXML : public BaseXML
00042 {
00043 
00044 private:
00045 
00047   static PlotterBaseXML * s_instance;
00048 
00050   AxisModelXML * m_axismodel;
00051 
00053   DataRepXML * m_datarep;
00054 
00056   PointRepXML * m_pointrep;
00057 
00059   TransformXML * m_transform_xml;
00060 
00062   TupleCutXML * m_tuple_cut_xml;
00063 
00065   FontXML * m_font;
00066 
00070   std::string m_axis;
00071 
00074   std::string m_title;
00075 
00078   std::string m_x_label;
00079 
00082   std::string m_y_label;
00083 
00086   std::string m_z_label;
00087 
00091   std::string m_pindex;
00092 
00094   PlotterBaseXML ( const PlotterBaseXML & );
00095 
00097   void createAxisModel ( XmlElement &, const PlotterBase &, 
00098                          hippodraw::Axes::Type axis );
00099 
00101   void createAxisModels ( const XmlElement * element, PlotterBase * plotter );
00102 
00105   void createFontElements ( XmlElement & tag, const XyPlotter & plotter );
00106 
00109   void createFontElement ( XmlElement & tag,
00110                            const XyPlotter & plotter,
00111                            hippodraw::Axes::Type axis );
00112 
00114   void createChildren ( XmlElement &, const PlotterBase & );
00115 
00119   void createCutChildren ( XmlElement &, const CutPlotter & plotter );
00120 
00124   void createTextChildren ( XmlElement &, const TextPlotter & plotter );
00125 
00127   PlotterBase * createPlotter ( const XmlElement * element );
00128 
00131   void handleCutPlotter ( const XmlElement * element, 
00132                           CutPlotter * plotter );
00133 
00135   void handleFunction ( const XmlElement * element,
00136                         hippodraw::DataRep * rep );
00137 
00140   int handleTextPlotter ( const XmlElement * element, TextPlotter * plotter );
00141 
00144   void getCutTargets ( const XmlElement * element, CutPlotter * plotter );
00145 
00146 protected:
00147 
00149   PlotterBaseXML ( const std::string &, XmlController * controller );
00150 
00153   void createFontObjects ( const XmlElement *, PlotterBase * plotter );
00154 
00155 public:
00156 
00159   PlotterBaseXML ( XmlController * controller );
00160 
00163   ~PlotterBaseXML ();
00164 
00167   bool areDataSourcesSaved ( const PlotterBase & plotter );
00168 
00171   XmlElement * createElement ( const PlotterBase & plotter );
00172 
00174   virtual PlotterBase *  getObject ( const XmlElement * element );
00175 
00176 };
00177 
00178 } // namespace hippodraw
00179 
00180 #endif // _PlotterBaseXML_H_

Generated for HippoDraw Class Library by doxygen