diff --git a/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php b/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
index 68e80c7..97a9b17 100644
--- a/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
+++ b/src/InputOutput/IHMImpl/Params/PlotImpl/IHMInputOutputParamsPlotClass.php
@@ -15,8 +15,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 	
 	private $isInstantPlot = false;
 	
-	private $interactiveRequestRealIndexes = array();
-	private $interactiveMultiPlotState = array();
 	private $interactiveTimeSelectionState = array();
 	private $interactiveCrtTTFileIndex = -1;
 	private $interactivePreview = false;
@@ -26,8 +24,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 	*/
 	protected function unmarshallRequest($input)
 	{
-		$this->interactiveRequestRealIndexes = array();
-		
 		$forceTimeZoomReset = false;
 		
 		if (isset($input->{'action'}))
@@ -43,251 +39,189 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		}
 			
 		//Request
-		$requestIndexInParamData = 0;
-		$tabRequestIndex = 0;
 		$this->isInteractiveRequest = ($input->{'file-output'} == 'INTERACTIVE');
 		$this->isFromWS = ($input->{'file-output'} == 'WS');
 		$postProcessCmd = "";
-		foreach ($input->tabs as $tab)
-		{
-			if (isset($activeTab))
-			{
-				if ($this->isInteractiveRequest)
-				{
-					if ($activeTab->{'multi-plot-linked'} && !$tab->{'multi-plot-linked'})
-					{
-						++$tabRequestIndex;
-						//Tab is not linked to the Multi Plot Mode
-						continue;
-					}
-					else if (!$activeTab->{'multi-plot-linked'} && ($tab->{'id'} != $activeTab->{'id'}))
-					{
-						++$tabRequestIndex;
-						//Plot only current active tab
-						continue;
-					}
-					else if (isset($input->{'force-single-replot'}) && $input->{'force-single-replot'} && ($tab->{'id'} != $activeTab->{'id'}))
-					{
-						++$tabRequestIndex;
-						//Plot only current active tab when 'force-single-replot' is active
-						continue;
-					}
-					//Reset zoom list if needed
-					if ($forceTimeZoomReset)
-						$this->resetZoomListForTab($tab->{'id'}, $forceTimeZoomReset);
-				}
-				else
-				{
-					if ($tab->{'id'} != $activeTab->{'id'})
-					{
-						++$tabRequestIndex;
-						//In no interactive request, plot only active tab
-						continue;
-					}
-					//Reset zoom list if needed
-					if ($forceTimeZoomReset)
-						$this->resetZoomListForTab($tab->{'id'}, $forceTimeZoomReset);
-				}
-			}
+
+		if ($forceTimeZoomReset)
+			$this->resetZoomListForTab($input->{'id'}, $forceTimeZoomReset);
 			
-			$requestNode = $this->paramsData->addRequestNode();
-			$requestNode->setRealIndex($tabRequestIndex);
-			$outputsNode = $requestNode->getOutputsNode();
-			$paramsNode  = $requestNode->getParamsNode();
+		$requestNode = $this->paramsData->addRequestNode();
+		$outputsNode = $requestNode->getOutputsNode();
+		$paramsNode  = $requestNode->getParamsNode();
 			
-			//unmarshall time definition
-			if ($tab->{'multi-plot-linked'})
-			{
-				$isIntervalRequest = ($input->timesrc == 'Interval');
-				$ttFileIndex = -1;
-				$ttIntIndex  = -1;
-				if ($this->isInteractiveRequest && !$isIntervalRequest && !$tab->{'page-superpose-mode'})
-				{
-					$ttFileIndex = !isset($input->{'ttFileIndex'}) ? 0 : $input->{'ttFileIndex'};
-					$ttIntIndex = !isset($input->{'intIndex'}) ? 0 : $input->{'intIndex'};
-				}
-				$this->unmarshallTimeDefinition($input, $requestIndexInParamData, $ttFileIndex, $ttIntIndex);
-			}
-			else
-			{
-				$isIntervalRequest = ($tab->timesrc == 'Interval');
-				$ttFileIndex = -1;
-				$ttIntIndex  = -1;
-				if ($this->isInteractiveRequest && !$isIntervalRequest && !$tab->{'page-superpose-mode'})
-				{
-					$ttFileIndex = !isset($activeTab->{'ttFileIndex'}) ? 0 : $activeTab->{'ttFileIndex'};
-					$ttIntIndex = !isset($activeTab->{'intIndex'}) ? 0 : $activeTab->{'intIndex'};
-				}
-				$this->unmarshallTimeDefinition($tab, $requestIndexInParamData, $ttFileIndex, $ttIntIndex);
-			}
+		//unmarshall time definition
+		$isIntervalRequest = ($input->timesrc == 'Interval');
+		$ttFileIndex = -1;
+		$ttIntIndex  = -1;
+		if ($this->isInteractiveRequest && !$isIntervalRequest && !$input->{'page-superpose-mode'})
+		{
+			$ttFileIndex = !isset($input->{'ttFileIndex'}) ? 0 : $input->{'ttFileIndex'};
+			$ttIntIndex = !isset($input->{'intIndex'}) ? 0 : $input->{'intIndex'};
+		}
+		$this->unmarshallTimeDefinition($input, 0, $ttFileIndex, $ttIntIndex);
 			
-			$this->interactiveCrtTTFileIndex = $ttFileIndex;
+		$this->interactiveCrtTTFileIndex = $ttFileIndex;
 			
-			$plotOutputNode = $outputsNode->addNewOutput(RequestOutputTypeEnum::PLOT);
+		$plotOutputNode = $outputsNode->addNewOutput(RequestOutputTypeEnum::PLOT);
 			
-			$plotOutputNode->setWriteContextFile($this->isInteractiveRequest ? "true" : "false");
+		$plotOutputNode->setWriteContextFile($this->isInteractiveRequest ? "true" : "false");
 			
-			$compression = "";
-			if (!$this->isInteractiveRequest && !$this->isFromWS)
+		$compression = "";
+		if (!$this->isInteractiveRequest && !$this->isFromWS)
+		{
+			switch ($input->{'file-output'})
 			{
-				switch ($input->{'file-output'})
-				{
-					case 'TGZ' :
-						$plotOutputNode->addPostProcessing(RequestOutputPostProcessingEnumClass::TAR);
-						$plotOutputNode->addPostProcessing(RequestOutputPostProcessingEnumClass::GZIP);
-						$compression = ".tar.gz";
-						break;
-					case 'ZIP' :
-						$plotOutputNode->addPostProcessing(RequestOutputPostProcessingEnumClass::ZIP);
-						$compression = ".zip";
-						break;
-					default:
-						throw new Exception('Compression not implemented.');
-				}
+				case 'TGZ' :
+					$plotOutputNode->addPostProcessing(RequestOutputPostProcessingEnumClass::TAR);
+					$plotOutputNode->addPostProcessing(RequestOutputPostProcessingEnumClass::GZIP);
+					$compression = ".tar.gz";
+					break;
+				case 'ZIP' :
+					$plotOutputNode->addPostProcessing(RequestOutputPostProcessingEnumClass::ZIP);
+					$compression = ".zip";
+					break;
+				default:
+					throw new Exception('Compression not implemented.');
 			}
+		}
 			
-			if ($input->{'one-file-per-interval'})
-				$plotOutputNode->setStructure(RequestOutputPlotStructureEnum::ONE_FILE_PER_INTERVAL);
-			else
-				$plotOutputNode->setStructure(RequestOutputPlotStructureEnum::ONE_FILE);
+		if ($input->{'one-file-per-interval'})
+			$plotOutputNode->setStructure(RequestOutputPlotStructureEnum::ONE_FILE_PER_INTERVAL);
+		else
+			$plotOutputNode->setStructure(RequestOutputPlotStructureEnum::ONE_FILE);
 			
-			//prefix
-			$filePrefix = "plot_";
-			if ($input->{'file-prefix'} && ($input->{'file-prefix'} != ""))
-				$filePrefix = $input->{'file-prefix'};
-			$filePrefix .= $tab->{'id'};
+		//prefix
+		$filePrefix = "plot_";
+		if ($input->{'file-prefix'} && ($input->{'file-prefix'} != ""))
+			$filePrefix = $input->{'file-prefix'};
+		$filePrefix .= $input->{'id'};
 			
-			$plotOutputNode->setFilePrefix($filePrefix);
+		$plotOutputNode->setFilePrefix($filePrefix);
 			
-			//page
-			$pageNode = $plotOutputNode->getPage();
+		//page
+		$pageNode = $plotOutputNode->getPage();
 			
-			$fileFormat = RequestOutputPlotPageFormatEnum::PNG;
-			$extension = ".png";
-			switch ($input->{'file-format'})
-			{
-				case 'PNG' :
-					$fileFormat = RequestOutputPlotPageFormatEnum::PNG;
-					$extension = ".png";
-					break;
-				case 'PDF' :
-					$fileFormat = RequestOutputPlotPageFormatEnum::PDF;
-					$extension = ".pdf";
-					break;
-				case 'PS' :
-					$fileFormat = RequestOutputPlotPageFormatEnum::PS;
-					$extension = ".ps";
-					break;
-				case 'SVG' :
-					$fileFormat = RequestOutputPlotPageFormatEnum::SVG;
-					$extension = ".svg";
-					break;
-				default:
-					throw new Exception('File format not implemented.');
-			}
+		$fileFormat = RequestOutputPlotPageFormatEnum::PNG;
+		$extension = ".png";
+		switch ($input->{'file-format'})
+		{
+			case 'PNG' :
+				$fileFormat = RequestOutputPlotPageFormatEnum::PNG;
+				$extension = ".png";
+				break;
+			case 'PDF' :
+				$fileFormat = RequestOutputPlotPageFormatEnum::PDF;
+				$extension = ".pdf";
+				break;
+			case 'PS' :
+				$fileFormat = RequestOutputPlotPageFormatEnum::PS;
+				$extension = ".ps";
+				break;
+			case 'SVG' :
+				$fileFormat = RequestOutputPlotPageFormatEnum::SVG;
+				$extension = ".svg";
+				break;
+			default:
+				throw new Exception('File format not implemented.');
+		}
 			
-			$pageNode->setFormat($fileFormat);
+		$pageNode->setFormat($fileFormat);
 			
-			$this->unmarshallTitle($tab, 'page-title', $pageNode->getTitle());
+		$this->unmarshallTitle($input, 'page-title', $pageNode->getTitle());
 			
-			$isPortrait = false;
-			switch ($tab->{'page-orientation'})
-			{
-				case 'landscape' :
-					$pageNode->setOrientation(RequestOutputPlotPageOrientationEnum::LANDSCAPE);
-					break;
-				case 'portrait' :
-					$pageNode->setOrientation(RequestOutputPlotPageOrientationEnum::PORTRAIT);
-					$isPortrait = true;
-					break;
-			}
+		$isPortrait = false;
+		switch ($input->{'page-orientation'})
+		{
+			case 'landscape' :
+				$pageNode->setOrientation(RequestOutputPlotPageOrientationEnum::LANDSCAPE);
+				break;
+			case 'portrait' :
+				$pageNode->setOrientation(RequestOutputPlotPageOrientationEnum::PORTRAIT);
+				$isPortrait = true;
+				break;
+		}
 			
-			switch ($tab->{'page-dimension'})
-			{
-				case 'ISO A4' :
-					$pageNode->setDimension(RequestOutputPlotPageDimensionEnum::ISO_A4);
-					break;
-				case 'US letter' :
-					$pageNode->setDimension(RequestOutputPlotPageDimensionEnum::US_LETTER);
-					break;
-				default:
-					throw new Exception('Page dimension not implemented.');
-			}
+		switch ($input->{'page-dimension'})
+		{
+			case 'ISO A4' :
+				$pageNode->setDimension(RequestOutputPlotPageDimensionEnum::ISO_A4);
+				break;
+			case 'US letter' :
+				$pageNode->setDimension(RequestOutputPlotPageDimensionEnum::US_LETTER);
+				break;
+			default:
+				throw new Exception('Page dimension not implemented.');
+		}
 			
-			switch ($tab->{'page-mode'})
-			{
+		switch ($input->{'page-mode'})
+		{
 				
-				case 'grayscale' :
-					$pageNode->setMode(RequestOutputPlotPageModeEnum::GRAYSCALE);
-					break;
-				case 'color' :
-				default:
-					$pageNode->setMode(RequestOutputPlotPageModeEnum::COLOR);
-					break;
-			}
-			
-			if ($tab->{'page-margins-activated'})
-			{
-				$pageNode->getMargins()->setHorizontal($tab->{'page-margin-x'});
-				$pageNode->getMargins()->setVertical($tab->{'page-margin-y'});
-			}
+			case 'grayscale' :
+				$pageNode->setMode(RequestOutputPlotPageModeEnum::GRAYSCALE);
+				break;
+			case 'color' :
+			default:
+				$pageNode->setMode(RequestOutputPlotPageModeEnum::COLOR);
+				break;
+		}
 			
-			if ($tab->{'page-font-activated'})
-				$this->unmarshallFont($tab, 'page-font', $pageNode->getFont());
+		if ($input->{'page-margins-activated'})
+		{
+			$pageNode->getMargins()->setHorizontal($input->{'page-margin-x'});
+			$pageNode->getMargins()->setVertical($input->{'page-margin-y'});
+		}
 			
-			//Superpose mode
-			$pageNode->setSuperposeMode($tab->{'page-superpose-mode'} ? "true": "false");
+		if ($input->{'page-font-activated'})
+			$this->unmarshallFont($input, 'page-font', $pageNode->getFont());
 			
-			//Layout
-			$this->unmarshallLayout($tab, $pageNode);
+		//Superpose mode
+		$pageNode->setSuperposeMode($input->{'page-superpose-mode'} ? "true": "false");
 			
-			foreach ($tab->{'panels'} as $panelData)
-				$this->unmarshallPanel($panelData, $pageNode, $paramsNode);
+		//Layout
+		$this->unmarshallLayout($input, $pageNode);
 			
-			if ($this->isInteractiveRequest || $this->isFromWS)
-			{
-				$resultFile = $filePrefix."_*".$extension;
-				$waitingResultFile = $filePrefix.$extension;
-			}
-			else
-			{
-				$resultFile = $filePrefix."_*".$compression;
-				$waitingResultFile = $filePrefix.$compression;
-			}
+		foreach ($input->{'panels'} as $panelData)
+			$this->unmarshallPanel($panelData, $pageNode, $paramsNode);
 			
-			if ($this->isInteractiveRequest)
-			{
-				$this->interactiveRequestRealIndexes[PLOT_RESULT_FILE_KEY."_".$tab->{'id'}] = $tabRequestIndex;
-				$this->interactiveMultiPlotState[PLOT_RESULT_FILE_KEY."_".$tab->{'id'}] = $tab->{'multi-plot-linked'};
-				$this->interactiveTimeSelectionState[PLOT_RESULT_FILE_KEY."_".$tab->{'id'}] = $isIntervalRequest;
-				$this->interactivePreview = isset($input->{'interactive-preview'}) && ($input->{'interactive-preview'});
-				$this->paramsData->addWaitingResult(PLOT_RESULT_FILE_KEY."_".$tab->{'id'}, $waitingResultFile);
-			}
-			else
-				$this->paramsData->addWaitingResult(PLOT_RESULT_FILE_KEY, $waitingResultFile);
+		if ($this->isInteractiveRequest || $this->isFromWS)
+		{
+			$resultFile = $filePrefix."_*".$extension;
+			$waitingResultFile = $filePrefix.$extension;
+		}
+		else
+		{
+			$resultFile = $filePrefix."_*".$compression;
+			$waitingResultFile = $filePrefix.$compression;
+		}
 			
-			//Remove old result files
-			foreach (glob($this->paramsData->getWorkingPath().$resultFile) as $oldFile) {
-				unlink($oldFile);
-			}
+		if ($this->isInteractiveRequest)
+		{
+			$this->interactiveTimeSelectionState[PLOT_RESULT_FILE_KEY."_".$input->{'id'}] = $isIntervalRequest;
+			$this->interactivePreview = isset($input->{'interactive-preview'}) && ($input->{'interactive-preview'});
+			$this->paramsData->addWaitingResult(PLOT_RESULT_FILE_KEY."_".$input->{'id'}, $waitingResultFile);
+		}
+		else
+			$this->paramsData->addWaitingResult(PLOT_RESULT_FILE_KEY, $waitingResultFile);
 			
-			//Post process command to apply to the result file
-			if ($postProcessCmd != "")
-				$postProcessCmd .= " | ";
-			$postProcessCmd .= "mv ".$resultFile." ".$waitingResultFile;
+		//Remove old result files
+		foreach (glob($this->paramsData->getWorkingPath().$resultFile) as $oldFile) {
+			unlink($oldFile);
+		}
 			
-			if (($this->isInteractiveRequest) && $isPortrait)
-				$postProcessCmd .= " | convert ".$waitingResultFile." -rotate -90 ".$waitingResultFile;
-			else if ($this->isFromWS)
-			{
-				if ($isPortrait)
-					$postProcessCmd .= " | convert ".$waitingResultFile." -rotate -90 ".$input->{"ws-result-file"};
-				else
-					$postProcessCmd .= " | mv ".$waitingResultFile." ".$input->{"ws-result-file"};
-			}
+		//Post process command to apply to the result file
+		if ($postProcessCmd != "")
+			$postProcessCmd .= " | ";
+		$postProcessCmd .= "mv ".$resultFile." ".$waitingResultFile;
 			
-			++$tabRequestIndex;
-			++$requestIndexInParamData;
+		if (($this->isInteractiveRequest) && $isPortrait)
+			$postProcessCmd .= " | convert ".$waitingResultFile." -rotate -90 ".$waitingResultFile;
+		else if ($this->isFromWS)
+		{
+			if ($isPortrait)
+				$postProcessCmd .= " | convert ".$waitingResultFile." -rotate -90 ".$input->{"ws-result-file"};
+			else
+				$postProcessCmd .= " | mv ".$waitingResultFile." ".$input->{"ws-result-file"};
 		}
 		
 		$this->paramsData->setBatchEnable(!(($fileFormat == RequestOutputPlotPageFormatEnum::PNG) && $this->isInteractiveRequest));
@@ -296,39 +230,39 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		return $this->paramsData;
 	}
 	
