TimeTickProperties.hh 2.51 KB
/*
 * TimeTickProperties.hh
 *
 *  Created on: Jul 22, 2014
 *      Author: AKKA
 */

#ifndef TIMETICKPROPERTIES_HH_
#define TIMETICKPROPERTIES_HH_

#include <iostream>
#include <map>
#include <string>

#include "Font.hh"
#include "SymbolProperties.hh"

namespace plot {

/**
 * TimeTick properties. Defines major/minor tick number and characteristics for each series
 * on XYPlot
 */
class TimeTickProperties {
public:
	friend std::ostream& operator<<(std::ostream& out_, const TimeTickProperties& prop_);
	/*
	 * Dumps properties for test.
	 */
	void dump(std::ostream& out_, std::string& prefix_);

	TimeTickProperties() :
			_step("0"), _number(0), _minor(0), _firstSymbol(), _symbol(), _color(), _font("sans-serif", 11)
			{
	}
	TimeTickProperties(const TimeTickProperties& pTimeTickProperties_) :
		_step(pTimeTickProperties_._step),
		_number(pTimeTickProperties_._number),
		_minor(pTimeTickProperties_._minor),
		_firstSymbol(pTimeTickProperties_._firstSymbol),
		_symbol(pTimeTickProperties_._symbol),
		_color(pTimeTickProperties_._color),
		_font(pTimeTickProperties_._font)
		{
	}

	TimeTickProperties& operator=(const TimeTickProperties& pTimeTickProperties_) {
		_step = pTimeTickProperties_._step;
		_number = pTimeTickProperties_._number;
		_minor = pTimeTickProperties_._minor;
		_firstSymbol = pTimeTickProperties_._firstSymbol;
		_symbol = pTimeTickProperties_._symbol;
		_color = pTimeTickProperties_._color;
		_font = pTimeTickProperties_._font;
		return *this;
	}

	virtual ~TimeTickProperties() {
	}

	SymbolProperties& getFirstSymbol() {
		return _firstSymbol;
	}

	void setFirstSymbol(const SymbolProperties& firstSymbol) {
		_firstSymbol = firstSymbol;
	}

	const Font& getFont() const {
		return _font;
	}

	void setFont(const Font& font) {
		_font = font;
	}

	int getMinor() const {
		return _minor;
	}

	void setMinor(int minor) {
		_minor = minor;
	}

	int getNumber() const {
		return _number;
	}

	void setNumber(int number) {
		_number = number;
	}

	const std::string& getStep() const {
		return _step;
	}

	void setStep(const std::string& step) {
		_step = step;
	}

	SymbolProperties& getSymbol() {
		return _symbol;
	}

	void setSymbol(const SymbolProperties& symbol) {
		_symbol = symbol;
	}

	Color& getColor() {
		return _color;
	}

	void setColor(const Color& color) {
		_color = color;
	}

private:

	std::string 	_step;
	int 			_number;
	int 			_minor;

	SymbolProperties _firstSymbol;
	SymbolProperties _symbol;
	Color			 _color;

public:

	Font			_font;
};




} /* namespace plot */

#endif /* TIMETICKPROPERTIES_HH_ */