Index: TXM/trunk/bundles/org.txm.ahc.rcp/src/org/txm/ahc/rcp/preferences/AHCPreferencePage.java
===================================================================
--- TXM/trunk/bundles/org.txm.ahc.rcp/src/org/txm/ahc/rcp/preferences/AHCPreferencePage.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.ahc.rcp/src/org/txm/ahc/rcp/preferences/AHCPreferencePage.java	(revision 3736)
@@ -77,8 +77,8 @@
 		// Charts
 		Composite chartsTab = SWTChartsComponentsProvider.createChartsRenderingPreferencesTabFolderComposite(getFieldEditorParent());
 		
-		String[][] labelAndValues = { { "2D", "true" }, { "3D", "false" } }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-		RadioGroupFieldEditor default2D3Ddisplay = new RadioGroupFieldEditor(AHCPreferences.RENDERING_2D, AHCUIMessages.displayChartsIn2D, 2, labelAndValues, chartsTab);
+		String[][] labelAndValues = { { "2D", "2D" }, { "3D", "3D" } }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+		RadioGroupFieldEditor default2D3Ddisplay = new RadioGroupFieldEditor(AHCPreferences.RENDERING, AHCUIMessages.displayChartsIn2D, 2, labelAndValues, chartsTab);
 		addField(default2D3Ddisplay);
 		
 		
Index: TXM/trunk/bundles/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCEditor.java
===================================================================
--- TXM/trunk/bundles/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCEditor.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCEditor.java	(revision 3736)
@@ -1,6 +1,10 @@
 package org.txm.ahc.rcp.editors;
 
+import java.awt.Font;
+import java.util.Arrays;
+
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Spinner;
 import org.eclipse.swt.widgets.ToolItem;
@@ -8,6 +12,7 @@
 import org.txm.ahc.core.preferences.AHCPreferences;
 import org.txm.ahc.rcp.messages.AHCUIMessages;
 import org.txm.ca.core.functions.CA;
+import org.txm.chartsengine.core.ChartsEngine;
 import org.txm.chartsengine.rcp.editors.ChartEditor;
 import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.preferences.TXMPreferences;
@@ -18,6 +23,7 @@
 import org.txm.rcp.IImageKeys;
 import org.txm.rcp.editors.listeners.ComputeSelectionListener;
 import org.txm.rcp.swt.GLComposite;
+import org.txm.rcp.swt.widget.TXMParameterCombo;
 import org.txm.rcp.swt.widget.TXMParameterSpinner;
 import org.txm.rcp.swt.widget.ThresholdsGroup;
 import org.txm.rcp.swt.widget.structures.PropertiesComboViewer;
@@ -92,8 +98,8 @@
 	/**
 	 * To render in 2D or 3D.
 	 */
-	@Parameter(key = AHCPreferences.RENDERING_2D)
-	protected ToolItem rendering2D;
+	@Parameter(key = AHCPreferences.RENDERING)
+	protected Combo rendering;
 	
 	
 	@Override
@@ -137,15 +143,9 @@
 		// ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
 		
 		// Number of clusters
-//		LabeledSpinner clusters = new LabeledSpinner(mainParametersArea, this, AHCUIMessages.numberOfClustersColon);
-//		this.numberOfClusters = clusters.getSpinner();
-//		this.numberOfClusters.setMinimum(2);
-		
-		
 		TXMParameterSpinner clusters = new TXMParameterSpinner(mainParametersArea, this, AHCUIMessages.numberOfClustersColon);
 		this.numberOfClusters = clusters.getControl();
 		this.numberOfClusters.setMinimum(2);
-
 		
 		
 		// Columns
@@ -161,13 +161,17 @@
 		
 		
 		// 2D/3D rendering
-		this.rendering2D = new ToolItem(this.chartToolBar, SWT.CHECK);
-		this.rendering2D.setText("2D -> 3D"); //$NON-NLS-1$
-		this.rendering2D.addSelectionListener(computeSelectionListener);
+		TXMParameterCombo renderingParameterCombo = new TXMParameterCombo(this.getFirstLineComposite(), this, new String[] {"2D", "3D"});
+		renderingParameterCombo.getComputingSelectionListener().setAutoCompute(true);
+		this.rendering = renderingParameterCombo.getControl();
+		if(this.getResult().isRendering2D()) {
+			this.rendering.select(0);	
+		}
+		else {
+			this.rendering.select(1);
+		}
 		
 		
-		
-		
 		// FIXME: SJ: temporary fix, later must enable the font, rendering mode, etc. in R calls
 		// disable all component of the rendering tool bar
 		this.advancedChartToolBar.setEnabled(false);
@@ -201,12 +205,6 @@
 		
 		this.rowsComputing.setSelection(!ahc.isColumnsComputing());
 		
-		if (this.getResult().isRendering2D()) {
-			this.rendering2D.setText("2D -> 3D"); //$NON-NLS-1$
-		}
-		else { 
-			this.rendering2D.setText("3D -> 2D"); //$NON-NLS-1$
-		}
 	}
 	
 }
Index: TXM/trunk/bundles/org.txm.ahc.core/src/org/txm/ahc/core/functions/AHC.java
===================================================================
--- TXM/trunk/bundles/org.txm.ahc.core/src/org/txm/ahc/core/functions/AHC.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.ahc.core/src/org/txm/ahc/core/functions/AHC.java	(revision 3736)
@@ -136,8 +136,9 @@
 	/**
 	 * To display in 2D or 3D.
 	 */
