/* * XYPlotNode.hh * * Created on: Dec 6, 2013 * Author: amdadev */ #ifndef XYPLOTNODE_HH_ #define XYPLOTNODE_HH_ #include #include #include "AbstractPanelPlotNode.hh" #include "PanelPlotOutput.hh" #include "PlotOutput.hh" #include "Panel.hh" #include "ParamsNode.hh" #include "SeriesNode.hh" namespace plot { /** * xml node name, this name is used in both config and request xml files. */ #define XYPLOT_NODENAME "xyPlot" /** * Reads xyplot node. */ class XYPlotNode: public plot::AbstractPanelPlotNode { public: XYPlotNode(); virtual ~XYPlotNode(); protected: boost::shared_ptr proceed(xmlNodePtr, PlotOutput*, Panel*); private: /** * constant to uniquely identify this node in the registry */ static const std::string NODENAME; /** * artificial special attribute to force registering node. */ static std::string _key; }; /** * Reads xyplot/params/param node. */ template class XYPlotParamNode: public ParamNode { public: XYPlotParamNode() : ParamNode() { ParamNode::getChildList()["xserie"] = AMDA::XMLConfigurator::NodeCfgSPtr(new XSeriesNode()); ParamNode::getChildList()["yserie"] = AMDA::XMLConfigurator::NodeCfgSPtr(new SeriesNode()); ParamNode::getChildList()["orbitserie"] = AMDA::XMLConfigurator::NodeCfgSPtr(new OrbitSeriesNode()); ParamNode::getChildList()["colorserie"] = AMDA::XMLConfigurator::NodeCfgSPtr(new ColorSeriesNode()); } virtual ~XYPlotParamNode() { } }; /** * Reads xyplot/params node. */ template class XYPlotParamsNode: public AMDA::XMLConfigurator::NodeGrpCfg { public: XYPlotParamsNode() : AMDA::XMLConfigurator::NodeGrpCfg() { getChildList()["param"] = AMDA::XMLConfigurator::NodeCfgSPtr( new XYPlotParamNode()); } virtual ~XYPlotParamsNode() { } }; } /* namespace plot */ #endif /* XYPLOTNODE_HH_ */