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 1934)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java	(revision 1935)
@@ -4,6 +4,10 @@
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
 
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ComboViewer;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.custom.CLabel;
 import org.eclipse.swt.events.SelectionEvent;
@@ -180,64 +184,40 @@
 
 
 		// Factors plane selection
-		CLabel factorsLabel = new CLabel(this.chartToolBar, SWT.CENTER);
+		Label factorsLabel = new Label(this.chartToolBar, SWT.CENTER);
 		factorsLabel.setText(CAUIMessages.axesColon);
 		this.chartToolBar.addControl(factorsLabel);
 
-		final Combo plansCombo = new Combo(this.chartToolBar, SWT.READ_ONLY);
-
-		// FIXME: commented because the infos panel is not ready to manage more axes
-		//		ArrayList<String> planes = null;
-		//		try {
-		//			int nbsv = ((CA) editorPart.getResultData()).getSingularValues().length;
-		//			planes = new ArrayList<String>();
-		//			for(int i = 1 ; i < nbsv ; i ++)	{
-		//				for(int j = i ; j < nbsv ; j++)	{
-		//					if(i != j)	{
-		//						planes.add("("+i+","+j+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		//					}
-		//				}
-		//			}
-		//		}
-		//		catch (StatException e1) {
-		//			// TODO Auto-generated catch block
-		//			org.txm.utils.logger.Log.printStackTrace(e1);
-		//		}
-		//		String [] items = planes.toArray(new String[planes.size()]);
-
 		String items[] = { "(1,2)", "(1,3)", "(2,3)" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
-		// TODO : commented because the infos panel is not ready to manage more axes
-		//		if(couples != null && couples.size() > 3)	{
-		//			items = couples.toArray(new String[couples.size()]);
-		//}
-
-
-		plansCombo.setItems(items);
-
+		
+		
+		final ComboViewer plansComboViewer = new ComboViewer(this.chartToolBar);
+		plansComboViewer.setContentProvider(ArrayContentProvider.getInstance());
+		plansComboViewer.setInput(items);
+		
 		// Preselect the plan from the CA data
 		if(this.getIntParameterValue(CAPreferences.FIRST_DIMENSION) == 2)	{
-			plansCombo.select(2);
+			plansComboViewer.getCombo().select(2);
 		}
 		else if(this.getIntParameterValue(CAPreferences.SECOND_DIMENSION) == 3)	{
-			plansCombo.select(1);
+			plansComboViewer.getCombo().select(1);
 		}
 		else	{
-			plansCombo.select(0);
+			plansComboViewer.getCombo().select(0);
 		}
-
-		this.chartToolBar.addControl(plansCombo);
-
-		// Listeners
-		SelectionListener listener = new SelectionListener() {
-
+		
+		plansComboViewer.getControl().pack();
+		
+		plansComboViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+			
 			@Override
-			public void widgetSelected(SelectionEvent e) {
-
+			public void selectionChanged(SelectionChangedEvent e) {
+				// TODO Auto-generated method stub
 				boolean resetView = false;
 
 				// Change factors
-				if(e.getSource() == plansCombo)	{
+				if(e.getSource() == plansComboViewer)	{
 
 					Combo plans = (Combo) e.getSource();
 
@@ -258,16 +238,92 @@
 				getResult().setChartDirty();
 				getResult().setNeedsToResetView(resetView);
 				compute(true);
-				//forceFocus();
 			}
+		});
+		
+//		final Combo plansCombo = new Combo(this.chartToolBar, SWT.READ_ONLY);
+//
+//		// FIXME: commented because the infos panel is not ready to manage more axes
+//		//		ArrayList<String> planes = null;
+//		//		try {
+//		//			int nbsv = ((CA) editorPart.getResultData()).getSingularValues().length;
+//		//			planes = new ArrayList<String>();
+//		//			for(int i = 1 ; i < nbsv ; i ++)	{
+//		//				for(int j = i ; j < nbsv ; j++)	{
+//		//					if(i != j)	{
+//		//						planes.add("("+i+","+j+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+//		//					}
+//		//				}
+//		//			}
+//		//		}
+//		//		catch (StatException e1) {
+//		//			// TODO Auto-generated catch block
+//		//			org.txm.utils.logger.Log.printStackTrace(e1);
+//		//		}
+//		//		String [] items = planes.toArray(new String[planes.size()]);
+//
+//
+//		// TODO : commented because the infos panel is not ready to manage more axes
+//		//		if(couples != null && couples.size() > 3)	{
+//		//			items = couples.toArray(new String[couples.size()]);
+//		//}
+//
+//
+//		plansCombo.setItems(items);
+//
+//		// Preselect the plan from the CA data
+//		if(this.getIntParameterValue(CAPreferences.FIRST_DIMENSION) == 2)	{
+//			plansCombo.select(2);
+//		}
+//		else if(this.getIntParameterValue(CAPreferences.SECOND_DIMENSION) == 3)	{
+//			plansCombo.select(1);
+//		}
+//		else	{
+//			plansCombo.select(0);
+//		}
+//
+//		this.chartToolBar.addControl(plansCombo);
+//
+//		// Listeners
+//		SelectionListener listener = new SelectionListener() {
+//
+//			@Override
+//			public void widgetSelected(SelectionEvent e) {
+//
+//				boolean resetView = false;
+//
+//				// Change factors
+//				if(e.getSource() == plansCombo)	{
+//
+//					Combo plans = (Combo) e.getSource();
+//
+//					int dimension1 = 1;
+//					int dimension2 = 2;
+//
+//					String str = plans.getItem(plans.getSelectionIndex());
+//					str = str.substring(1, str.length() -1); // remove ( and )
+//					String[] split = str.split(","); // 2 items //$NON-NLS-1$
+//					dimension1 = Integer.parseInt(split[0]);
+//					dimension2 = Integer.parseInt(split[1]);
+//
+//					getResult().setFirstDimension(dimension1);
+//					getResult().setSecondDimension(dimension2);
+//
+//					resetView = true;
+//				}
+//				getResult().setChartDirty();
+//				getResult().setNeedsToResetView(resetView);
+//				compute(true);
+//				//forceFocus();
+//			}
+//
+//			@Override
+//			public void widgetDefaultSelected(SelectionEvent e) {
+//				// TODO Auto-generated method stub
+//			}
+//		};
+//		plansCombo.addSelectionListener(listener);
 
-			@Override
-			public void widgetDefaultSelected(SelectionEvent e) {
-				// TODO Auto-generated method stub
-			}
-		};
-		plansCombo.addSelectionListener(listener);
-
 		// parent parameters
 		// thresholds
 		if (!this.getResult().getParent().isVisible()  // the LT parent is not visible
