Commit b3c7897554c96ddda1c2aa914fd981810a70b16d
Exists in
master
and in
6 other branches
Merge branch 'amdadev'
Showing
8 changed files
with
259 additions
and
16 deletions
Show diff stats
config/kernel/plotConfig.xml
@@ -34,6 +34,8 @@ | @@ -34,6 +34,8 @@ | ||
34 | <symbol type="circle" size="5" color="[120,120,0]" /> | 34 | <symbol type="circle" size="5" color="[120,120,0]" /> |
35 | </timeTick> | 35 | </timeTick> |
36 | </xyPlot> | 36 | </xyPlot> |
37 | + <histoPlot zAxis="colorAxis"> | ||
38 | + </histoPlot> | ||
37 | <instantPlot zAxis="colorAxis"> | 39 | <instantPlot zAxis="colorAxis"> |
38 | <line type="no" style="plain" color="[255,0,0]" width="1" /> | 40 | <line type="no" style="plain" color="[255,0,0]" width="1" /> |
39 | <symbol type="dot" size="4" color="[0,0,255]" /> | 41 | <symbol type="dot" size="4" color="[0,0,255]" /> |
src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
@@ -315,7 +315,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -315,7 +315,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
315 | //Plot type | 315 | //Plot type |
316 | $this->isInstantPlot = false; | 316 | $this->isInstantPlot = false; |
317 | $plotNode = $this->unmarshallPlotType($panelData, $panelNode); | 317 | $plotNode = $this->unmarshallPlotType($panelData, $panelNode); |
318 | - | ||
319 | $isTimePlot = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTTIME_NAME); | 318 | $isTimePlot = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTTIME_NAME); |
320 | 319 | ||
321 | //Tick plot | 320 | //Tick plot |
@@ -373,6 +372,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -373,6 +372,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
373 | $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::XYPLOT); | 372 | $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::XYPLOT); |
374 | $plotNode->setIsIsotropic($panelData->{'panel-scatter-isotropic'}); | 373 | $plotNode->setIsIsotropic($panelData->{'panel-scatter-isotropic'}); |
375 | break; | 374 | break; |
375 | + case 'histoPlot': | ||
376 | + $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::HISTOPLOT); | ||
377 | + break; | ||
376 | case 'statusPlot': | 378 | case 'statusPlot': |
377 | $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::STATUSPLOT); | 379 | $plotNode = $panelNode->addPlotElement(RequestOutputPlotElementTypeEnum::STATUSPLOT); |
378 | switch ($panelData->{'panel-status-position'}) { | 380 | switch ($panelData->{'panel-status-position'}) { |
@@ -517,12 +519,30 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -517,12 +519,30 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
517 | if (isset($axisData->{'axis-grid-major-number'}) && $axisData->{'axis-grid-major-number'} != 0) | 519 | if (isset($axisData->{'axis-grid-major-number'}) && $axisData->{'axis-grid-major-number'} != 0) |
518 | $axisNode->getTick()->setMajorGridNumber($axisData->{'axis-grid-major-number'}); | 520 | $axisNode->getTick()->setMajorGridNumber($axisData->{'axis-grid-major-number'}); |
519 | } elseif ($axisData->{'axis-grid-specify-ticks-spacing'}) { | 521 | } elseif ($axisData->{'axis-grid-specify-ticks-spacing'}) { |
522 | + $timeMultiplier = 1; | ||
523 | + if(isset($axisData->{'axis-tick-time-unit'}) && ($axisData->{'axis-type'} == "time" || $axisData->{'axis-type'} == "epoch" )){ | ||
524 | + switch ($axisData->{'axis-tick-time-unit'}) { | ||
525 | + case 'default': | ||
526 | + $timeMultiplier = 1; | ||
527 | + break; | ||
528 | + case 'min': | ||
529 | + $timeMultiplier = 60; | ||
530 | + break; | ||
531 | + case "hour": | ||
532 | + $timeMultiplier = 3600; | ||
533 | + break; | ||
534 | + case "day": | ||
535 | + $timeMultiplier = 86400; | ||
536 | + break; | ||
537 | + } | ||
538 | + } | ||
520 | 539 | ||
521 | if (isset($axisData->{'axis-grid-major-space'}) && $axisData->{'axis-grid-major-space'} != 0) | 540 | if (isset($axisData->{'axis-grid-major-space'}) && $axisData->{'axis-grid-major-space'} != 0) |
522 | - $axisNode->getTick()->setMajorGridSpace($axisData->{'axis-grid-major-space'}); | 541 | + $axisNode->getTick()->setMajorGridSpace($axisData->{'axis-grid-major-space'}*$timeMultiplier); |
523 | 542 | ||
524 | if (isset($axisData->{'axis-grid-minor-space'}) && $axisData->{'axis-grid-minor-space'} != 0) | 543 | if (isset($axisData->{'axis-grid-minor-space'}) && $axisData->{'axis-grid-minor-space'} != 0) |
525 | - $axisNode->getTick()->setMinorGridSpace($axisData->{'axis-grid-minor-space'}); | 544 | + $axisNode->getTick()->setMinorGridSpace($axisData->{'axis-grid-minor-space'}*$timeMultiplier); |
545 | + | ||
526 | } | 546 | } |
527 | 547 | ||
528 | 548 | ||
@@ -553,8 +573,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -553,8 +573,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
553 | { | 573 | { |
554 | //X parameters | 574 | //X parameters |
555 | $isScatter = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTXY_NAME); | 575 | $isScatter = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTXY_NAME); |
576 | + $isHisto = ($plotNode->getName() == REQUESTOUTPUTPLOTELEMENTHISTO_NAME); | ||
556 | $xIds = array(); | 577 | $xIds = array(); |
557 | - if ($isScatter) { | 578 | + if ($isScatter || $isHisto) { |
558 | $crtXId = 0; | 579 | $crtXId = 0; |
559 | foreach ($paramsData as $paramData) { | 580 | foreach ($paramsData as $paramData) { |
560 | if ($paramData->{'param-drawing-object'}->{'serie-xaxis-param'} == '') | 581 | if ($paramData->{'param-drawing-object'}->{'serie-xaxis-param'} == '') |
@@ -614,7 +635,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -614,7 +635,7 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
614 | if (!empty($paramData->{'param-drawing-object'}->{'serie-colored-param'})) | 635 | if (!empty($paramData->{'param-drawing-object'}->{'serie-colored-param'})) |
615 | $colorSerieId = $drawingEltIndex; | 636 | $colorSerieId = $drawingEltIndex; |
616 | 637 | ||
617 | - $xId = ($isScatter && !empty($paramData->{'param-drawing-object'}->{'serie-xaxis-param'})) ? $xIds[$paramData->{'param-drawing-object'}->{'serie-xaxis-param'}] : -1; | 638 | + $xId = (($isScatter || $isHisto) && !empty($paramData->{'param-drawing-object'}->{'serie-xaxis-param'})) ? $xIds[$paramData->{'param-drawing-object'}->{'serie-xaxis-param'}] : -1; |
618 | 639 | ||
619 | switch ($paramData->{'param-drawing-type'}) { | 640 | switch ($paramData->{'param-drawing-type'}) { |
620 | case 'serie': | 641 | case 'serie': |
@@ -629,6 +650,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -629,6 +650,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
629 | $paramZInfo = NULL; | 650 | $paramZInfo = NULL; |
630 | $this->unmarshallHistogram2D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes'], $xId, $paramZInfo,$axesData); | 651 | $this->unmarshallHistogram2D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes'], $xId, $paramZInfo,$axesData); |
631 | break; | 652 | break; |
653 | + case 'histogram1d': | ||
654 | + $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); | ||
655 | + $this->unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $paramInfo['indexes']); | ||
656 | + break; | ||
632 | case 'orbit-serie': | 657 | case 'orbit-serie': |
633 | $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); | 658 | $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); |
634 | $this->unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, -1, $xId, $colorSerieId, true); | 659 | $this->unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, -1, $xId, $colorSerieId, true); |
@@ -766,6 +791,42 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | @@ -766,6 +791,42 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass | ||
766 | } | 791 | } |
767 | } | 792 | } |
768 | 793 | ||
794 | + protected function unmarshallHistogram1D($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes) | ||
795 | + { | ||
796 | + $histogram1DNodes = array(); | ||
797 | + if ($paramData->{'param-drawing-object'}->{'histo1d-color'} == "none") { | ||
798 | + $color = NULL; | ||
799 | + } else { | ||
800 | + $color = $this->hexColor2KernelColor($paramData->{'param-drawing-object'}->{'histo1d-color'}); | ||
801 | + } | ||
802 | + | ||
803 | + if (count($indexes) == 0) { | ||
804 | + $histogram1DNode = $paramNode->addHistogram1DSerie($paramData->{'param-drawing-object'}->{'serie-yaxis'}, -1, $color); | ||
805 | + if (isset($histogram1DNode)) { | ||
806 | + $histogram1DNode->setId($paramData->{'id'}); | ||
807 | + $histogram1DNodes[] = $histogram1DNode; | ||
808 | + } | ||
809 | + } | ||
810 | + foreach ($indexes as $index) { | ||
811 | + $histogram1DNode = $paramNode->addHistogram1DSerie($paramData->{'param-drawing-object'}->{'serie-yaxis'}, $index, $color); | ||
812 | + if (isset($histogram1DNode)) { | ||
813 | + if (count($indexes) == 1) | ||
814 | + $histogram1DNode->setId($paramData->{'id'}); | ||
815 | + $histogram1DNodes[] = $histogram1DNode; | ||
816 | + } | ||
817 | + } | ||
818 | + | ||
819 | + foreach ($histogram1DNodes as $histogram1DNode) { | ||
820 | + | ||
821 | + // xBinNumber | ||
822 | + $histogram1DNode->getBins()->addManual1DBins($paramData->{'param-drawing-object'}->{'histo1d-xbinnumber'}); | ||
823 | + | ||
824 | + // histotype, function | ||
825 | + $histogram1DNode->getHistotype()->set1DFunction($paramData->{'param-drawing-object'}->{'histo1d-function'}); | ||
826 | + | ||
827 | + } | ||
828 | + } | ||
829 | + | ||
769 | protected function unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes, $xId, $colorSerieId, $isOrbitSerie) | 830 | protected function unmarshallSerie($paramData, $requestParamsNode, $plotNode, $paramNode, $indexes, $xId, $colorSerieId, $isOrbitSerie) |
770 | { | 831 | { |
771 | $serieNodes = array(); | 832 | $serieNodes = array(); |
src/InputOutput/IHMImpl/Tools/IHMParamManagerClass.php
@@ -340,16 +340,7 @@ class IHMParamManagerClass | @@ -340,16 +340,7 @@ class IHMParamManagerClass | ||
340 | } | 340 | } |
341 | } | 341 | } |
342 | 342 | ||
343 | - if ($this->templateParamsManager->isTemplatedParam($linkedParamId)) { | ||
344 | - $linkedParamPath = $this->templateParamsManager->generateTemplatedParamFile($linkedParamId, $tempArgs); | ||
345 | - $real_linked_param_id = $this->templateParamsManager->getTemplatedParamId($linkedParamId, $tempArgs); | ||
346 | - } | ||
347 | - else { | ||
348 | - $real_linked_param_id = $linkedParamId; | ||
349 | - $linkedParamPath = IHMConfigClass::getLocalParamDBPath().$real_linked_param_id.".xml"; | ||
350 | - } | ||
351 | - $paramsData->addParamToCopy($real_linked_param_id,$linkedParamPath); | ||
352 | - $this->addLinkedLocalParams($linkedParamId, $paramsData); | 343 | + $this->addExistingParam($linkedParamId, $paramsData); |
353 | } | 344 | } |
354 | } | 345 | } |
355 | 346 |
src/InputOutput/IHMImpl/Tools/IHMPlotContextFileClass.php
@@ -113,6 +113,8 @@ class IHMPlotContextFileClass | @@ -113,6 +113,8 @@ class IHMPlotContextFileClass | ||
113 | $panelContext['plotArea']['y'] = $pageContext['height'] - intval($plotAreaNode->getAttribute('y')) - $panelContext['plotArea']['height']; | 113 | $panelContext['plotArea']['y'] = $pageContext['height'] - intval($plotAreaNode->getAttribute('y')) - $panelContext['plotArea']['height']; |
114 | $panelContext['plotArea']['width'] = intval($plotAreaNode->getAttribute('width')); | 114 | $panelContext['plotArea']['width'] = intval($plotAreaNode->getAttribute('width')); |
115 | } | 115 | } |
116 | + //BG COLOR | ||
117 | + $panelContext['plotArea']['plotAreaBackgroundColor'] = ($plotAreaNode->getAttribute('plotAreaBackgroundColor')); | ||
116 | 118 | ||
117 | //hasSpectro | 119 | //hasSpectro |
118 | $panelContext['plotArea']['hasSpectro'] = ($plotAreaNode->getAttribute('hasSpectro') == "true"); | 120 | $panelContext['plotArea']['hasSpectro'] = ($plotAreaNode->getAttribute('hasSpectro') == "true"); |
@@ -127,7 +129,8 @@ class IHMPlotContextFileClass | @@ -127,7 +129,8 @@ class IHMPlotContextFileClass | ||
127 | 'id' => $axisNode->getAttribute('id'), | 129 | 'id' => $axisNode->getAttribute('id'), |
128 | 'logarithmic' => ($axisNode->getAttribute('logarithmic') == "true"), | 130 | 'logarithmic' => ($axisNode->getAttribute('logarithmic') == "true"), |
129 | 'min' => floatval($axisNode->getAttribute('min')), | 131 | 'min' => floatval($axisNode->getAttribute('min')), |
130 | - 'max' => floatval($axisNode->getAttribute('max')) | 132 | + 'max' => floatval($axisNode->getAttribute('max')), |
133 | + 'colorsList' => $axisNode->getAttribute('colorsList') | ||
131 | ); | 134 | ); |
132 | 135 | ||
133 | $panelContext['plotArea']['axes'][] = $axisContext; | 136 | $panelContext['plotArea']['axes'][] = $axisContext; |
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotElementHistoNodeClass.php
0 โ 100644
@@ -0,0 +1,50 @@ | @@ -0,0 +1,50 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +require_once("RequestOutputPlotElementNodeClass.php"); | ||
4 | + | ||
5 | +define ("REQUESTOUTPUTPLOTELEMENTHISTO_NAME", "histoPlot"); | ||
6 | +define ("REQUESTOUTPUTPLOTELEMENTHISTO_XAXISID", "xaxis_id"); | ||
7 | + | ||
8 | +/** | ||
9 | + * @class RequestOutputPlotElementXYNodeClass | ||
10 | + * @brief Definition of a histogram plot element for a panel of a plot request | ||
11 | + * @details | ||
12 | +*/ | ||
13 | +class RequestOutputPlotElementHistoNodeClass extends RequestOutputPlotElementNodeClass | ||
14 | +{ | ||
15 | + public function __construct() | ||
16 | + { | ||
17 | + parent::__construct(REQUESTOUTPUTPLOTELEMENTHISTO_NAME,true,false,false,false,false,false); | ||
18 | + //create x axis | ||
19 | + $this->getAxes()->addDigitalAxis(RequestOutputPlotAxisTypeEnum::XAXIS,REQUESTOUTPUTPLOTELEMENTHISTO_XAXISID); | ||
20 | + //force color axis creation | ||
21 | + $this->getAxes()->getColorAxis(); | ||
22 | + } | ||
23 | + | ||
24 | + public function getXAxis() | ||
25 | + { | ||
26 | + return $this->getAxes()->getDigitalAxis(RequestOutputPlotAxisTypeEnum::XAXIS,REQUESTOUTPUTPLOTELEMENTHISTO_XAXISID); | ||
27 | + } | ||
28 | + | ||
29 | + public function addYAxis($id) | ||
30 | + { | ||
31 | + return $this->getAxes()->addDigitalAxis(RequestOutputPlotAxisTypeEnum::YAXIS,$id); | ||
32 | + } | ||
33 | + | ||
34 | + public function getYAxis($id) | ||
35 | + { | ||
36 | + return $this->getAxes()->getDigitalAxis(RequestOutputPlotAxisTypeEnum::YAXIS,$id); | ||
37 | + } | ||
38 | + | ||
39 | + public function getZAxis() | ||
40 | + { | ||
41 | + return $this->getAxes()->getColorAxis(); | ||
42 | + } | ||
43 | + | ||
44 | + public function loadFromNode($xmlNode) | ||
45 | + { | ||
46 | + parent::loadFromNode($xmlNode); | ||
47 | + } | ||
48 | +} | ||
49 | + | ||
50 | +?> | ||
0 | \ No newline at end of file | 51 | \ No newline at end of file |
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotHistogram1DSerieNodeClass.php
0 โ 100644
@@ -0,0 +1,120 @@ | @@ -0,0 +1,120 @@ | ||
1 | +<?php | ||
2 | + | ||
3 | +require_once "RequestOutputPlotResamplingNodeClass.php"; | ||
4 | +require_once "RequestOutputPlotYSerieErrorBarNodeClass.php"; | ||
5 | + | ||
6 | +define ("REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_NAME", "histogram1d"); | ||
7 | +define ("REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX", "index"); | ||
8 | +define ("REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_COLOR", "color"); | ||
9 | + | ||
10 | +define ("REQUESTOUTPUTPLOTBINS_NAME", "bins"); | ||
11 | +define ("REQUESTOUTPUTPLOTBINS_MANUAL", "manual"); | ||
12 | +define ("REQUESTOUTPUTPLOTBINS_XBINNUMBER", "xbinnumber"); | ||
13 | + | ||
14 | +define ("REQUESTOUTPUTPLOTHISTOTYPE_NAME", "histotype"); | ||
15 | +define ("REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION", "type"); | ||
16 | +/** | ||
17 | + * @class RequestOutputPlotHistogram1DSerieNodeClass | ||
18 | + * @brief Definition of a histogram1D for a plot of a plot request | ||
19 | + * @details | ||
20 | +*/ | ||
21 | + | ||
22 | +class RequestOutputPlotBins1DNodeClass extends NodeClass | ||
23 | +{ | ||
24 | + public function __construct($name) | ||
25 | + { | ||
26 | + parent::__construct($name); | ||
27 | + } | ||
28 | + | ||
29 | + public function addManual1DBins($xBinNumber) | ||
30 | + { | ||
31 | + $node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBINS_MANUAL); | ||
32 | + | ||
33 | + if (!isset($node)) | ||
34 | + { | ||
35 | + $node = new NodeClass(REQUESTOUTPUTPLOTBINS_MANUAL); | ||
36 | + $this->addChild($node); | ||
37 | + } | ||
38 | + | ||
39 | + $node->setAttribute(REQUESTOUTPUTPLOTBINS_XBINNUMBER, $xBinNumber); | ||
40 | + return $node; | ||
41 | + } | ||
42 | + | ||
43 | +} | ||
44 | + | ||
45 | +class RequestOutputPlotHistotype1DNodeClass extends NodeClass | ||
46 | +{ | ||
47 | + public function __construct($name) | ||
48 | + { | ||
49 | + parent::__construct($name); | ||
50 | + } | ||
51 | + | ||
52 | + public function set1DFunction($type){ | ||
53 | + $this->setAttribute(REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION, $type); | ||
54 | + } | ||
55 | + public function get1DFunction(){ | ||
56 | + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOTYPE_FUNCTION); | ||
57 | + } | ||
58 | +} | ||
59 | + | ||
60 | +class RequestOutputPlotHistogram1DSerieNodeClass extends RequestOutputPlotBaseSerieNodeClass | ||
61 | +{ | ||
62 | + public function __construct($name) | ||
63 | + { | ||
64 | + parent::__construct($name); | ||
65 | + } | ||
66 | + | ||
67 | + public function getBins() | ||
68 | + { | ||
69 | + $node = $this->getFirstChildByName(REQUESTOUTPUTPLOTBINS_NAME); | ||
70 | + | ||
71 | + if (!isset($node)) | ||
72 | + { | ||
73 | + $node = new RequestOutputPlotBins1DNodeClass(REQUESTOUTPUTPLOTBINS_NAME); | ||
74 | + $this->addChild($node); | ||
75 | + } | ||
76 | + | ||
77 | + return $node; | ||
78 | + } | ||
79 | + | ||
80 | + public function getHistotype() | ||
81 | + { | ||
82 | + $node = $this->getFirstChildByName(REQUESTOUTPUTPLOTHISTOTYPE_NAME); | ||
83 | + | ||
84 | + if (!isset($node)) | ||
85 | + { | ||
86 | + $node = new RequestOutputPlotHistotype1DNodeClass(REQUESTOUTPUTPLOTHISTOTYPE_NAME); | ||
87 | + $this->addChild($node); | ||
88 | + } | ||
89 | + | ||
90 | + return $node; | ||
91 | + } | ||
92 | + | ||
93 | + public function setColor($color) | ||
94 | + { | ||
95 | + $this->setAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_COLOR, $color); | ||
96 | + } | ||
97 | + | ||
98 | + public function getColor() | ||
99 | + { | ||
100 | + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_COLOR); | ||
101 | + } | ||
102 | + | ||
103 | + public function setIndex($index) | ||
104 | + { | ||
105 | + $this->setAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX, $index); | ||
106 | + } | ||
107 | + | ||
108 | + public function getIndex() | ||
109 | + { | ||
110 | + return $this->getAttribute(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX); | ||
111 | + } | ||
112 | + | ||
113 | + public function loadFromNode($xmlNode) | ||
114 | + { | ||
115 | + $this->setIndex($this->getXmlNodeAttribute($xmlNode, REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_INDEX)); | ||
116 | + parent::loadFromNode($xmlNode); | ||
117 | + } | ||
118 | +} | ||
119 | + | ||
120 | +?> |
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotPanelNodeClass.php
@@ -23,6 +23,7 @@ abstract class RequestOutputPlotElementTypeEnum | @@ -23,6 +23,7 @@ abstract class RequestOutputPlotElementTypeEnum | ||
23 | { | 23 | { |
24 | const TIMEPLOT = "TimePlot"; | 24 | const TIMEPLOT = "TimePlot"; |
25 | const XYPLOT = "XYPlot"; | 25 | const XYPLOT = "XYPlot"; |
26 | + const HISTOPLOT = "HistoPlot"; | ||
26 | const STATUSPLOT = "StatusPlot"; | 27 | const STATUSPLOT = "StatusPlot"; |
27 | const TICKPLOT = "TickPlot"; | 28 | const TICKPLOT = "TickPlot"; |
28 | const EPOCHPLOT = "EpochPlot"; | 29 | const EPOCHPLOT = "EpochPlot"; |
@@ -107,6 +108,9 @@ class RequestOutputPlotPanelNodeClass extends NodeClass | @@ -107,6 +108,9 @@ class RequestOutputPlotPanelNodeClass extends NodeClass | ||
107 | case RequestOutputPlotElementTypeEnum::XYPLOT: | 108 | case RequestOutputPlotElementTypeEnum::XYPLOT: |
108 | $node = new RequestOutputPlotElementXYNodeClass(); | 109 | $node = new RequestOutputPlotElementXYNodeClass(); |
109 | break; | 110 | break; |
111 | + case RequestOutputPlotElementTypeEnum::HISTOPLOT: | ||
112 | + $node = new RequestOutputPlotElementHistoNodeClass(); | ||
113 | + break; | ||
110 | case RequestOutputPlotElementTypeEnum::STATUSPLOT: | 114 | case RequestOutputPlotElementTypeEnum::STATUSPLOT: |
111 | $node = new RequestOutputPlotElementStatusNodeClass($noAxes); | 115 | $node = new RequestOutputPlotElementStatusNodeClass($noAxes); |
112 | break; | 116 | break; |
src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotParamsNodeClass.php
@@ -115,6 +115,18 @@ class RequestOutputPlotParamNodeClass extends NodeClass | @@ -115,6 +115,18 @@ class RequestOutputPlotParamNodeClass extends NodeClass | ||
115 | return $histogram2dNode; | 115 | return $histogram2dNode; |
116 | } | 116 | } |
117 | 117 | ||
118 | + public function addHistogram1DSerie($yAxis, $index, $color) | ||
119 | + { | ||
120 | + $histogram1dNode = new RequestOutputPlotHistogram1DSerieNodeClass(REQUESTOUTPUTPLOTHISTOGRAM1DSERIE_NAME); | ||
121 | + $histogram1dNode->setColor($color); | ||
122 | + $histogram1dNode->setXAxisId(REQUESTOUTPUTPLOTELEMENTXY_XAXISID); | ||
123 | + $histogram1dNode->setYAxisId($yAxis); | ||
124 | + if ($index >= 0) | ||
125 | + $histogram1dNode->setIndex($index); | ||
126 | + $this->addChild($histogram1dNode); | ||
127 | + return $histogram1dNode; | ||
128 | + } | ||
129 | + | ||
118 | public function addOrbitSerie($yAxis, $colorSerieId = -1) | 130 | public function addOrbitSerie($yAxis, $colorSerieId = -1) |
119 | { | 131 | { |
120 | $orbitSerieNode = new RequestOutputPlotOrbitSerieNodeClass(); | 132 | $orbitSerieNode = new RequestOutputPlotOrbitSerieNodeClass(); |