A class that is does XML serialization and de-serialization of derived classes of AxisModelBase with XML. More...
#include <AxisModelXML.h>
Public Member Functions | |
AxisModelXML (XmlController *controller) | |
The only public constructor. | |
XmlElement * | createElement () |
Creates a new element node. | |
void | fillNodeList (const XmlElement *element, std::list< XmlElement * > &nodelist) |
Fills the nodelist with immediate child nodes of element with nodes that can be handled by this object. | |
hippodraw::Axes::Type | getAxis (const XmlElement *element, const std::string &tagname) |
Returns the Axis attribute value. | |
const XmlElement * | getNode (const XmlElement *element) const |
Returns the single child node of element of the type that can be handled by this object. | |
bool | isLog (const XmlElement *element) |
Returns true if the element represents an axis model that is on a logarithmic scale. | |
void | setAttributes (XmlElement &tag, const AxisModelBase &plotter) |
Sets the attributes of the XmlElement tag from information in the AxisModel object plotter. | |
void | setAttributes (AxisModelBase *model, const XmlElement *element) |
Sets the attributes of the AxisModel object plotter from the information in the XmlElement element. | |
virtual const std::string & | tagName () const |
Returns the tag name used by this class. | |
~AxisModelXML () | |
The destructor. |
Protected Types | |
typedef std::list< XmlElement * > | NodeList_t |
The container type for element nodes. |
Protected Member Functions | |
void | setId (XmlElement &tag, int id) |
Sets the unique identification of the object. |
Protected Attributes | |
XmlController * | m_controller |
The singleton XML controller object. | |
const std::string | m_id |
The attribute name for the identification of the object. | |
const std::string | m_tagname |
The tag name used for elements created by this class. | |
const std::string | m_type |
The attribute name for the type of object. |
Private Member Functions | |
AxisModelXML (const AxisModelXML &) | |
A private copy constructor in order to avoid copying. | |
void | createChildren (XmlElement &, const AxisModelBase &) |
Creates the children elements. | |
void | createChildren (const XmlElement *element, AxisModelBase *model) |
Creates the children objects. |
Private Attributes | |
std::string | m_auto_tick |
The attribute name for axis model that wants auto tick generation. | |
std::string | m_autorange |
The auto ranging attribute name. | |
AxisTickXML * | m_axistick_xml |
The AxisTick XML handler. | |
std::string | m_high |
The high end of Range attribute name. | |
std::string | m_log |
The attribute name for axis model that is logarithmic. | |
std::string | m_low |
The low end of Range attribute name. | |
std::string | m_scale_factor |
the scale factor attribute name. |
Static Private Attributes | |
static AxisModelXML * | s_instance |
The pointer to the singleton object. |
A class that is does XML serialization and de-serialization of derived classes of AxisModelBase with XML.
Definition at line 31 of file AxisModelXML.h.
|
protectedinherited |
|
private |
A private copy constructor in order to avoid copying.
AxisModelXML | ( | XmlController * | controller | ) |
The only public constructor.
The parameter controller must object of class derived from XMLController.
Definition at line 32 of file AxisModelXML.cxx.
References AxisModelXML::m_axistick_xml.
~AxisModelXML | ( | ) |
The destructor.
Definition at line 45 of file AxisModelXML.cxx.
References AxisModelXML::m_axistick_xml.
|
private |
Creates the children elements.
Definition at line 82 of file AxisModelXML.cxx.
References XmlNode::appendChild(), BaseXML::createElement(), AxisModelBase::getTicks(), AxisModelXML::m_axistick_xml, AxisModelXML::setAttributes(), and num_util::size().
Referenced by AxisModelXML::setAttributes().
|
private |
Creates the children objects.
Definition at line 149 of file AxisModelXML.cxx.
References BaseXML::fillNodeList(), AxisModelXML::m_axistick_xml, and AxisModelXML::setAttributes().
|
inherited |
Creates a new element node.
Uses the current document as determined by the XMLController.
Definition at line 43 of file BaseXML.cxx.
References XmlDocument::createElement(), BaseXML::m_tagname, and XmlController::m_xml_doc.
Referenced by PlotterBaseXML::createAxisModel(), BinningProjectorXML::createChildren(), AxisModelXML::createChildren(), DataRepXML::createChildren(), NTupleXML::createChildren2D(), PlotterBaseXML::createCutChildren(), TransformXML::createElement(), FunctionProjectorXML::createElement(), HiNTupleXML::createElement(), NTupleProjectorXML::createElement(), BinsBaseXML::createElement(), BinToColorXML::createElement(), ColorXML::createElement(), BinnerAxisXML::createElement(), BinningProjectorXML::createElement(), ViewBaseXML::createElement(), MapMatrixProjectorXML::createElement(), NTupleXML::createElement(), PointRepXML::createElement(), TupleCutXML::createElement(), DataRepXML::createElement(), PlotterBaseXML::createElement(), PlotterBaseXML::createFontElement(), and PlotterBaseXML::createFontElements().
|
inherited |
Fills the nodelist with immediate child nodes of element with nodes that can be handled by this object.
Definition at line 58 of file BaseXML.cxx.
References XmlElement::fillNodeList(), and BaseXML::m_tagname.
Referenced by ViewBaseXML::connectPlotters(), PlotterBaseXML::createAxisModels(), AxisModelXML::createChildren(), PlotterBaseXML::createFontObjects(), BinToColorXML::createObject(), BinsBaseXML::createObject(), XmlController::getDataReps(), PlotterBaseXML::getObject(), TupleCutXML::getObjects(), XmlController::getTupleCuts(), XmlController::getViews(), PlotterBaseXML::handleCutPlotter(), XmlController::openNTuples(), and TupleCutXML::setAttributes().
Axes::Type getAxis | ( | const XmlElement * | element, |
const std::string & | tagname | ||
) |
Returns the Axis attribute value.
Definition at line 97 of file AxisModelXML.cxx.
References XmlElement::attribute(), and hippodraw::Axes::convert().
Referenced by PlotterBaseXML::createAxisModels().
|
inherited |
Returns the single child node of element of the type that can be handled by this object.
If no such node exists, returns a null pointer.
Definition at line 53 of file BaseXML.cxx.
References XmlElement::getNode(), and BaseXML::m_tagname.
Referenced by PointRepXML::createObject(), DataRepXML::createObject(), BinningProjectorXML::getObject(), PlotterBaseXML::getObject(), ViewBaseXML::getObjects(), and BinningProjectorXML::setBins().
bool isLog | ( | const XmlElement * | element | ) |
Returns true
if the element represents an axis model that is on a logarithmic scale.
Definition at line 107 of file AxisModelXML.cxx.
References XmlElement::attribute(), and AxisModelXML::m_log.
Referenced by PlotterBaseXML::createAxisModels().
void setAttributes | ( | XmlElement & | tag, |
const AxisModelBase & | plotter | ||
) |
Sets the attributes of the XmlElement tag from information in the AxisModel object plotter.
Definition at line 50 of file AxisModelXML.cxx.
References AxisModelXML::createChildren(), AxisModelBase::getRange(), AxisModelBase::getScaleFactor(), Range::high(), AxisModelBase::isAutoRanging(), AxisModelBase::isAutoTicks(), AxisModelBase::isLog(), Range::low(), AxisModelXML::m_auto_tick, AxisModelXML::m_autorange, AxisModelXML::m_high, AxisModelXML::m_log, AxisModelXML::m_low, AxisModelXML::m_scale_factor, and XmlElement::setAttribute().
Referenced by PlotterBaseXML::createAxisModel(), PlotterBaseXML::createAxisModels(), and AxisModelXML::createChildren().
void setAttributes | ( | AxisModelBase * | model, |
const XmlElement * | element | ||
) |
Sets the attributes of the AxisModel object plotter from the information in the XmlElement element.
Definition at line 116 of file AxisModelXML.cxx.
References XmlElement::attribute(), AxisModelXML::createChildren(), AxisModelXML::m_auto_tick, AxisModelXML::m_autorange, AxisModelXML::m_high, AxisModelXML::m_low, AxisModelXML::m_scale_factor, AxisModelBase::setAutoRanging(), AxisModelBase::setRange(), and AxisModelBase::setScaleFactor().
|
protectedinherited |
Sets the unique identification of the object.
Definition at line 64 of file BaseXML.cxx.
References BaseXML::m_id, and XmlElement::setAttribute().
Referenced by FunctionProjectorXML::createElement(), HiNTupleXML::createElement(), NTupleProjectorXML::createElement(), BinningProjectorXML::createElement(), ViewBaseXML::createElement(), MapMatrixProjectorXML::createElement(), TupleCutXML::createElement(), DataRepXML::createElement(), PlotterBaseXML::createElement(), NTupleXML::setAttributes(), and PointRepXML::setAttributes().
|
virtualinherited |
Returns the tag name used by this class.
Definition at line 48 of file BaseXML.cxx.
References BaseXML::m_tagname.
|
private |
The attribute name for axis model that wants auto tick generation.
Definition at line 61 of file AxisModelXML.h.
Referenced by AxisModelXML::setAttributes().
|
private |
The auto ranging attribute name.
Definition at line 44 of file AxisModelXML.h.
Referenced by AxisModelXML::setAttributes().
|
private |
The AxisTick XML handler.
Definition at line 41 of file AxisModelXML.h.
Referenced by AxisModelXML::AxisModelXML(), AxisModelXML::createChildren(), and AxisModelXML::~AxisModelXML().
|
protectedinherited |
The singleton XML controller object.
Definition at line 60 of file BaseXML.h.
Referenced by ViewBaseXML::connectPlotters(), NTupleProjectorXML::createChildren(), PlotterBaseXML::createCutChildren(), DataRepXML::createDataRep(), FunctionProjectorXML::createElement(), NTupleProjectorXML::createElement(), HiNTupleXML::createElement(), BinningProjectorXML::createElement(), ViewBaseXML::createElement(), MapMatrixProjectorXML::createElement(), TupleCutXML::createElement(), DataRepXML::createElement(), PlotterBaseXML::createElement(), PlotterBaseXML::createFontObjects(), DataRepXML::createFunctionTargetChild(), DataRepXML::createObject(), PlotterBaseXML::createPlotter(), PlotterBaseXML::createTextChildren(), PlotterBaseXML::getCutTargets(), PlotterBaseXML::getObject(), ViewBaseXML::getObjects(), PlotterBaseXML::handleCutPlotter(), PlotterBaseXML::handleFunction(), PlotterBaseXML::handleTextPlotter(), NTupleXML::setAttributes(), and PointRepXML::setAttributes().
|
private |
The high end of Range attribute name.
Definition at line 50 of file AxisModelXML.h.
Referenced by AxisModelXML::setAttributes().
|
protectedinherited |
The attribute name for the identification of the object.
Definition at line 57 of file BaseXML.h.
Referenced by BaseXML::setId().
|
private |
The attribute name for axis model that is logarithmic.
Definition at line 56 of file AxisModelXML.h.
Referenced by AxisModelXML::isLog(), and AxisModelXML::setAttributes().
|
private |
The low end of Range attribute name.
Definition at line 47 of file AxisModelXML.h.
Referenced by AxisModelXML::setAttributes().
|
private |
the scale factor attribute name.
Definition at line 53 of file AxisModelXML.h.
Referenced by AxisModelXML::setAttributes().
|
protectedinherited |
The tag name used for elements created by this class.
Definition at line 50 of file BaseXML.h.
Referenced by BaseXML::createElement(), BaseXML::fillNodeList(), BaseXML::getNode(), and BaseXML::tagName().
|
protectedinherited |
The attribute name for the type of object.
Used to create object from one of the classes derived from Factory.
Definition at line 54 of file BaseXML.h.
Referenced by DataRepXML::createDataRep(), TransformXML::createElement(), BinsBaseXML::createElement(), BinToColorXML::createElement(), DataRepXML::createElement(), PlotterBaseXML::createElement(), TransformXML::createObject(), BinToColorXML::createObject(), BinsBaseXML::createObject(), BinnerAxisXML::createObject(), PointRepXML::createObject(), DataRepXML::createObject(), PlotterBaseXML::createPlotter(), BinnerAxisXML::setAttributes(), and PointRepXML::setAttributes().
|
staticprivate |
The pointer to the singleton object.
Definition at line 37 of file AxisModelXML.h.