RequestOutputPlotSerieTimeTicksNodeClass.php 4.38 KB
<?php

define ("REQUESTOUTPUTPLOTSERIETIMETICKS_STEP", "step");
define ("REQUESTOUTPUTPLOTSERIETIMETICKS_NUMBER", "number");
define ("REQUESTOUTPUTPLOTSERIETIMETICKS_MINOR", "minor");
define ("REQUESTOUTPUTPLOTSERIETIMETICKS_COLOR", "color");
define ("REQUESTOUTPUTPLOTSERIETIMETICKS_SYMBOL", "symbol");
define ("REQUESTOUTPUTPLOTSERIETIMETICKS_FIRSTSYMBOL", "firstSymbol");
define ("REQUESTOUTPUTPLOTSERIETIMETICKS_LASTSYMBOL", "lastSymbol");

/**
 * @class RequestOutputPlotSerieTimeTicksNodeClass
 * @brief Definition of time ticks element for a serie of a plot
 * @details
 */
class RequestOutputPlotSerieTimeTicksNodeClass extends NodeClass
{
	public function __construct($name)
	{
		parent::__construct($name);
	}

	public function isSymbolDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTSERIETIMETICKS_SYMBOL);
		return isset($node);
	}
	
	public function getSymbol()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTSERIETIMETICKS_SYMBOL);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotSymbolNodeClass(REQUESTOUTPUTPLOTSERIETIMETICKS_SYMBOL);
			$this->addChild($node);
		}
	
		return $node;
	}
	
	public function isFirstSymbolDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTSERIETIMETICKS_FIRSTSYMBOL);
		return isset($node);
	}
	
	public function getFirstSymbol()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTSERIETIMETICKS_FIRSTSYMBOL);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotSymbolNodeClass(REQUESTOUTPUTPLOTSERIETIMETICKS_FIRSTSYMBOL);
			$this->addChild($node);
		}
	
		return $node;
	}

	public function isLastSymbolDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTSERIETIMETICKS_LASTSYMBOL);
		return isset($node);
	}
	
	public function getLastSymbol()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTSERIETIMETICKS_LASTSYMBOL);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotSymbolNodeClass(REQUESTOUTPUTPLOTSERIETIMETICKS_LASTSYMBOL);
			$this->addChild($node);
		}
	
		return $node;
	}

	
	public function isFontDefined()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTFONT_NODENAME);
		return isset($node);
	}
	
	public function getFont()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTFONT_NODENAME);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotFontNodeClass();
			$this->addChild($node);
		}
	
		return $node;
	}
	
	public function setStep($step)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_STEP, $step);
	}
	
	public function getStep()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_STEP);
	}
	
	public function setNumber($number)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_NUMBER, $number);
	}
	
	public function getNumber()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_NUMBER);
	}
	
	public function setMinor($minor)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_MINOR, $minor);
	}
	
	public function getMinor()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_MINOR);
	}
	
	public function setColor($color)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_COLOR, $color);
	}
	
	public function getColor()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTSERIETIMETICKS_COLOR);
	}
	
	public function loadFromNode($xmlNode)
	{
		$symbolXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_SYMBOL);
		if (isset($symbolXmlNode))
			$this->getSymbol()->loadFromNode($symbolXmlNode);
		
		$firstsymbolXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_FIRSTSYMBOL);
		if (isset($firstsymbolXmlNode))
			$this->getFirstSymbol()->loadFromNode($firstsymbolXmlNode);
        
		$lastsymbolXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_LASTSYMBOL);
		if (isset($lastsymbolXmlNode))
			$this->getLastSymbol()->loadFromNode($lastsymbolXmlNode);
		
		$fontXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTOUTPUTPLOTFONT_NODENAME);
		if (isset($fontXmlNode))
			$this->getFont()->loadFromNode($fontXmlNode);
		
		$this->setStep($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_STEP));
		$this->setNumber($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_NUMBER));
		$this->setMinor($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_MINOR));
		$this->setColor($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTSERIETIMETICKS_COLOR));
	}
}

?>