-	protected function unmarshallLayout($tab, $pageNode)
+	protected function unmarshallLayout($request, $pageNode)
 	{
-		switch ($tab->{'page-layout-type'})
+		switch ($request->{'page-layout-type'})
 		{
 			case 'vertical' :
 				$pageNode->getLayout()->setType(RequestOutputPlotLayoutTypeEnum::VERTICAL);
-				$pageNode->getLayout()->setPanelHeight($tab->{'page-layout-object'}->{'layout-panel-height'});
-				$pageNode->getLayout()->setPanelSpacing($tab->{'page-layout-object'}->{'layout-panel-spacing'});
-				$pageNode->getLayout()->setExpand($tab->{'page-layout-object'}->{'layout-expand'} ? "true" : "false");
-				$pageNode->getLayout()->setOnlyLowerTimeAxesLegend($tab->{'page-layout-object'}->{'layout-timeaxes-legend-lowerone'} ? "true" : "false");
-				//if ($tab->{'page-layout-object'}->{'layout-timeplot-width'} > 0)
-				//	$pageNode->setDefaultTimePlotWidth($tab->{'page-layout-object'}->{'layout-timeplot-width'});
-				if ($tab->{'page-layout-object'}->{'layout-timeplot-height'} > 0)
-					$pageNode->setDefaultTimePlotHeight($tab->{'page-layout-object'}->{'layout-timeplot-height'});
-				if ($tab->{'page-layout-object'}->{'layout-xyplot-width'} > 0)
-					$pageNode->setDefaultXYPlotWidth($tab->{'page-layout-object'}->{'layout-xyplot-width'});
-				if ($tab->{'page-layout-object'}->{'layout-xyplot-height'} > 0)
-					$pageNode->setDefaultXYPlotHeight($tab->{'page-layout-object'}->{'layout-xyplot-height'});
+				$pageNode->getLayout()->setPanelHeight($request->{'page-layout-object'}->{'layout-panel-height'});
+				$pageNode->getLayout()->setPanelSpacing($request->{'page-layout-object'}->{'layout-panel-spacing'});
+				$pageNode->getLayout()->setExpand($request->{'page-layout-object'}->{'layout-expand'} ? "true" : "false");
+				$pageNode->getLayout()->setOnlyLowerTimeAxesLegend($request->{'page-layout-object'}->{'layout-timeaxes-legend-lowerone'} ? "true" : "false");
+				//if ($request->{'page-layout-object'}->{'layout-timeplot-width'} > 0)
+				//	$pageNode->setDefaultTimePlotWidth($request->{'page-layout-object'}->{'layout-timeplot-width'});
+				if ($request->{'page-layout-object'}->{'layout-timeplot-height'} > 0)
+					$pageNode->setDefaultTimePlotHeight($request->{'page-layout-object'}->{'layout-timeplot-height'});
+				if ($request->{'page-layout-object'}->{'layout-xyplot-width'} > 0)
+					$pageNode->setDefaultXYPlotWidth($request->{'page-layout-object'}->{'layout-xyplot-width'});
+				if ($request->{'page-layout-object'}->{'layout-xyplot-height'} > 0)
+					$pageNode->setDefaultXYPlotHeight($request->{'page-layout-object'}->{'layout-xyplot-height'});
 				break;
 			case 'auto' :
 				$pageNode->getLayout()->setType(RequestOutputPlotLayoutTypeEnum::AUTO);
-				$pageNode->getLayout()->setPanelHeight($tab->{'page-layout-object'}->{'layout-panel-height'});
-				$pageNode->getLayout()->setPanelSpacing($tab->{'page-layout-object'}->{'layout-panel-spacing'});
-				$pageNode->getLayout()->setExpand($tab->{'page-layout-object'}->{'layout-expand'} ? "true" : "false");
-				$pageNode->getLayout()->setOnlyLowerTimeAxesLegend($tab->{'page-layout-object'}->{'layout-timeaxes-legend-lowerone'} ? "true" : "false");
+				$pageNode->getLayout()->setPanelHeight($request->{'page-layout-object'}->{'layout-panel-height'});
+				$pageNode->getLayout()->setPanelSpacing($request->{'page-layout-object'}->{'layout-panel-spacing'});
+				$pageNode->getLayout()->setExpand($request->{'page-layout-object'}->{'layout-expand'} ? "true" : "false");
+				$pageNode->getLayout()->setOnlyLowerTimeAxesLegend($request->{'page-layout-object'}->{'layout-timeaxes-legend-lowerone'} ? "true" : "false");
 				break;
 			case 'manual' :
 				$pageNode->getLayout()->setType(RequestOutputPlotLayoutTypeEnum::MANUAL);
-				$timePlotLeftMargin = $tab->{'page-layout-object'}->{'layout-timeplot-margin-left'} ? $tab->{'page-layout-object'}->{'layout-timeplot-margin-left'} : -1;
-				$timePlotRightMargin = $tab->{'page-layout-object'}->{'layout-timeplot-margin-right'} ? $tab->{'page-layout-object'}->{'layout-timeplot-margin-right'} : -1;
+				$timePlotLeftMargin = $request->{'page-layout-object'}->{'layout-timeplot-margin-left'} ? $request->{'page-layout-object'}->{'layout-timeplot-margin-left'} : -1;
+				$timePlotRightMargin = $request->{'page-layout-object'}->{'layout-timeplot-margin-right'} ? $request->{'page-layout-object'}->{'layout-timeplot-margin-right'} : -1;
 				$pageNode->setDefaultTimePlotXMargin($timePlotLeftMargin, $timePlotRightMargin);
-				$xyPlotLeftMargin = $tab->{'page-layout-object'}->{'layout-xyplot-margin-left'} ? $tab->{'page-layout-object'}->{'layout-xyplot-margin-left'} : -1;
-				$xyPlotRightMargin = $tab->{'page-layout-object'}->{'layout-xyplot-margin-right'} ? $tab->{'page-layout-object'}->{'layout-xyplot-margin-right'} : -1;
+				$xyPlotLeftMargin = $request->{'page-layout-object'}->{'layout-xyplot-margin-left'} ? $request->{'page-layout-object'}->{'layout-xyplot-margin-left'} : -1;
+				$xyPlotRightMargin = $request->{'page-layout-object'}->{'layout-xyplot-margin-right'} ? $request->{'page-layout-object'}->{'layout-xyplot-margin-right'} : -1;
 				$pageNode->setDefaultXYPlotXMargin($xyPlotLeftMargin, $xyPlotRightMargin);
 				break;
 			default:
@@ -1470,8 +1404,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 					
 					$result[] = array(
 						"id" => $key,
-						"index" => $this->interactiveRequestRealIndexes[$key],
-						"multiplot" => $this->interactiveMultiPlotState[$key],
 						"preview" => $this->interactivePreview,
 						"isInterval" => $this->interactiveTimeSelectionState[$key],
 						"ttFileIndex" => $this->interactiveCrtTTFileIndex,
@@ -1709,43 +1641,21 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		if ($input->{'axeId'} == 'timeAxis')
 		{
 			//Zoom on Time Axis
-			if ($crtTab->{'multi-plot-linked'})
+			if ($crtTab->{'timesrc'} != 'Interval')
 			{
-				//Update multi plot time definition
-				if ($plotInput->{'timesrc'} != 'Interval')
-				{
-					$plotInput->{'timesrc'} = 'Interval';
-					if (!$isUndo)
-						$this->addZoomInList($input,false,
-								isset($plotInput->{'ttFileIndex'}) ? $plotInput->{'ttFileIndex'}:  0,
-								isset($plotInput->{'intIndex'}) ? $plotInput->{'intIndex'}:  0);
-				}
-				else
-				{
-					if (!$isUndo)
-						$this->addZoomInList($input,true,$plotInput->{'startDate'},$plotInput->{'stopDate'});
-				}
-				$plotInput->{'startDate'} = $input->{'min'};
-				$plotInput->{'stopDate'} = $input->{'max'};
+				$crtTab->{'timesrc'} = 'Interval';
+				if (!$isUndo)
+					$this->addZoomInList($input,false,
+							isset($crtTab->{'ttFileIndex'}) ? $crtTab->{'ttFileIndex'} : 0,
+							isset($crtTab->{'intIndex'}) ? $crtTab->{'intIndex'} : 0);
 			}
 			else
 			{
-				if ($crtTab->{'timesrc'} != 'Interval')
-				{
-					$crtTab->{'timesrc'} = 'Interval';
-					if (!$isUndo)
-						$this->addZoomInList($input,false,
-								isset($crtTab->{'ttFileIndex'}) ? $crtTab->{'ttFileIndex'} : 0,
-								isset($crtTab->{'intIndex'}) ? $crtTab->{'intIndex'} : 0);
-				}
-				else
-				{
-					if (!$isUndo)
-						$this->addZoomInList($input,true,$crtTab->{'startDate'},$crtTab->{'stopDate'});
-				}
-				$crtTab->{'startDate'} = $input->{'min'};
-				$crtTab->{'stopDate'} = $input->{'max'};
+				if (!$isUndo)
+					$this->addZoomInList($input,true,$crtTab->{'startDate'},$crtTab->{'stopDate'});
 			}
+			$crtTab->{'startDate'} = $input->{'min'};
+			$crtTab->{'stopDate'} = $input->{'max'};
 				
 			$plotInput->{'last-plotted-tab'} = $crtTab->{'id'};
 			$plotInput->{'force-time-zoom-reset'} = false;
@@ -1820,16 +1730,8 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		if (!$crtTab)
 			throw new Exception('Cannot retrieve plot tab for navigation action.');
 		
-		if ($crtTab->{'multi-plot-linked'})
-		{
-			$startTime = $plotInput->{'startDate'};
-			$stopTime = $plotInput->{'stopDate'};
-		}
-		else
-		{
-			$startTime = $crtTab->{'startDate'};
-			$stopTime = $crtTab->{'stopDate'};
-		}
+		$startTime = $crtTab->{'startDate'};
+		$stopTime = $crtTab->{'stopDate'};
 		
 		//Compute new start / stop time
 		date_default_timezone_set('UTC');
@@ -1872,16 +1774,8 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		$stopTime = date("Y-m-d\TH:i:s",$stopTimeStamp);
 		
 		//Update request
-		if ($crtTab->{'multi-plot-linked'})
-		{
-			$plotInput->{'startDate'} = $startTime;
-			$plotInput->{'stopDate'} = $stopTime;
-		}
-		else
-		{
-			$crtTab->{'startDate'} = $startTime;
-			$crtTab->{'stopDate'} = $stopTime;
-		}
+		$crtTab->{'startDate'} = $startTime;
+		$crtTab->{'stopDate'} = $stopTime;
 		
 		$plotInput->{'last-plotted-tab'} = $crtTab->{'id'};
 		$plotInput->{'force-time-zoom-reset'} = true;
@@ -1907,18 +1801,9 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		
 		$plotInput->{'last-plotted-tab'} = $crtTab->{'id'};
 		
-		if ($crtTab->{'multi-plot-linked'})
-		{
-			$plotInput->{'timesrc'} = 'TimeTable';
-			$plotInput->{'ttFileIndex'} = $input->{'ttFileIndex'};
-			$plotInput->{'intIndex'} = $input->{'intIndex'};
-		}
-		else
-		{
-			$crtTab->{'timesrc'} = 'TimeTable';
-			$crtTab->{'ttFileIndex'} = $input->{'ttFileIndex'};
-			$crtTab->{'intIndex'} = $input->{'intIndex'};
-		}
+		$crtTab->{'timesrc'} = 'TimeTable';
+		$crtTab->{'ttFileIndex'} = $input->{'ttFileIndex'};
+		$crtTab->{'intIndex'} = $input->{'intIndex'};
 		
 		$plotInput->{'force-time-zoom-reset'} = true;
 		$this->saveIHMRequest($plotInput);
@@ -2017,7 +1902,6 @@ class IHMInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 		
 		$instantTab = (Object)array(
 			"id" => 1,
-			"multi-plot-linked" => true,
 			"page-margins-activated" => $crtTab->{"page-margins-activated"},
 			"page-margin-x" => $crtTab->{"page-margin-x"},
 			"page-margin-y" => $crtTab->{"page-margin-y"},
diff --git a/src/InputOutput/WSImpl/Params/PlotImpl/WSInputOutputParamsPlotClass.php b/src/InputOutput/WSImpl/Params/PlotImpl/WSInputOutputParamsPlotClass.php
index b0a0106..170d3eb 100644
--- a/src/InputOutput/WSImpl/Params/PlotImpl/WSInputOutputParamsPlotClass.php
+++ b/src/InputOutput/WSImpl/Params/PlotImpl/WSInputOutputParamsPlotClass.php
@@ -22,12 +22,10 @@ class WSInputOutputParamsPlotClass extends IHMInputOutputParamsAbstractClass
 	{
 		//Request
 		$requestIndexInParamData = 0;
-		$tabRequestIndex = 1;
 
 		$postProcessCmd = "";
 	 
 		$requestNode = $this->paramsData->addRequestNode();
-		$requestNode->setRealIndex($tabRequestIndex);
 		$outputsNode = $requestNode->getOutputsNode();
 		$paramsNode  = $requestNode->getParamsNode();
 
diff --git a/src/Request/ParamsRequestImpl/Nodes/Requests/RequestNodeClass.php b/src/Request/ParamsRequestImpl/Nodes/Requests/RequestNodeClass.php
index 6b94313..87e69ee 100644
--- a/src/Request/ParamsRequestImpl/Nodes/Requests/RequestNodeClass.php
+++ b/src/Request/ParamsRequestImpl/Nodes/Requests/RequestNodeClass.php
@@ -82,8 +82,6 @@ define ("REQUEST_NAME", "request");
 */
 class RequestNodeClass extends NodeClass
 {
-	private $realIndex = 0;
-	
 	public function __construct()
 	{
 		parent::__construct(REQUEST_NAME);
@@ -108,16 +106,6 @@ class RequestNodeClass extends NodeClass
 		return $this->getFirstChildByName(REQUESTOUTPUTS_NAME);
 	}
 	
-	public function setRealIndex($index)
-	{
-		$this->realIndex = $index;
-	}
-
-	public function getRealIndex()
-	{
-		return $this->realIndex;
-	}
-	
 	public function loadFromNode($xmlNode)
 	{
 		$paramsXmlNode = $this->getXmlNodeChildByTagName($xmlNode, REQUESTPARAMS_NAME);
@@ -135,4 +123,4 @@ class RequestNodeClass extends NodeClass
 	}
 }
 
-?>
\ No newline at end of file
+?>
diff --git a/src/Request/ParamsRequestImpl/ParamsRequestClass.php b/src/Request/ParamsRequestImpl/ParamsRequestClass.php
index 6b24bb5..ee35f0d 100644
--- a/src/Request/ParamsRequestImpl/ParamsRequestClass.php
+++ b/src/Request/ParamsRequestImpl/ParamsRequestClass.php
@@ -27,7 +27,7 @@ class ParamsRequestClass extends ProcessRequestClass
 				{
 					if ($cmd != "")
 						$cmd .= " && ";
-					$cmd .= KernelConfigClass::getKernelBinPath()."amdaXMLRequestorTool ".$this->getRequestFilePath($requestNode->getRealIndex());
+					$cmd .= KernelConfigClass::getKernelBinPath()."amdaXMLRequestorTool ".$this->getRequestFilePath(0);
 				}
 				$this->requestData->setCmd($cmd);
 				break;
@@ -72,15 +72,15 @@ class ParamsRequestClass extends ProcessRequestClass
 
 				if (!$xmlNode = $requestNode->toXMLNode($doc))
 				{
-					$this->requestData->setLastErrorMessage('Cannot create params request XML file for request '.$requestNode->getRealIndex());
+					$this->requestData->setLastErrorMessage('Cannot create params request XML file for request');
 					return false;
 				}
 			
 				$doc->appendChild($xmlNode);
 
-				if (!$doc->save($this->getRequestFilePath($requestNode->getRealIndex())))
+				if (!$doc->save($this->getRequestFilePath(0)))
 				{
-					$this->requestData->setLastErrorMessage('Cannot save params request XML file for request '.$requestNode->getRealIndex());
+					$this->requestData->setLastErrorMessage('Cannot save params request XML file for request');
 					return false;
 				}
 				
@@ -96,7 +96,7 @@ class ParamsRequestClass extends ProcessRequestClass
 					//}
 					//libxml_clear_errors();
 					
-					$this->requestData->setLastErrorMessage('Params request XML file not valid for request '.$requestNode->getRealIndex()/*.' ('.$error_msg.')'*/);
+					$this->requestData->setLastErrorMessage('Params request XML file not valid for request'/*.' ('.$error_msg.')'*/);
 					return false;
 				}
 				//libxml_use_internal_errors(false);
--
libgit2 0.21.2