ErrorBarNode.hh 1.58 KB
/**
 * ErrorBarNode.hh
 *
 *  Created on: July 22, 2014
 *      Author: AKKA
 */

#ifndef ERRORBARNODE_HH_
#define ERRORBARNODE_HH_

#include <libxml/tree.h>
#include <iosfwd>

#include "NodeCfg.hh"
#include "PlotLogger.hh"
#include "SeriesProperties.hh"
#include "CommonNode.hh"
#include "LineNode.hh"

namespace plot {

/**
 * Read a 'errorBar' tag from xml request and populate related ErrorBarProperties
 * object (which is object holding drawing properties for that parameter's serie).
 * structure of xml node to read is defined in the plot.xsd schemas.
 */
class ErrorMinMaxNode: public AMDA::XMLConfigurator::NodeGrpCfg {
public:

	ErrorMinMaxNode() : AMDA::XMLConfigurator::NodeGrpCfg(){
	};
	virtual ~ErrorMinMaxNode(){};
	void proceed(xmlNodePtr ,const AMDA::Parameters::CfgContext& );
};

class ErrorDeltaNode: public AMDA::XMLConfigurator::NodeGrpCfg {
public:

	ErrorDeltaNode() : AMDA::XMLConfigurator::NodeGrpCfg(){
	};
	virtual ~ErrorDeltaNode(){};
	void proceed(xmlNodePtr ,const AMDA::Parameters::CfgContext& );
};

class ErrorBarNode: public AMDA::XMLConfigurator::NodeGrpCfg {
public:

	ErrorBarNode() : AMDA::XMLConfigurator::NodeGrpCfg(){
		getChildList()["line"] = AMDA::XMLConfigurator::NodeCfgSPtr(
					new LineNode<ErrorBarProperties>()	);
		getChildList()["errorMinMax"] = AMDA::XMLConfigurator::NodeCfgSPtr(
					new ErrorMinMaxNode()	);
		getChildList()["errorDelta"] = AMDA::XMLConfigurator::NodeCfgSPtr(
					new ErrorDeltaNode()	);
	};
	virtual ~ErrorBarNode(){};
	void proceed(xmlNodePtr ,const AMDA::Parameters::CfgContext& );
};

} /* namespace plot */

#endif /* ERRORBARNODE_HH_ */