<?php require_once("RequestOutputPlotElementTimeNodeClass.php"); require_once("RequestOutputPlotElementXYNodeClass.php"); define ("REQUESTOUTPUTPLOTPANEL_NAME", "panel"); define ("REQUESTOUTPUTPLOTPANEL_TITLE", "title"); abstract class RequestOutputPlotElementTypeEnum { const TIMEPLOT = "TimePlot"; const XYPLOT = "XYPlot"; } /** * @class RequestOutputPlotPanelNodeClass * @brief Definition of a panel for a plot request * @details */ class RequestOutputPlotPanelNodeClass extends NodeClass { public function __construct() { parent::__construct(REQUESTOUTPUTPLOTPANEL_NAME); //default attributes $this->setTitle(""); } /* ToDo bounds */ /* ToDo font */ public function setTitle($title) { $node = $this->getChildInstanceByName(REQUESTOUTPUTPLOTPANEL_TITLE, true); $node->setValue($title); } public function getTitle() { $node = $this->getChildInstanceByName(REQUESTOUTPUTPLOTPANEL_TITLE); return (($node == NULL) ? "" : $node->getValue()); } public function addPlotElement($type) { if ($this->getPlotElement() != NULL) return $this->getPlotElement(); switch ($type) { case RequestOutputPlotElementTypeEnum::TIMEPLOT : $node = new RequestOutputPlotElementTimeNodeClass(); break; case RequestOutputPlotElementTypeEnum::XYPLOT : $node = new RequestOutputPlotElementXYNodeClass(); break; default : return NULL; } $this->addChild($node); return $node; } public function getPlotElement() { return $this->getFirstChildByName(REQUESTOUTPUTPLOTPANEL_NAME); } /* ToDo tickPlot */ /* ToDo backgroundColor */ /* ToDo colorMapIndex */ /* ToDo prefered size */ /* ToDo x y margins */ } ?>