TickPlotNode.hh 1.18 KB
 /*
 * TickPlotNode.hh
 *
 *  Created on: 16 janv. 2014
 *      Author: CS
 */

#ifndef TICKPLOTNODE_HH_
#define TICKPLOTNODE_HH_

#include "AbstractDecoratorPlotNode.hh"

namespace plot {
/**
 * xml node name, this name is used in request xml files.
 */
#define TICKPLOT_NODENAME "tickPlot"

class TickPlot;

class TickPlotNode: public AbstractDecoratorPlotNode {
public:
	/**
	 * @brief Default constructor.
	 */
	TickPlotNode();

	/**
	 * @brief Destructor
	 */
	virtual ~TickPlotNode();

protected:
	/*
	 * @override AbstractDecoratorPlotNode::createPlot Method to create the tick plot
	 */
	boost::shared_ptr<DecoratorPlot> createPlot(AMDA::Parameters::ParameterManager& manager, boost::shared_ptr<Panel> panel, bool isStandalone);

	/*
	 * @override AbstractDecoratorPlotNode::parseAttributes method to parse tick plot specifics attributes
	 */
	void parseAttributes(xmlNodePtr xmlNode_, boost::shared_ptr<DecoratorPlot> plot);

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;

};

} /* namespace plot */
#endif /* TICKPLOTNODE_HH_ */