FillSerieConstant.hh 1.7 KB
/*
 * FillSerieConstant.hh
 *
 *  Created on: 14/08/2014
 *      Author: AKKA
 */

#ifndef FILLSERIECONSTANT_HH_
#define FILLSERIECONSTANT_HH_

#include <string>

#include "Color.hh"
#include "ParameterIndexesTool.hh"


namespace plot {
/**
 * Class holding properties used when filling an area between a serie and a constant.
 */
class FillSerieConstant {
public:

	friend std::ostream& operator<<(std::ostream&, const FillSerieConstant&);
	/*
	 * Dumps properties for test.
	 */
	void dump(std::ostream& out_, std::string& prefix_);

	FillSerieConstant();

	FillSerieConstant(const FillSerieConstant& ref_);

	FillSerieConstant& operator=(const FillSerieConstant& ref_);

	virtual ~FillSerieConstant();

	int getSerieId() const;
	void setSerieId(int serieId);

	/*
	 * For the moment, not used.
	 * The index of the serie is using (so the serie definition must be a scalar)
	 */
	AMDA::Common::ParameterIndexComponent& getSerieIndex();
	void setSerieIndex(AMDA::Common::ParameterIndexComponent& serieIndex);

	int getConstantId() const;
	void setConstantId(int constantId);

	bool isColorGreaterSpecified() const;
	void setColorGreaterSpecified(bool colorGreaterSpecified);

	const Color& getColorGreater() const;
	Color& getColorGreater();
	void setColorGreater(const Color& colorGreater);

	bool isColorLessSpecified() const;
	void setColorLessSpecified(bool color2Specified);

	const Color& getColorLess() const;
	Color& getColorLess();
	void setColorLess(const Color& color2);

private:
	int		_serieId;
	AMDA::Common::ParameterIndexComponent _serieIndex;
	int		_constantId;
	bool	_colorGreaterSpecified;
	Color 	_colorGreater;
	bool	_colorLessSpecified;
	Color 	_colorLess;
};

} /* namespace plot */

#endif /* FILLSERIECONSTANT_HH_ */