-	@Parameter(key = AHCPreferences.RENDERING_2D)
-	protected boolean rendering2D;
+	//FIXME: SJ: should be done using ChartCreator
+	@Parameter(key = AHCPreferences.RENDERING)
+	protected String rendering;
 	
 	
 	
@@ -751,7 +752,7 @@
 	 * @return the rendering2D
 	 */
 	public boolean isRendering2D() {
-		return rendering2D;
+		return this.rendering.equals("2D");
 	}
 	
 	/**
@@ -761,7 +762,12 @@
 	 * @param rendering2d the rendering2D to set
 	 */
 	public void setRendering2D(boolean rendering2d) {
-		rendering2D = rendering2d;
+		if(rendering2d) {
+			this.rendering = "2D";
+		}
+		else {
+			this.rendering = "3D";
+		}
 	}
 	
 	@Override
Index: TXM/trunk/bundles/org.txm.ahc.core/src/org/txm/ahc/core/preferences/AHCPreferences.java
===================================================================
--- TXM/trunk/bundles/org.txm.ahc.core/src/org/txm/ahc/core/preferences/AHCPreferences.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.ahc.core/src/org/txm/ahc/core/preferences/AHCPreferences.java	(revision 3736)
@@ -17,7 +17,7 @@
 	/**
 	 * To display in 2D or 3D.
 	 */
-	public static final String RENDERING_2D = "rendering_2d"; //$NON-NLS-1$
+	public static final String RENDERING = "rendering"; //$NON-NLS-1$
 	
 	/**
 	 * The method (METHODS <- c("average", "single", "complete", "ward", "weighted", "flexible")).
@@ -58,7 +58,7 @@
 		super.initializeDefaultPreferences();
 		Preferences preferences = this.getDefaultPreferencesNode();
 		
-		preferences.putBoolean(RENDERING_2D, true);
+		preferences.put(RENDERING, "2D");
 		preferences.putInt(N_CLUSTERS, 2);
 		preferences.put(METHOD, "ward"); //$NON-NLS-1$
 		preferences.put(METRIC, "euclidean"); //$NON-NLS-1$
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java	(revision 3736)
@@ -74,5 +74,13 @@
 		return false;
 	}
 
+	/**
+	 * 
+	 * @param autoCompute
+	 */
+	public void setAutoCompute(boolean autoCompute) {
+		this.autoCompute = autoCompute;
+	}
+
 	
 }
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterSpinner.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterSpinner.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterSpinner.java	(revision 3736)
@@ -41,7 +41,7 @@
 		this.getControl().setPageIncrement(100);
 		
 		// add computing listener
-		this.getControl().addModifyListener(this.computingListener);
+		this.getControl().addModifyListener(this.computingKeyListener);
 
 	}
 	
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterControl.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterControl.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterControl.java	(revision 3736)
@@ -14,6 +14,7 @@
 import org.txm.rcp.editors.TXMEditor;
 import org.txm.rcp.editors.TXMEditorToolBar;
 import org.txm.rcp.editors.listeners.ComputeKeyListener;
+import org.txm.rcp.editors.listeners.ComputeSelectionListener;
 import org.txm.rcp.swt.GLComposite;
 
 /**
@@ -42,11 +43,15 @@
 	
 	
 	/**
-	 * The computing listener.
+	 * The computing key listener.
 	 */
-	protected ComputeKeyListener computingListener;
+	protected ComputeKeyListener computingKeyListener;
 	
 	
+	/**
+	 * The computing selection listener.
+	 */
+	protected ComputeSelectionListener computingSelectionListener;
 	
 	
 	/**
@@ -72,8 +77,8 @@
 		}
 		
 		// add computing listeners
-		this.computingListener = new ComputeKeyListener(editor, autoCompute);
-		this.control.addKeyListener(this.computingListener);
+		this.computingKeyListener = new ComputeKeyListener(editor, autoCompute);
+		this.control.addKeyListener(this.computingKeyListener);
 
 		// adjust the parent GridLayout number of columns
 		if(parent instanceof GLComposite) {
@@ -159,5 +164,13 @@
 	public Control getControl() {
 		return control;
 	}
+
+	public ComputeKeyListener getComputingKeyListener() {
+		return computingKeyListener;
+	}
+
+	public ComputeSelectionListener getComputingSelectionListener() {
+		return computingSelectionListener;
+	}
 	
 }
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterCombo.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterCombo.java	(revision 3735)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/TXMParameterCombo.java	(revision 3736)
@@ -7,6 +7,7 @@
 import org.eclipse.swt.widgets.Combo;
 import org.eclipse.swt.widgets.Composite;
 import org.txm.rcp.editors.TXMEditor;
+import org.txm.rcp.editors.listeners.ComputeSelectionListener;
 
 /**
  * Convenience class to add a SWT Combo to some editor parameters areas.
@@ -35,9 +36,10 @@
 
 		this.getControl().setItems(items);
 		
-		// add computing listener
-		this.getControl().addModifyListener(this.computingListener);
-
+		// add computing listeners
+		this.getControl().addModifyListener(this.computingKeyListener);
+		this.computingSelectionListener = new ComputeSelectionListener(editor, autoCompute);
+		this.getControl().addSelectionListener(this.computingSelectionListener);
 	}
 
 	/**
