Index: tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java	(revision 403)
+++ tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartCreator.java	(revision 404)
@@ -10,7 +10,7 @@
 import org.txm.chartsengine.core.ChartCreator;
 import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 
 
 
@@ -31,8 +31,8 @@
 	
 
 	@Override
-	public void updateChart(Object chart, ITXMResult result, String preferencesNode) {
-		this.updateChart(chart, result, preferencesNode, true);
+	public void updateChart(Object chart, TXMResult result) {
+		this.updateChart(chart, result, true);
 	}
 	
 
@@ -43,7 +43,7 @@
 	 * @param preferencesNode
 	 * @param applyTheme
 	 */
-	public void updateChart(Object chart, ITXMResult result, String preferencesNode, boolean applyTheme) {
+	public void updateChart(Object chart, TXMResult result, boolean applyTheme) {
 
 		// Java object
 		if(chart instanceof JFreeChart)	{
@@ -54,27 +54,27 @@
 
 			
 			if(c.getTitle() != null)	{
-				c.getTitle().setVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_TITLE));
+				c.getTitle().setVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_TITLE));
 			}
 			if(c.getLegend() != null)	{
-				c.getLegend().setVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_LEGEND));
+				c.getLegend().setVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_LEGEND));
 			}
 			
 			// CategoryPlot
 			if(c.getPlot() instanceof CategoryPlot)	{
 				CategoryPlot plot = (CategoryPlot) c.getPlot();
-				plot.setDomainGridlinesVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_GRID));
-				plot.setRangeGridlinesVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_GRID));
+				plot.setDomainGridlinesVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_GRID));
+				plot.setRangeGridlinesVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_GRID));
 			}
 			// XYPlot
 			else if(c.getPlot() instanceof XYPlot)	{
 				XYPlot plot = (XYPlot) c.getPlot();
-				plot.setRangeGridlinesVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_GRID));
-				plot.setDomainGridlinesVisible(TXMPreferences.getBoolean(preferencesNode, result, ChartsEnginePreferences.SHOW_GRID));
+				plot.setRangeGridlinesVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_GRID));
+				plot.setDomainGridlinesVisible(result.getBooleanParameterValue(ChartsEnginePreferences.SHOW_GRID));
 			}
 
 			if(applyTheme)	{
-				this.getChartsEngine().getJFCTheme().applyThemeToChart(c, result, preferencesNode, false);
+				this.getChartsEngine().getJFCTheme().applyThemeToChart(c, result, false);
 			}
 
 			c.setNotify(true);
