Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
AxisModelXML Class Reference

A class that is does XML serialization and de-serialization of derived classes of AxisModelBase with XML. More...

#include <AxisModelXML.h>

Inheritance diagram for AxisModelXML:
Inheritance graph
[legend]
Collaboration diagram for AxisModelXML:
Collaboration graph
[legend]

Public Member Functions

 AxisModelXML (XmlController *controller)
 The only public constructor. More...
 
XmlElementcreateElement ()
 Creates a new element node. More...
 
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. More...
 
hippodraw::Axes::Type getAxis (const XmlElement *element, const std::string &tagname)
 Returns the Axis attribute value. More...
 
const XmlElementgetNode (const XmlElement *element) const
 Returns the single child node of element of the type that can be handled by this object. More...
 
bool isLog (const XmlElement *element)
 Returns true if the element represents an axis model that is on a logarithmic scale. More...
 
void setAttributes (XmlElement &tag, const AxisModelBase &plotter)
 Sets the attributes of the XmlElement tag from information in the AxisModel object plotter. More...
 
void setAttributes (AxisModelBase *model, const XmlElement *element)
 Sets the attributes of the AxisModel object plotter from the information in the XmlElement element. More...
 
virtual const std::string & tagName () const
 Returns the tag name used by this class. More...
 
 ~AxisModelXML ()
 The destructor. More...
 

Protected Types

typedef std::list< XmlElement * > NodeList_t
 The container type for element nodes. More...
 

Protected Member Functions

void setId (XmlElement &tag, int id)
 Sets the unique identification of the object. More...
 

Protected Attributes

XmlControllerm_controller
 The singleton XML controller object. More...
 
const std::string m_id
 The attribute name for the identification of the object. More...
 
const std::string m_tagname
 The tag name used for elements created by this class. More...
 
const std::string m_type
 The attribute name for the type of object. More...
 

Private Member Functions

 AxisModelXML (const AxisModelXML &)
 A private copy constructor in order to avoid copying. More...
 
void createChildren (XmlElement &, const AxisModelBase &)
 Creates the children elements. More...
 
void createChildren (const XmlElement *element, AxisModelBase *model)
 Creates the children objects. More...
 

Private Attributes

std::string m_auto_tick
 The attribute name for axis model that wants auto tick generation. More...
 
std::string m_autorange
 The auto ranging attribute name. More...
 
AxisTickXMLm_axistick_xml
 The AxisTick XML handler. More...
 
std::string m_high
 The high end of Range attribute name. More...
 
std::string m_log
 The attribute name for axis model that is logarithmic. More...
 
std::string m_low
 The low end of Range attribute name. More...
 
std::string m_scale_factor
 the scale factor attribute name. More...
 

Static Private Attributes

static AxisModelXMLs_instance
 The pointer to the singleton object. More...
 

Detailed Description

A class that is does XML serialization and de-serialization of derived classes of AxisModelBase with XML.

Author
Paul F. Kunz Paul_.nosp@m.Kunz.nosp@m.@slac.nosp@m..sta.nosp@m.nford.nosp@m..edu

Definition at line 31 of file AxisModelXML.h.

Member Typedef Documentation

typedef std::list< XmlElement * > NodeList_t
protectedinherited

The container type for element nodes.

Definition at line 47 of file BaseXML.h.

Constructor & Destructor Documentation

AxisModelXML ( const AxisModelXML )
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.

The destructor.

Definition at line 45 of file AxisModelXML.cxx.

References AxisModelXML::m_axistick_xml.

Member Function Documentation

void createChildren ( XmlElement tag,
const AxisModelBase model 
)
private
void createChildren ( const XmlElement element,
AxisModelBase model 
)
private

Creates the children objects.

Definition at line 149 of file AxisModelXML.cxx.

References BaseXML::fillNodeList(), AxisModelXML::m_axistick_xml, and AxisModelXML::setAttributes().

XmlElement * createElement ( )
inherited
void fillNodeList ( const XmlElement element,
std::list< XmlElement * > &  nodelist 
)
inherited
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(), hippodraw::Axes::convert(), and ok.

Referenced by PlotterBaseXML::createAxisModels().

const XmlElement * getNode ( const XmlElement element) const
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(), AxisModelXML::m_log, and ok.

Referenced by PlotterBaseXML::createAxisModels().

void setAttributes ( XmlElement tag,
const AxisModelBase plotter 
)
void setAttributes ( AxisModelBase model,
const XmlElement element 
)
void setId ( XmlElement tag,
int  id 
)
protectedinherited
const string & tagName ( ) const
virtualinherited

Returns the tag name used by this class.

Definition at line 48 of file BaseXML.cxx.

References BaseXML::m_tagname.

Member Data Documentation

std::string m_auto_tick
private

The attribute name for axis model that wants auto tick generation.

Definition at line 61 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

std::string m_autorange
private

The auto ranging attribute name.

Definition at line 44 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

AxisTickXML* m_axistick_xml
private
XmlController* m_controller
protectedinherited
std::string m_high
private

The high end of Range attribute name.

Definition at line 50 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

const std::string m_id
protectedinherited

The attribute name for the identification of the object.

Definition at line 57 of file BaseXML.h.

Referenced by BaseXML::setId().

std::string m_log
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().

std::string m_low
private

The low end of Range attribute name.

Definition at line 47 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

std::string m_scale_factor
private

the scale factor attribute name.

Definition at line 53 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

const std::string m_tagname
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().

const std::string m_type
protectedinherited
AxisModelXML* s_instance
staticprivate

The pointer to the singleton object.

Definition at line 37 of file AxisModelXML.h.


The documentation for this class was generated from the following files:

Generated for HippoDraw Class Library by doxygen