00001 /* -*- mode: c++ -*- */ 00002 00017 #ifndef _DataRepXML_H_ 00018 #define _DataRepXML_H_ 00019 00020 #include "BaseXML.h" 00021 00022 namespace hippodraw { 00023 00024 class BinningProjector; 00025 class BinningProjectorXML; 00026 class DataRep; 00027 class FunctionProjector; 00028 class FunctionProjectorXML; 00029 class MapMatrixProjector; 00030 class MapMatrixProjectorXML; 00031 class NTupleProjector; 00032 class NTupleProjectorXML; 00033 class PointRepXML; 00034 class TextDataRep; 00035 00046 class MDL_HIPPOPLOT_API DataRepXML : public BaseXML 00047 { 00048 00049 private: 00050 00052 PointRepXML * m_pointrep; 00053 00055 NTupleProjectorXML * m_nTupleProjector; 00056 00058 BinningProjectorXML * m_binningProjectorXML; 00059 00061 FunctionProjectorXML * m_functionProjector; 00062 00065 MapMatrixProjectorXML * m_mapMatrixProjectorXML; 00066 00068 std::string m_contours; 00069 00071 void createChildren ( XmlElement & tag, const hippodraw::DataRep & rep ); 00072 00075 void createChildren ( XmlElement & tag, 00076 const NTupleProjector * projector ); 00077 00080 void createChildren ( XmlElement & tag, 00081 const BinningProjector * projector ); 00082 00086 void createChildren ( XmlElement & tag, 00087 const MapMatrixProjector * projector ); 00088 00091 void createChildren ( XmlElement & tag, 00092 const FunctionProjector * projector ); 00093 00095 void createFunctionTargetChild ( XmlElement & tag, 00096 const hippodraw::DataRep & rep ); 00097 00101 hippodraw::DataRep * createDataRep ( const XmlElement * element ); 00102 00108 hippodraw::DataRep * createDataRep ( const XmlElement * dr_element, 00109 const XmlElement * ntp_element ); 00110 00114 hippodraw::DataRep * getTextRepObject ( const XmlElement * ); 00115 00116 public: 00117 00119 DataRepXML ( XmlController * ); 00120 00123 ~DataRepXML (); 00124 00126 XmlElement * createElement ( const hippodraw::DataRep & rep ); 00127 00129 hippodraw::DataRep * createObject ( const XmlElement * element ); 00130 00131 }; 00132 00133 } // namespace hippodraw 00134 00135 #endif // _DataRepXML_H_