@@ -82,7 +82,7 @@
 		// File
 		else if(chart instanceof File)	{
 			// creates a new chart but using the same file
-			this.createChartFile(result, (File)chart, preferencesNode);
+			this.createChartFile(result, (File)chart);
 				
 			// FIXME: using new file
 			//this.createChartFile(resultData, preferencesNode);
Index: tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/JFCTheme.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/JFCTheme.java	(revision 403)
+++ tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/base/JFCTheme.java	(revision 404)
@@ -37,7 +37,7 @@
 import org.txm.chartsengine.jfreechart.core.JFCChartsEngine;
 import org.txm.chartsengine.jfreechart.core.renderers.XYCardinalSplineRenderer;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 
 public class JFCTheme extends StandardChartTheme {
 
@@ -129,7 +129,7 @@
 	 * @param preferencesNode
 	 * @param applySeriesStrokes
 	 */
-	public void applyThemeToChart(JFreeChart chart, ITXMResult resultData, String preferencesNode, boolean applySeriesStrokes)	{
+	public void applyThemeToChart(JFreeChart chart, TXMResult result, boolean applySeriesStrokes)	{
 		// FIXME
 	}
 
@@ -138,19 +138,19 @@
 	/**
 	 * 
 	 * @param chart
-	 * @param resultData
+	 * @param result
 	 * @param preferencesNode
 	 */
-	public void applyThemeToChart(JFreeChart chart, ITXMResult resultData, String preferencesNode)	{
-		this.applyThemeToChart(chart, resultData, preferencesNode, false);
+	public void applyThemeToChart(JFreeChart chart, TXMResult result)	{
+		this.applyThemeToChart(chart, result, false);
 	}
 
 	/**
 	 * Creates fonts from the charts engine preferences current font.
 	 */
-	protected void createFonts(ITXMResult resultData, String preferencesNode)	{
+	protected void createFonts(TXMResult result)	{
 
-		Font baseFont = ChartsEngine.createFont(TXMPreferences.getString(preferencesNode, resultData, ChartsEnginePreferences.FONT));
+		Font baseFont = ChartsEngine.createFont(result.getStringParameterValue(ChartsEnginePreferences.FONT));
 		
 		// Titles
 	    this.setExtraLargeFont(baseFont.deriveFont(Font.BOLD, baseFont.getSize() + 5));
Index: tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/HighchartsDefaultTheme.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/HighchartsDefaultTheme.java	(revision 403)
+++ tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/themes/highcharts/defaulttheme/HighchartsDefaultTheme.java	(revision 404)
@@ -48,7 +48,7 @@
 import org.txm.chartsengine.jfreechart.core.themes.highcharts.defaulttheme.renderers.ItemSelectionXYSplineRenderer;
 import org.txm.chartsengine.jfreechart.core.themes.highcharts.defaulttheme.renderers.ItemSelectionXYStepRenderer;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 
 /**
  * Highcharts GWT library default rendering theme.
@@ -144,16 +144,16 @@
 	 * (The theme can not be used with ChartFactory.setChartTheme() because of additional plot, renderer and chart settings according to the type of chart.)
 	 * @param chart
 	 */
-    public void applyThemeToChart(JFreeChart chart, ITXMResult resultData, String preferencesNode, boolean applySeriesStrokes)	{
+    public void applyThemeToChart(JFreeChart chart, TXMResult result, boolean applySeriesStrokes)	{
 
-    	this.createFonts(resultData, preferencesNode);
+    	this.createFonts(result);
 
     	
     	super.apply(chart);
 
 
     	
-    	int itemsColorsRenderingMode = TXMPreferences.getInt(preferencesNode, resultData, ChartsEnginePreferences.RENDERING_COLORS_MODE);
+    	int itemsColorsRenderingMode = result.getIntParameterValue(ChartsEnginePreferences.RENDERING_COLORS_MODE);
     	
     	// FIXME : UI settings
 //		UIManager.put("ToolTip.background", Color.gray);
Index: tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartsEngine.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartsEngine.java	(revision 403)
+++ tmp/org.txm.chartsengine.jfreechart.core/src/org/txm/chartsengine/jfreechart/core/JFCChartsEngine.java	(revision 404)
@@ -88,7 +88,7 @@
 	 * Creates a JFreeChart charts engine with default Highcharts theme and output format from the preferences.
 	 */
 	public JFCChartsEngine() {
-		this(TXMPreferences.getString(JFCChartsEnginePreferences.PREFERENCE_NODE, JFCChartsEnginePreferences.OUTPUT_FORMAT));
+		this(TXMPreferences.getString(JFCChartsEnginePreferences.OUTPUT_FORMAT, JFCChartsEnginePreferences.PREFERENCE_NODE));
 	}
 	
 
Index: tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/JFCSWTChartsComponentsProvider.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/JFCSWTChartsComponentsProvider.java	(revision 403)
+++ tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/JFCSWTChartsComponentsProvider.java	(revision 404)
@@ -11,7 +11,7 @@
 import org.jfree.chart.plot.XYPlot;
 import org.txm.chartsengine.core.ChartCreator;
 import org.txm.chartsengine.core.ChartsEngine;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.chartsengine.jfreechart.core.JFCChartsEngine;
 import org.txm.chartsengine.jfreechart.core.renderers.MouseOverItemSelector;
 import org.txm.chartsengine.jfreechart.core.renderers.interfaces.IRendererWithItemSelection;
@@ -56,10 +56,10 @@
 
 	
 	@Override
-	public boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, ITXMResult result, String preferencesNode, String chartType)	{
+	public boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, TXMResult result, String chartType)	{
 		ChartCreator chartCreator = chartsEngine.getChartCreator(result.getClass(), chartType);
 		if(chartCreator != null)	{
-			JFreeChart chart = (JFreeChart) chartCreator.createChart(result, preferencesNode); 
+			JFreeChart chart = (JFreeChart) chartCreator.createChart(result); 
 			ChartPanel chartPanel = ((JFCChartsEngine) chartsEngine).getJFCTheme().createChartPanel(this, chart);
 			chartEditorInput.setChartContainer(chartPanel);
 
@@ -72,7 +72,7 @@
 			}
 			
 			// update for shared preferences, show title, show legend, colors rendering mode, etc.
-			chartCreator.updateChart(chart, result, preferencesNode);
+			chartCreator.updateChart(chart, result);
 
 			// sets and updates the local preferences node qualifier from the result data
 			chartEditorInput.syncLocalPreferencesNode();
Index: tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/RasterImageChartsComponentProvider.java
===================================================================
--- tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/RasterImageChartsComponentProvider.java	(revision 403)
+++ tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/RasterImageChartsComponentProvider.java	(revision 404)
@@ -17,7 +17,7 @@
 import org.txm.chartsengine.rcp.editors.ChartEditorInput;
 import org.txm.chartsengine.rcp.editors.ChartEditorPart;
 import org.txm.chartsengine.rcp.swt.ChartComposite;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.rcp.commands.OpenBrowser;
 import org.txm.rcp.editors.TXMWebBrowserEditor;
 import org.txm.rcp.utils.OpenURI;
@@ -43,9 +43,9 @@
 	
 
 	@Override
-	public ChartEditorPart createChartEditor(ITXMResult result, String preferencesNode, String chartType) {
+	public ChartEditorPart createChartEditor(TXMResult result, String chartType) {
 		ChartCreator chartCreator = this.getChartsEngine().getChartCreator(result.getClass(), chartType);
-		File file = chartCreator.createChartFile(result, preferencesNode);
+		File file = chartCreator.createChartFile(result);
 		// FIXME : to temporary restore the PS and PDF formats : need to be recoded if we decide to keep the PDF and PS view else to remove if we decide to keep only the feature as export
 		if(this.chartsEngine.getOutputFormat() == ChartsEngine.OUTPUT_FORMAT_PS || this.chartsEngine.getOutputFormat() == ChartsEngine.OUTPUT_FORMAT_PDF)	{
 			OpenURI.open(file);
@@ -54,8 +54,8 @@
 		
 		//return (ChartEditorPart) this.openFile(editorInputName, null, file);
 		
-		ChartEditorInput chartEditorInput = new ChartEditorInput(this, result, preferencesNode, chartType, null);
-		this.createChart(chartEditorInput, result, preferencesNode, chartType);
+		ChartEditorInput chartEditorInput = new ChartEditorInput(this, result, chartType, null);
+		this.createChart(chartEditorInput, result, chartType);
 		ChartEditorPart editor = new ChartEditorPart(this, chartEditorInput);
 		
 		//ChartEditorPart editor = new ChartEditorPart(this, editorInputName, resultData, preferencesNode, chartType, this.getChartsEngine().getChartCreator(resultData.getClass(), chartType).createChartFile(resultData, preferencesNode));
@@ -68,10 +68,10 @@
 	}
 
 	@Override
-	public boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, ITXMResult result, String preferencesNode, String chartType) {
+	public boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, TXMResult result, String chartType) {
 		ChartCreator chartCreator = chartsEngine.getChartCreator(result.getClass(), chartType);
 		if(chartCreator != null)	{
-			chartEditorInput.setChartContainer(chartCreator.createChartFile(result, preferencesNode));
+			chartEditorInput.setChartContainer(chartCreator.createChartFile(result));
 			
 			// sets and updates the local preferences node qualifier from the result data
 			chartEditorInput.syncLocalPreferencesNode();
Index: tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java
===================================================================
--- tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java	(revision 403)
+++ tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartsEngine.java	(revision 404)
@@ -61,7 +61,7 @@
 	 * Creates a R charts engine implementation.
 	 */
 	public RChartsEngine() {
-		this(TXMPreferences.getString(RChartsEnginePreferences.PREFERENCE_NODE, RChartsEnginePreferences.OUTPUT_FORMAT));
+		this(TXMPreferences.getString(RChartsEnginePreferences.OUTPUT_FORMAT, RChartsEnginePreferences.PREFERENCE_NODE));
 	}
 	
 
Index: tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartCreator.java
===================================================================
--- tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartCreator.java	(revision 403)
+++ tmp/org.txm.chartsengine.r.core/src/org/txm/chartsengine/r/core/RChartCreator.java	(revision 404)
@@ -5,7 +5,7 @@
 import java.util.ArrayList;
 
 import org.txm.chartsengine.core.ChartCreator;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.utils.logger.Log;
 
 
@@ -26,17 +26,17 @@
 	}
 
 	@Override
-	public Object createChart(ITXMResult result, String preferencesNode) {
+	public Object createChart(TXMResult result) {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
 	
 	@Override
-	public void updateChart(Object chart, ITXMResult result, String preferencesNode) {
+	public void updateChart(Object chart, TXMResult result) {
 	
 		// creates a new chart but using the same file
-		this.createChartFile(result, (File)chart, preferencesNode);
+		this.createChartFile(result, (File)chart);
 			
 		// FIXME: using new file
 		//this.createChartFile(resultData, preferencesNode);
Index: tmp/org.txm.chartsengine.svgbatik.rcp/src/org/txm/chartsengine/svgbatik/rcp/SVGSWTChartsComponentsProvider.java
===================================================================
--- tmp/org.txm.chartsengine.svgbatik.rcp/src/org/txm/chartsengine/svgbatik/rcp/SVGSWTChartsComponentsProvider.java	(revision 403)
+++ tmp/org.txm.chartsengine.svgbatik.rcp/src/org/txm/chartsengine/svgbatik/rcp/SVGSWTChartsComponentsProvider.java	(revision 404)
@@ -19,7 +19,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.txm.chartsengine.core.ChartCreator;
 import org.txm.chartsengine.core.ChartsEngine;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.chartsengine.rcp.SWTChartsComponentsProvider;
 import org.txm.chartsengine.rcp.editors.ChartEditorInput;
 import org.txm.chartsengine.rcp.editors.ChartEditorPart;
@@ -50,10 +50,10 @@
 	
 	
 	@Override
-	public boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, ITXMResult result, String preferencesNode, String chartType)	{
+	public boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, TXMResult result, String chartType)	{
 		ChartCreator chartCreator = chartsEngine.getChartCreator(result.getClass(), chartType);
 		if(chartCreator != null)	{
-			chartEditorInput.setChartContainer(chartCreator.createChartFile(result, preferencesNode));
+			chartEditorInput.setChartContainer(chartCreator.createChartFile(result));
 			
 			// sets and updates the local preferences node qualifier from the result data
 			chartEditorInput.syncLocalPreferencesNode();
Index: tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java
===================================================================
--- tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java	(revision 403)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java	(revision 404)
@@ -57,7 +57,7 @@
 		//showColumns.setText(SWTComponentsProviderMessages.SWTChartsComponentProvider_CA_TOOLBAR_BUTTON_SHOW_COLUMS_LABEL);
 		showColumns.setToolTipText(CAUIMessages.CHART_TOOLBAR_BUTTON_SHOW_COLUMS_TOOLTIP);
 		showColumns.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_columns.png"));
-		showColumns.setSelection(TXMPreferences.getBoolean(CAPreferences.PREFERENCES_NODE, this.getResultData(), CAPreferences.SHOW_INDIVIDUALS));
+		showColumns.setSelection(this.getBooleanParameterValue(CAPreferences.SHOW_INDIVIDUALS));
 
 		// Show/hide rows
 		final ToolItem showRows = new ToolItem(this.toolBar, SWT.CHECK);
@@ -65,7 +65,7 @@
 		//this.showRows.setText(SWTComponentsProviderMessages.SWTChartsComponentProvider_CA_TOOLBAR_BUTTON_SHOW_ROWS_LABEL);
 		showRows.setToolTipText(CAUIMessages.CHART_TOOLBAR_BUTTON_SHOW_ROWS_TOOLTIP);
 		showRows.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_rows.png"));
-		showRows.setSelection(TXMPreferences.getBoolean(CAPreferences.PREFERENCES_NODE, this.getResultData(), CAPreferences.SHOW_VARIABLES));
+		showRows.setSelection(this.getBooleanParameterValue(CAPreferences.SHOW_VARIABLES));
 
 		// Show/hide point shapes
 		final ToolItem showPointShapes = new ToolItem(this.toolBar, SWT.CHECK);
@@ -73,7 +73,7 @@
 		//showPointShapes.setText(CAUIMessages.SHOW_HIDE_POINT_SHAPES);
 		showPointShapes.setToolTipText(CAUIMessages.CHART_TOOLBAR_BUTTON_SHOW_HIDE_POINT_SHAPES);
 		showPointShapes.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_point_shapes.png"));
-		showPointShapes.setSelection(TXMPreferences.getBoolean(CAPreferences.PREFERENCES_NODE, this.getResultData(), CAPreferences.SHOW_POINT_SHAPES));
+		showPointShapes.setSelection(this.getBooleanParameterValue(CAPreferences.SHOW_POINT_SHAPES));
 		
 		
 		
@@ -118,10 +118,10 @@
 		plansCombo.setItems(items);
 
 		// Preselect the plan from the CA data
-		if(TXMPreferences.getInt(CAPreferences.PREFERENCES_NODE, this.getResultData(), CAPreferences.FIRST_DIMENSION) == 2)	{
+		if(this.getIntParameterValue(CAPreferences.FIRST_DIMENSION) == 2)	{
 			plansCombo.select(2);
 		}
-		else if(TXMPreferences.getInt(CAPreferences.PREFERENCES_NODE, this.getResultData(), CAPreferences.SECOND_DIMENSION) == 3)	{
+		else if(this.getIntParameterValue(CAPreferences.SECOND_DIMENSION) == 3)	{
 			plansCombo.select(1);
 		}
 		else	{
@@ -153,6 +153,7 @@
 						return;
 					}
 
+					// FIXME: persistence
 					TXMPreferences.putLocalBoolean(getResultData(), CAPreferences.SHOW_INDIVIDUALS, ((ToolItem) e.getSource()).getSelection());
 				}
 				//Show/hide rows
@@ -164,10 +165,13 @@
 						return;
 					}
 					
+					// FIXME: persistence
 					TXMPreferences.putLocalBoolean(getResultData(), CAPreferences.SHOW_VARIABLES, ((ToolItem) e.getSource()).getSelection());
 				}
 				//Show/hide rows
 				else if(e.getSource() == showPointShapes)	{
+					
+					// FIXME: persistence
 					TXMPreferences.putLocalBoolean(getResultData(), CAPreferences.SHOW_POINT_SHAPES, ((ToolItem) e.getSource()).getSelection());
 				}
 				// Change factors
@@ -189,6 +193,7 @@
 					dimension1 = Integer.parseInt(split[0]);
 					dimension2 = Integer.parseInt(split[1]);
 
+					// FIXME: persistence
 					TXMPreferences.putLocalInt(getResultData(), CAPreferences.FIRST_DIMENSION, dimension1);
 					TXMPreferences.putLocalInt(getResultData(), CAPreferences.SECOND_DIMENSION, dimension2);
 
Index: tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColRowInfosLabelProvider.java
===================================================================
--- tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColRowInfosLabelProvider.java	(revision 403)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColRowInfosLabelProvider.java	(revision 404)
@@ -79,32 +79,32 @@
 		this.names = names;
 		for (int i = 0; i < names.length; i++) {
 			if (names[i].startsWith(CACoreMessages.mass)) {
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.MASS_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.MASS_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 			if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					masspattern = new DecimalFormat(pattern);
 			} else if (names[i].startsWith(Messages.ColRowInfosLabelProvider_9)) {
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.CHI_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.CHI_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 				if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					chipattern = new DecimalFormat(pattern);
 			} else if (names[i].startsWith(CACoreMessages.dist)) {
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.DIST_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.DIST_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 				if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					distpattern = new DecimalFormat(pattern);
 			} else if (names[i].startsWith(CACoreMessages.cos2)) {
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.COS2_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.COS2_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 				if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					cos2pattern = new DecimalFormat(pattern);
 			} else if (names[i].startsWith("c") && names[i].length() == 2) //$NON-NLS-1$
 			{
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.COORD_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.COORD_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 				if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					coordpattern = new DecimalFormat(pattern);
 			} else if (names[i].startsWith(CACoreMessages.cont)) {
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.CONTRIB_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.CONTRIB_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 				if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					contribpattern = new DecimalFormat(pattern);
 			} else if (names[i].startsWith(Messages.ColRowInfosLabelProvider_19) && names[i].length() == 3) {
-				String pattern = TXMPreferences.getString(CAPreferences.PREFERENCES_NODE, CAPreferences.QUALITY_DISPLAY_FORMAT);
+				String pattern = TXMPreferences.getString(CAPreferences.QUALITY_DISPLAY_FORMAT, CAPreferences.PREFERENCES_NODE);
 				if (pattern != null && !pattern.trim().equals("")) //$NON-NLS-1$
 					qualitypattern = new DecimalFormat(pattern);
 			}
Index: tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java
===================================================================
--- tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java	(revision 403)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java	(revision 404)
@@ -323,7 +323,7 @@
 	public void initCAFactorialMapEditor()	{
 
 		// Editor part
-		ChartEditorPart caFactorialMapEditorPart = new CAFactorialMapChartEditor(new ChartEditorInput(ca, CAPreferences.PREFERENCES_NODE));
+		ChartEditorPart caFactorialMapEditorPart = new CAFactorialMapChartEditor(new ChartEditorInput(ca));
 		editors.add(caFactorialMapEditorPart);
 
 		// Editor input
@@ -339,7 +339,7 @@
 	public void initCASingularValuesBarChartEditor()	{
 		
 		// Editor part
-		EditorPart caSingularValuesEditorPart = SWTChartsComponentsProvider.getCurrent().createChartEditor(ca, CAPreferences.PREFERENCES_NODE, "Singular Values"); //$NON-NLS-1$
+		EditorPart caSingularValuesEditorPart = SWTChartsComponentsProvider.getCurrent().createChartEditor(ca, "Singular Values"); //$NON-NLS-1$
 		editors.add(caSingularValuesEditorPart);
 
 		// Editor input
Index: tmp/org.txm.chartsengine.rcp/META-INF/MANIFEST.MF
===================================================================
--- tmp/org.txm.chartsengine.rcp/META-INF/MANIFEST.MF	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/META-INF/MANIFEST.MF	(revision 404)
@@ -4,12 +4,12 @@
 Bundle-SymbolicName: org.txm.chartsengine.rcp;singleton:=true
 Bundle-Version: 1.0.0.qualifier
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: org.txm.rcp;bundle-version="0.7.8",
+Require-Bundle: org.txm.chartsengine.core;bundle-version="1.0.0";visibility:=reexport,
+ org.txm.core;bundle-version="0.7.0",
+ org.txm.rcp;bundle-version="0.7.8",
  org.eclipse.core.resources,
- org.txm.chartsengine.core;bundle-version="1.0.0";visibility:=reexport,
  org.eclipse.ui;bundle-version="3.106.1";visibility:=reexport,
  org.eclipse.core.runtime;bundle-version="3.10.0",
- org.txm.core;bundle-version="0.7.0",
  org.eclipse.swt,
  org.eclipse.core.expressions;bundle-version="3.4.600"
 Export-Package: org.txm.chartsengine.rcp,
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/handlers/ExportChart.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/handlers/ExportChart.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/handlers/ExportChart.java	(revision 404)
@@ -30,30 +30,27 @@
 import java.io.File;
 import java.io.IOException;
 
-import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.FileDialog;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.chartsengine.core.ChartsEngine;
 import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
-import org.txm.chartsengine.core.results.IChartResult;
+import org.txm.chartsengine.core.results.ChartResult;
 import org.txm.chartsengine.rcp.SWTChartsComponentsProvider;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.rcp.JobsTimer;
 import org.txm.rcp.Messages;
 import org.txm.rcp.StatusLine;
-import org.txm.rcp.TxmPreferences;
 import org.txm.rcp.commands.OpenGraph;
+import org.txm.rcp.handlers.BaseAbstractHandler;
 import org.txm.rcp.swt.dialog.LastOpened;
 import org.txm.rcp.utils.JobHandler;
 
@@ -65,24 +62,21 @@
  * @author sjacquot
  *
  */
-public class ExportChart extends AbstractHandler {
+public class ExportChart extends BaseAbstractHandler {
 
 	private static final String ID = "ExportChart"; //$NON-NLS-1$
 
-	/** The selection. */
-	private IStructuredSelection selection;
 
 	@Override
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 
-		selection = (IStructuredSelection) HandlerUtil.getCurrentSelection(event);
-		Object s = selection.getFirstElement();
+		Object selection = this.getSelection();
 
-		if(!(s instanceof IChartResult))	{
+		if(!(selection instanceof ChartResult))	{
 			return null;
 		}
 		
-		final IChartResult chartResult = (IChartResult) s;
+		final ChartResult chartResult = (ChartResult) selection;
 		
 		Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
 
@@ -95,7 +89,7 @@
 			extensions[i] = "*." + SWTChartsComponentsProvider.getCurrent().getChartsEngineSupportedExportFileFormats().get(i); //$NON-NLS-1$
 
 			// Store the default chart export file format index
-			if(TXMPreferences.getString(ChartsEnginePreferences.PREFERENCES_NODE, ChartsEnginePreferences.DEFAULT_EXPORT_FORMAT, "svg").equals(SWTChartsComponentsProvider.getCurrent().getEditorSupportedExportFileFormats().get(i)))	{
+			if(TXMPreferences.getString(ChartsEnginePreferences.DEFAULT_EXPORT_FORMAT, ChartsEnginePreferences.PREFERENCES_NODE).equals(SWTChartsComponentsProvider.getCurrent().getEditorSupportedExportFileFormats().get(i)))	{
 				defaultChartFormatIndex = i;
 			}
 		}
@@ -104,7 +98,7 @@
 		// Select default chart export file format
 		dialog.setFilterIndex(defaultChartFormatIndex);
 
-		// FIXME: how to define a default name here from Object s ? We may need to add a getName() method in TXMResult and check that every results in TXM implements TXMResult.
+		// FIXME: how to define a default name here from Object s ? We may need to add a getName() method in TXMResult and check that every results in TXM.
 		// It could be useful for other purposes too
 //		dialog.setFileName(ChartsEngine.cleanFileName(chartEditorPart.getPartName()));
 		dialog.setOverwrite(true);
@@ -150,7 +144,7 @@
 							System.out.println(NLS.bind(Messages.ExportResult_2, file.getAbsolutePath(), outputFormat.toUpperCase()));
 
 							// Open internal editor in the UI thread
-							if (TXMPreferences.getBoolean(TBXPreferences.PREFERENCES_NODE, TBXPreferences.EXPORT_SHOW))	{
+							if (TXMPreferences.getBoolean(TBXPreferences.EXPORT_SHOW, TBXPreferences.PREFERENCES_NODE))	{
 								this.syncExec(new Runnable() {
 									@Override
 									public void run() {
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/handlers/ExportChartEditorView.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/handlers/ExportChartEditorView.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/handlers/ExportChartEditorView.java	(revision 404)
@@ -84,7 +84,7 @@
 			extensions[i] = "*." + SWTChartsComponentsProvider.getCurrent().getEditorSupportedExportFileFormats().get(i); //$NON-NLS-1$
 
 			// Store the default chart export file format index
-			if(TXMPreferences.getString(ChartsEnginePreferences.PREFERENCES_NODE, ChartsEnginePreferences.DEFAULT_EXPORT_FORMAT).equals(SWTChartsComponentsProvider.getCurrent().getEditorSupportedExportFileFormats().get(i)))	{
+			if(TXMPreferences.getString(ChartsEnginePreferences.DEFAULT_EXPORT_FORMAT, ChartsEnginePreferences.PREFERENCES_NODE).equals(SWTChartsComponentsProvider.getCurrent().getEditorSupportedExportFileFormats().get(i)))	{
 				defaultChartFormatIndex = i;
 			}
 		}
@@ -139,7 +139,7 @@
 							System.out.println(NLS.bind(Messages.ExportResult_2, file.getAbsolutePath(), outputFormat.toUpperCase()));
 
 							// Open internal editor in the UI thread
-							if(TXMPreferences.getBoolean(TBXPreferences.PREFERENCES_NODE, TBXPreferences.EXPORT_SHOW))	{
+							if(TXMPreferences.getBoolean(TBXPreferences.EXPORT_SHOW, TBXPreferences.PREFERENCES_NODE))	{
 								this.syncExec(new Runnable() {
 									@Override
 									public void run() {
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/preferences/ChartsEnginePreferencePage.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/preferences/ChartsEnginePreferencePage.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/preferences/ChartsEnginePreferencePage.java	(revision 404)
@@ -144,7 +144,7 @@
 				
 				// Set the new monochrome color for all charts engine theme
 				for(int i = 0; i < ChartsEngine.getChartsEngines().size(); i++) {
-					ChartsEngine.getChartsEngines().get(i).getTheme().setMonochromeColor(TXMPreferences.getString(ChartsEnginePreferences.PREFERENCES_NODE, ChartsEnginePreferences.MONOCHROME_COLOR));
+					ChartsEngine.getChartsEngines().get(i).getTheme().setMonochromeColor(TXMPreferences.getString(ChartsEnginePreferences.MONOCHROME_COLOR, ChartsEnginePreferences.PREFERENCES_NODE));
 				}
 				
 				// FIXME: doesn't work, works only when we quit the page and go back to it
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java	(revision 404)
@@ -48,7 +48,7 @@
 import org.txm.chartsengine.rcp.swt.AdvancedChartEditorToolBar;
 import org.txm.chartsengine.rcp.swt.ChartComposite;
 import org.txm.chartsengine.rcp.swt.ChartEditorToolBar;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.SplitedGenericMultiPageEditor;
 import org.txm.rcp.editors.TXMEditorPart;
 import org.txm.rcp.preferences.TXMPreferencePage;
@@ -168,11 +168,12 @@
 	 * @param chartType
 	 * @return
 	 */
-	public ChartEditorPart createChartEditor(ITXMResult result, String preferencesNode, String chartType) {
-		ChartEditorInput chartEditorInput = new ChartEditorInput(this, result, preferencesNode, chartType, null);
+	public ChartEditorPart createChartEditor(TXMResult result, String chartType) {
+		ChartEditorInput chartEditorInput = new ChartEditorInput(this, result, chartType, null);
 
+		//FIXME: need to try to do the chart creation in openEditor() with computeChart() (tested without success... need to check again)
 		// create the chart from the charts engine chart creator extension
-		this.createChart(chartEditorInput, result, preferencesNode, chartType);
+		this.createChart(chartEditorInput, result, chartType);
 		
 		ChartEditorPart editor = new ChartEditorPart(this, chartEditorInput);
 		return editor;
@@ -186,8 +187,8 @@
 	 * @param preferencesNode
 	 * @return
 	 */
-	public ChartEditorPart createChartEditor(ITXMResult result, String preferencesNode) {
-		return this.createChartEditor(result, preferencesNode, null);
+	public ChartEditorPart createChartEditor(TXMResult result) {
+		return this.createChartEditor(result, null);
 	}
 	
 //	/**
@@ -197,7 +198,7 @@
 //	 * @param chartType
 //	 * @return
 //	 */
-//	public ChartEditorPart createChartEditor(ITXMResult result, String preferencesNode, String chartType) {
+//	public ChartEditorPart createChartEditor(TXMResult result, String preferencesNode, String chartType) {
 //		return this.createChartEditor(this.getChartsEngine().getChartCreator(result.getClass(), chartType).getFileNamePrefix(), result, preferencesNode, chartType);
 //	}
 	
@@ -209,8 +210,8 @@
 	 * @param result
 	 * @param preferencesNode
 	 */
-	public void createChart(ChartEditorInput chartEditorInput, ITXMResult result, String preferencesNode)	{
-		this.createChart(chartEditorInput, result, preferencesNode, chartEditorInput.getChartType()); 
+	public void createChart(ChartEditorInput chartEditorInput, TXMResult result)	{
+		this.createChart(chartEditorInput, result, chartEditorInput.getChartType()); 
 	}
 	
 	/**
@@ -223,7 +224,7 @@
 	 * @param chartType
 	 * @return
 	 */
-	protected abstract boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, ITXMResult result, String preferencesNode, String chartType);
+	protected abstract boolean createChart(ChartsEngine chartsEngine, ChartEditorInput chartEditorInput, TXMResult result, String chartType);
 	
 	/**
 	 * Creates a new chart for the specified result data and chart type and save it in the specified editor input.
@@ -234,8 +235,8 @@
 	 * @param chartType
 	 * @return
 	 */
-	protected boolean createChart(ChartEditorInput chartEditorInput, ITXMResult result, String preferencesNode, String chartType)	{
-		return this.createChart(this.getChartsEngine(), chartEditorInput, result, preferencesNode, chartType);
+	protected boolean createChart(ChartEditorInput chartEditorInput, TXMResult result, String chartType)	{
+		return this.createChart(this.getChartsEngine(), chartEditorInput, result, chartType);
 	}
 	
 	
@@ -247,10 +248,10 @@
 	 * @param chartType
 	 * @return <code>True</code>, if a chart creator has been found and the chart has been updated, otherwise <code>false</code>
 	 */
-	public boolean updateChart(ChartEditorPart editor, String preferencesNode, String chartType)	{
+	public boolean updateChart(ChartEditorPart editor, String chartType)	{
 		ChartCreator chartCreator = this.chartsEngine.getChartCreator(editor.getResultData().getClass(), chartType);
 		if(chartCreator != null)	{
-			chartCreator.updateChart(editor.getChart(), editor.getResultData(), preferencesNode);
+			chartCreator.updateChart(editor.getChart(), editor.getResultData());
 			return true;
 		}
 		return false;
@@ -265,7 +266,7 @@
 	 * @return <code>True</code>, if a chart creator has been found and the chart has been updated, otherwise <code>false</code>
 	 */
 	public boolean updateChart(ChartEditorPart editor)	{
-		return this.updateChart(editor, editor.getPreferencesNodeQualifier(), editor.getChartType());
+		return this.updateChart(editor, editor.getChartType());
 	}
 	
 
@@ -680,6 +681,10 @@
 					return openedChartEditorPart;
 				}
 				
+				// compute the chart
+				//openedChartEditorPart.computeChart(false);
+
+				
 				// FIXME: directly close the editor if it contains no chart
 //				if(openedChartEditorPart.getChart() == null)	{
 //					page.closeEditor(openedChartEditorPart, false);
@@ -736,36 +741,19 @@
 	 * @param params
 	 * @return
 	 */
-	public ChartEditorPart openEditor(ITXMResult result, String preferencesNode, String chartType)	{
-		return this.openEditor(this.createChartEditor(result, preferencesNode, chartType), chartType);
+	public ChartEditorPart openEditor(TXMResult result, String chartType)	{
+		return this.openEditor(this.createChartEditor(result, chartType), chartType);
 	}
 	
-	
 	/**
 	 * 
-	 * @param result
-	 * @param preferencesNode
-	 * @param chartType
-	 * @return
-	 */
-//	public ChartEditorPart openEditor(ITXMResult result, String preferencesNode, String chartType)	{
-//		return this.openEditor(result.getName(), result, preferencesNode, chartType);
-//	}
-
-	
-//	public ChartEditorPart openEditor(ITXMResult result, String preferencesNode)	{
-//		return this.openEditor(result, preferencesNode, null);
-//	}
-	
-	/**
-	 * 
 	 * @param editorInputName
 	 * @param result
 	 * @param params
 	 * @return
 	 */
-	public ChartEditorPart openEditor(ITXMResult result, String preferencesNode)	{
-		return this.openEditor(result, preferencesNode, null);
+	public ChartEditorPart openEditor(TXMResult result)	{
+		return this.openEditor(result, null);
 	}
 	
 	
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditorInput.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditorInput.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditorInput.java	(revision 404)
@@ -6,7 +6,7 @@
 import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
 import org.txm.chartsengine.rcp.SWTChartsComponentsProvider;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.TXMResultEditorInput;
 
 /**
@@ -26,11 +26,6 @@
 	protected String chartType;
 	
 	/**
-	 * 
-	 */
-	protected String preferencesNodeQualifier;
-	
-	/**
 	 * SWT chart components provider used to create the chart editor.
 	 * Store it allows the switch of component provider in the RCP in keeping the chart editors in a coherent state.
 	 */
@@ -48,8 +43,8 @@
 	 * @param result
 	 * @param preferencesNodeQualifier
 	 */
-	public ChartEditorInput(ITXMResult result, String preferencesNodeQualifier) {
-		this(SWTChartsComponentsProvider.getCurrent(), result, preferencesNodeQualifier);
+	public ChartEditorInput(TXMResult result) {
+		this(SWTChartsComponentsProvider.getCurrent(), result);
 	}
 	
 	/**
@@ -58,8 +53,8 @@
 	 * @param result
 	 * @param preferencesNodeQualifier
 	 */
-	public ChartEditorInput(SWTChartsComponentsProvider swtComponentsProvider, ITXMResult result, String preferencesNodeQualifier) {
-		this(swtComponentsProvider, result, preferencesNodeQualifier, null);
+	public ChartEditorInput(SWTChartsComponentsProvider swtComponentsProvider, TXMResult result) {
+		this(swtComponentsProvider, result, null);
 	}
 
 	/**
@@ -69,8 +64,8 @@
 	 * @param preferencesNodeQualifier
 	 * @param chartType
 	 */
-	public ChartEditorInput(SWTChartsComponentsProvider swtComponentsProvider, ITXMResult result, String preferencesNodeQualifier, String chartType) {
-		this(swtComponentsProvider, result, preferencesNodeQualifier, chartType, null);
+	public ChartEditorInput(SWTChartsComponentsProvider swtComponentsProvider, TXMResult result, String chartType) {
+		this(swtComponentsProvider, result, chartType, null);
 	}
 
 	/**
@@ -82,10 +77,9 @@
 	 * @param chartType
 	 * @param chartContainer
 	 */
-	public ChartEditorInput(SWTChartsComponentsProvider swtComponentsProvider, ITXMResult result, String preferencesNodeQualifier, String chartType, Object chartContainer) {
+	public ChartEditorInput(SWTChartsComponentsProvider swtComponentsProvider, TXMResult result, String chartType, Object chartContainer) {
 		super(result);
 		this.swtChartsComponentsProvider = swtComponentsProvider;
-		this.preferencesNodeQualifier = preferencesNodeQualifier;
 		this.chartType = chartType;
 		this.chartContainer = chartContainer;
 	}
@@ -202,20 +196,16 @@
 		return chartType;
 	}
 
-	/**
-	 * @return the preferencesNodeQualifier
-	 */
-	public String getPreferencesNodeQualifier() {
-		return preferencesNodeQualifier;
-	}
 
 
-
 	/**
 	 * Sets and updates the local preferences node qualifier from the result data.
 	 * Synchronizes the local preferences node with the result data type, chart type, etc.
 	 */
+	// FIXME; should be move to TXMResultEditorInput class
 	public void syncLocalPreferencesNode()	{
+		//FIXME: to call when implemented in parent class
+		//super.syncLocalPreferencesNode();
 		// FIXME: persistence test
 		if(this.chartType != null)	{
 			TXMPreferences.putLocalString(this.result, ChartsEnginePreferences.CHART_TYPE, this.chartType);
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditorPart.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditorPart.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditorPart.java	(revision 404)
@@ -28,7 +28,7 @@
 import org.txm.chartsengine.rcp.swt.AdvancedChartEditorToolBar;
 import org.txm.chartsengine.rcp.swt.ChartComposite;
 import org.txm.chartsengine.rcp.swt.ChartEditorToolBar;
-import org.txm.core.results.ITXMResult;
+import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.TXMEditorPart;
 import org.txm.rcp.editors.TXMEditorToolBar;
 import org.txm.rcp.utils.JobHandler;
@@ -103,8 +103,8 @@
 	 * @param result
 	 * @param chartContainer
 	 */
-	public ChartEditorPart(SWTChartsComponentsProvider swtComponentsProvider, ITXMResult result, String preferencesNodeQualifier, String chartType, Object chartContainer) {
-		this(swtComponentsProvider, new ChartEditorInput(swtComponentsProvider, result, preferencesNodeQualifier, chartType, chartContainer));
+	public ChartEditorPart(SWTChartsComponentsProvider swtComponentsProvider, TXMResult result, String chartType, Object chartContainer) {
+		this(swtComponentsProvider, new ChartEditorInput(swtComponentsProvider, result, chartType, chartContainer));
 	}
 	
 	
@@ -465,7 +465,7 @@
 					// done
 					monitor.done();
 				}
-		    	// for direct canceling
+		    	// for user direct canceling
 		    	catch(ThreadDeath td) {
 		    		close(true);
 		    		return Status.CANCEL_STATUS;
@@ -586,15 +586,15 @@
 	 * @param result
 	 * @param preferencesNode
 	 */
-	public void createChart(ITXMResult result, String preferencesNode)	{
-		this.getSWTChartsComponentsProvider().createChart(this.getEditorInput(), result, preferencesNode);
+	public void createChart(TXMResult result)	{
+		this.getSWTChartsComponentsProvider().createChart(this.getEditorInput(), result);
 	}
 	
 	/**
 	 * Creates a new chart for current stored result and save it in the current editor input.
 	 */
 	public void createChart()	{
-		this.createChart(this.getResultData(), this.getPreferencesNodeQualifier());
+		this.createChart(this.getResultData());
 	}
 	
 	/**
@@ -606,13 +606,6 @@
 		super.dispose();
 	}
 
-	/**
-	 * Returns the preferences node qualifier linked to the chart of this editor.
-	 * @return
-	 */
-	public String getPreferencesNodeQualifier() {
-		return this.getEditorInput().getPreferencesNodeQualifier();
-	}
 
 
 	/**
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java	(revision 403)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java	(revision 404)
@@ -50,7 +50,7 @@
 		showTitle.setToolTipText(SWTComponentsProviderMessages.SWTChartsComponentProvider_SHOW_HIDE_TITLE);
 
 		if(!TXMPreferences.isEmpty(chartEditorPart.getPreferencesNodeQualifier(), ChartsEnginePreferences.SHOW_TITLE))	{
-			showTitle.setSelection(TXMPreferences.getBoolean(chartEditorPart.getPreferencesNodeQualifier(), chartEditorPart.getResultData(), ChartsEnginePreferences.SHOW_TITLE));
+			showTitle.setSelection(TXMPreferences.getBoolean(ChartsEnginePreferences.SHOW_TITLE, chartEditorPart.getResultData(), chartEditorPart.getPreferencesNodeQualifier()));
 		}
 		// disable if not managed
 		else	{
@@ -65,7 +65,7 @@
 		showLegend.setToolTipText(SWTComponentsProviderMessages.SWTChartsComponentProvider_SHOW_HIDE_LEGEND);
 
 		if(!TXMPreferences.isEmpty(chartEditorPart.getPreferencesNodeQualifier(), ChartsEnginePreferences.SHOW_LEGEND))	{
-			showLegend.setSelection(TXMPreferences.getBoolean(chartEditorPart.getPreferencesNodeQualifier(), chartEditorPart.getResultData(), ChartsEnginePreferences.SHOW_LEGEND));
+			showLegend.setSelection(chartEditorPart.getBooleanParameterValue(ChartsEnginePreferences.SHOW_LEGEND));
 		}
 		// disable if not managed
 		else	{
@@ -80,7 +80,7 @@
 		showGrid.setToolTipText(SWTComponentsProviderMessages.SWTChartsComponentProvider_SHOW_HIDE_GRID);
 		
 		if(!TXMPreferences.isEmpty(chartEditorPart.getPreferencesNodeQualifier(), ChartsEnginePreferences.SHOW_GRID))	{
-			showGrid.setSelection(TXMPreferences.getBoolean(chartEditorPart.getPreferencesNodeQualifier(), chartEditorPart.getResultData(), ChartsEnginePreferences.SHOW_GRID));
+			showGrid.setSelection(chartEditorPart.getBooleanParameterValue(ChartsEnginePreferences.SHOW_GRID));
 		}
 		// disable if not managed
 		else	{
@@ -105,7 +105,7 @@
 		renderingComboItem.setWidth(renderingModeCombo.getBounds().width);
 		
 		if(!TXMPreferences.isEmpty(chartEditorPart.getPreferencesNodeQualifier(), ChartsEnginePreferences.RENDERING_COLORS_MODE))	{
-			renderingModeCombo.select(TXMPreferences.getInt(chartEditorPart.getPreferencesNodeQualifier(), chartEditorPart.getResultData(), ChartsEnginePreferences.RENDERING_COLORS_MODE));
+			renderingModeCombo.select(chartEditorPart.getIntParameterValue(ChartsEnginePreferences.RENDERING_COLORS_MODE));
 		}
 		// disable if not managed
 		else	{
@@ -114,7 +114,7 @@
 		
 		
 		// Font selection
-		final Font currentFont = ChartsEngine.createFont(TXMPreferences.getString(ChartsEnginePreferences.PREFERENCES_NODE, chartEditorPart.getResultData(), ChartsEnginePreferences.FONT));
+		final Font currentFont = ChartsEngine.createFont(chartEditorPart.getStringParameterValue(ChartsEnginePreferences.FONT));
 		
 		final Combo fontCombo = new Combo(this, SWT.READ_ONLY);
 		String fonts[] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();
