Blame view

src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotPanelNodeClass.php 3.85 KB
22521f1c   Benjamin Renard   First commit
1
2
3
4
<?php

require_once("RequestOutputPlotElementTimeNodeClass.php");
require_once("RequestOutputPlotElementXYNodeClass.php");
17f69bd1   Benjamin Renard   Add tick plot and...
5
6
require_once("RequestOutputPlotElementStatusNodeClass.php");
require_once("RequestOutputPlotElementTickNodeClass.php");
22521f1c   Benjamin Renard   First commit
7
8
9

define ("REQUESTOUTPUTPLOTPANEL_NAME", "panel");
define ("REQUESTOUTPUTPLOTPANEL_TITLE", "title");
78a73e9a   Benjamin Renard   Integration for p...
10
define ("REQUESTOUTPUTPLOTPANEL_BACKGROUNDCOLOR", "backgroundColor");
c0e7e5be   Benjamin Renard   Add integration f...
11
12
13
define ("REQUESTOUTPUTPLOTPANEL_XMARGIN", "xMargin");
define ("REQUESTOUTPUTPLOTPANEL_PREFEREDWIDTH", "preferedWidth");
define ("REQUESTOUTPUTPLOTPANEL_PREFEREDHEIGHT", "preferedHeight");
f7e9b9f1   Benjamin Renard   Complete plot con...
14
define ("REQUESTOUTPUTPLOTPANEL_ID", "id");
22521f1c   Benjamin Renard   First commit
15
16
17

abstract class RequestOutputPlotElementTypeEnum
{
b4ee5e62   Benjamin Renard   Add integration f...
18
19
20
21
22
23
	const TIMEPLOT    = "TimePlot";
	const XYPLOT      = "XYPlot";
	const STATUSPLOT  = "StatusPlot";
	const TICKPLOT    = "TickPlot";
	const EPOCHPLOT   = "EpochPlot";
	const INSTANTPLOT = "InstantPlot";
22521f1c   Benjamin Renard   First commit
24
25
26
27
28
29
30
31
32
33
34
35
}

/**
 * @class RequestOutputPlotPanelNodeClass
 * @brief Definition of a panel for a plot request
 * @details
 */
class RequestOutputPlotPanelNodeClass extends NodeClass
{
	public function __construct()
	{
		parent::__construct(REQUESTOUTPUTPLOTPANEL_NAME);
22521f1c   Benjamin Renard   First commit
36
37
	}

78a73e9a   Benjamin Renard   Integration for p...
38
39
40
41
42
43
44
45
46
47
	public function setBackgroundColor($color)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTPANEL_BACKGROUNDCOLOR, $color);
	}
	
	public function getBackgroundColor()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTPANEL_BACKGROUNDCOLOR);
	}
	
c0e7e5be   Benjamin Renard   Add integration f...
48
49
50
51
52
53
54
55
56
57
58
59
	public function getBounds()
	{
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTPANELBOUNDS_NAME);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotPanelBoundsNodeClass();
			$this->addChild($node);
		}
	
		return $node;
	}
22521f1c   Benjamin Renard   First commit
60

78a73e9a   Benjamin Renard   Integration for p...
61
	public function getFont()
22521f1c   Benjamin Renard   First commit
62
	{
78a73e9a   Benjamin Renard   Integration for p...
63
64
65
66
67
68
69
70
71
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTFONT_NODENAME);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotFontNodeClass();
			$this->addChild($node);
		}
	
		return $node;
22521f1c   Benjamin Renard   First commit
72
73
74
75
	}

	public function getTitle()
	{
78a73e9a   Benjamin Renard   Integration for p...
76
77
78
79
80
81
82
83
84
		$node = $this->getFirstChildByName(REQUESTOUTPUTPLOTPANEL_TITLE);
	
		if (!isset($node))
		{
			$node = new RequestOutputPlotTitleNodeClass();
			$this->addChild($node);
		}
	
		return $node;
22521f1c   Benjamin Renard   First commit
85
86
	}

17f69bd1   Benjamin Renard   Add tick plot and...
87
	public function addPlotElement($type,$noAxes = false)
22521f1c   Benjamin Renard   First commit
88
	{
22521f1c   Benjamin Renard   First commit
89
90
91
92
93
94
95
96
		switch ($type)
		{
			case RequestOutputPlotElementTypeEnum::TIMEPLOT :
				$node = new RequestOutputPlotElementTimeNodeClass();
				break;
			case RequestOutputPlotElementTypeEnum::XYPLOT :
				$node = new RequestOutputPlotElementXYNodeClass();
				break;
17f69bd1   Benjamin Renard   Add tick plot and...
97
98
99
100
101
102
			case RequestOutputPlotElementTypeEnum::STATUSPLOT :
				$node = new RequestOutputPlotElementStatusNodeClass($noAxes);
				break;
			case RequestOutputPlotElementTypeEnum::TICKPLOT :
				$node = new RequestOutputPlotElementTickNodeClass($noAxes);
				break;
c0e7e5be   Benjamin Renard   Add integration f...
103
104
105
			case RequestOutputPlotElementTypeEnum::EPOCHPLOT :
				$node = new RequestOutputPlotElementEpochNodeClass();
				break;
b4ee5e62   Benjamin Renard   Add integration f...
106
107
108
			case RequestOutputPlotElementTypeEnum::INSTANTPLOT :
				$node = new RequestOutputPlotElementInstantNodeClass();
				break;
22521f1c   Benjamin Renard   First commit
109
110
111
112
113
114
115
			default :
				return NULL;
		}
		$this->addChild($node);
		return $node;
	}

c0e7e5be   Benjamin Renard   Add integration f...
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
	public function setPreferedWidth($width)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTPANEL_PREFEREDWIDTH, $width);
	}
	
	public function getPreferedWidth()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTPANEL_PREFEREDWIDTH);
	}
	
	public function setPreferedHeight($height)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTPANEL_PREFEREDHEIGHT, $height);
	}
	
	public function getPreferedHeight()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTPANEL_PREFEREDHEIGHT);
	}
22521f1c   Benjamin Renard   First commit
135

c0e7e5be   Benjamin Renard   Add integration f...
136
137
138
139
	public function setXMargin($left, $right)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTPANEL_XMARGIN, "[".$left.",".$right."]");
	}
f7e9b9f1   Benjamin Renard   Complete plot con...
140
141
142
143
144
145
146
147
148
149
150
	
	public function setId($id)
	{
		$this->setAttribute(REQUESTOUTPUTPLOTPANEL_ID, $id);
	}
	
	public function getId()
	{
		return $this->getAttribute(REQUESTOUTPUTPLOTPANEL_ID);
	}
	
22521f1c   Benjamin Renard   First commit
151
152
153
}

?>