diff --git a/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php b/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php index 3300313..61f06ff 100644 --- a/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php +++ b/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php @@ -717,6 +717,10 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); $this->unmarshallInstantSerie($paramData->{'param-drawing-object'}, $plotNode, $paramNode); break; + case 'ispectro' : + $paramNode = $plotNode->getParams()->getParamById($paramInfo['id']); + $this->unmarshallInstantSpectro($paramData->{'param-drawing-object'}, $plotNode, $paramNode, $paramInfo['indexes']); + break; default : throw new Exception('Drawing type not implemented.'); } @@ -991,6 +995,12 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass $spectroNode = $paramNode->addSpectro($paramDrawingData->{'spectro-yaxis'}, count($indexes) > 0 ? $indexes[0] : NULL, $paramDrawingData->{'spectro-value-min'}, $paramDrawingData->{'spectro-value-max'}); } + protected function unmarshallInstantSpectro($paramDrawingData, $plotNode, $paramNode, $indexes) + { + //TBD how to process inexes if they are defined ? + $spectroNode = $paramNode->addInstantSpectro(REQUESTOUTPUTPLOTELEMENTXY_XAXISID, 'y-left', $paramDrawingData->{'ispectro-dimonxaxis'}); + } + protected function unmarshallStatusBar($paramDrawingData, $paramNode, $indexes) { if (count($indexes) == 0) diff --git a/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotParamsNodeClass.php b/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotParamsNodeClass.php index 7b8981c..e3c601e 100644 --- a/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotParamsNodeClass.php +++ b/src/Request/ParamsRequestImpl/Nodes/Requests/RequestOutputPlotParamsNodeClass.php @@ -25,6 +25,10 @@ define ("REQUESTOUTPUTPLOTSPECTRO_INDEX", "index"); define ("REQUESTOUTPUTPLOTSPECTRO_MIN", "min"); define ("REQUESTOUTPUTPLOTSPECTRO_MAX", "max"); +define ("REQUESTOUTPUTPLOTINSTANTSPECTRO_NAME", "ispectro"); +define ("REQUESTOUTPUTPLOTINSTANTSPECTRO_XAXIS", "xAxis"); +define ("REQUESTOUTPUTPLOTINSTANTSPECTRO_DIMONXAXIS", "dimOnXAxis"); + define ("REQUESTOUTPUTPLOTSTATUSBAR_NAME", "serie"); define ("REQUESTOUTPUTPLOTSTATUSBAR_INDEX", "index"); @@ -109,6 +113,21 @@ class RequestOutputPlotParamNodeClass extends NodeClass $this->addChild($spectroNode); return $spectroNode; } + + public function addInstantSpectro($xAxis, $yAxis, $dimOnXAxis, $index = NULL, $min = NULL, $max = NULL) + { + $ispectroNode = new NodeClass(REQUESTOUTPUTPLOTINSTANTSPECTRO_NAME); + $ispectroNode->setAttribute(REQUESTOUTPUTPLOTINSTANTSPECTRO_XAXIS, $xAxis); + $ispectroNode->setAttribute(REQUESTOUTPUTPLOTSPECTRO_YAXIS, $yAxis); + $ispectroNode->setAttribute(REQUESTOUTPUTPLOTINSTANTSPECTRO_DIMONXAXIS, $dimOnXAxis); + + if (isset($min)) + $ispectroNode->setAttribute(REQUESTOUTPUTPLOTSPECTRO_MIN, $min); + if (isset($max)) + $ispectroNode->setAttribute(REQUESTOUTPUTPLOTSPECTRO_MAX, $max); + $this->addChild($ispectroNode); + return $ispectroNode; + } public function addXSerie($xAxis = "", $index = -1, $min = NULL, $max = NULL) { -- libgit2 0.21.2