Index: tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/swt/RasterComposite.java
===================================================================
--- tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/swt/RasterComposite.java	(revision 1700)
+++ tmp/org.txm.chartsengine.raster.rcp/src/org/txm/chartsengine/raster/rcp/swt/RasterComposite.java	(revision 1701)
@@ -104,7 +104,7 @@
 
 	
 	@Override
-	public void requestFocusInComposite()	{
+	public void requestFocusInChartComponent()	{
 		// FIXME: to check
 //		EventQueue.invokeLater(new Runnable () {
 //			public void run () {
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 1700)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 1701)
@@ -327,9 +327,9 @@
 		this.updateEditorFromChart(update);
 
 		
-		if(this.parentMultiPagesEditor == null)	{
-			this.forceFocus();			
-		}
+//		if(this.parentMultiPagesEditor == null)	{
+//			this.forceFocus();			
+//		}
 	}
 
 	
@@ -447,8 +447,9 @@
 			// TODO: for focus and activation debug
 //			System.out.println("ChartEditor.activate(): current active editor = " + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart());
 //			System.out.println("ChartEditor.activate(): activating: " + this);
-//	//		PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop(this);
+//			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().bringToTop(this);
 			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().activate(this);
+
 //			System.out.println("ChartEditor.activate(): new active editor = " + PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActivePart());
 		}
 	}
@@ -469,7 +470,7 @@
 	public void setFocus() {
 
 		// Debug
-		Log.finest("ChartEditor.setFocus().");
+		Log.finest("ChartEditor.setFocus(): giving focus to chart composite..."); //$NON-NLS-1$
 
 		this.chartComposite.setFocus();
 
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java	(revision 1700)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/SwingChartComposite.java	(revision 1701)
@@ -14,12 +14,11 @@
 import java.awt.datatransfer.Transferable;
 import java.awt.datatransfer.UnsupportedFlavorException;
 import java.awt.image.BufferedImage;
-import java.io.File;
 import java.io.IOException;
 
+import javax.swing.JComponent;
 import javax.swing.JPanel;
 
-import org.eclipse.swt.SWT;
 import org.eclipse.swt.awt.SWT_AWT;
 import org.eclipse.swt.widgets.Composite;
 import org.txm.chartsengine.core.results.ChartResult;
@@ -83,41 +82,6 @@
 		
 	}
 
-	// FIXME: old version; to remove if all ok
-//	@Override
-//	public void loadChart()	{
-//		
-//		// loads the chart from the result
-//		Object chart = this.chartEditor.getChart();
-//
-//		if(chart != null) {
-//			// creates components if they not exist
-//			if(this.chartComponent == null)	{
-//				
-//				// recreates the chart if not of right type
-//				if(!(chart instanceof File))	{
-//					try {
-//						this.chartEditor.getResult().clearLastRenderingParameters();
-//						this.chartEditor.getResult().compute();
-//					}
-//					catch (Exception e) {
-//						// TODO Auto-generated catch block
-//						e.printStackTrace();
-//					}
-//				}
-//				
-//				
-//				this.chartEditor.getSWTChartsComponentsProvider().createChartContainer(this.chartEditor.getEditorInput());
-//				this.chartComponent = (IChartComponent) this.chartEditor.getEditorInput().getChartContainer();
-//				
-//				this.rootPanel.add((Component) this.chartComponent);
-//
-//				this.frame.setVisible(true);
-//			}
-//			this.loadChart(chart);
-//		}
-//	}
-
 	@Override
 	public void loadChart()	{
 		
@@ -154,7 +118,8 @@
 
 			}
 			this.loadChart(this.chartEditor.getChart());
-			this.forceFocus();
+			//this.setFocus();
+			//this.forceFocus();
 		}
 	}
 	
@@ -199,28 +164,29 @@
 	public boolean setFocus() {
 		
 		// Debug
-		Log.finest("SwingChartComposite.setFocus(): trying to give focus to SWT composite and to the AWT component..."); //$NON-NLS-1$
+		Log.finest("SwingChartComposite.setFocus(): trying to give focus to SWT composite and AWT component..."); //$NON-NLS-1$
 		
 		boolean focusState = super.setFocus();
 		
 		// Debug
-		Log.finest(TXMCoreMessages.bind("SwingChartComposite.setFocus(): SWT composite focus given state = {0}.", focusState)); //$NON-NLS-1$
+		Log.finest(TXMCoreMessages.bind("SwingChartComposite.setFocus(): SWT composite focus given state = {0}.", this.isFocusControl())); //$NON-NLS-1$
 		
-		this.requestFocusInComposite();
+		this.requestFocusInChartComponent();
 		
 		return focusState;
 	}
 	
 	@Override
-	public void requestFocusInComposite()	{
+	public void requestFocusInChartComponent()	{
 		EventQueue.invokeLater(new Runnable () {
 			public void run () {
 				if(chartComponent != null)	{
 					
 					boolean focusState = ((Component) chartComponent).requestFocusInWindow();
+					((JComponent) chartComponent).grabFocus();
 					
 					// Debug
-					Log.finest(TXMCoreMessages.bind("SwingChartComposite.requestFocusInComposite(): AWT component focus given state = {0}.", focusState)); //$NON-NLS-1$
+					Log.finest(TXMCoreMessages.bind("SwingChartComposite.requestFocusInChartComponent(): AWT component focus given state = {0}.", ((Component) chartComponent).isFocusOwner())); //$NON-NLS-1$
 					
 				}
 			}
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartComposite.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartComposite.java	(revision 1700)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartComposite.java	(revision 1701)
@@ -188,7 +188,7 @@
 	/**
 	 * Requests that component to get the focus thread-safely.
 	 */
-	public abstract void requestFocusInComposite();
+	public abstract void requestFocusInChartComponent();
 
 	/**
 	 * Clears the selected items in chart.
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 1700)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java	(revision 1701)
@@ -552,7 +552,7 @@
 				
 				//openedChartEditorPart.refreshCorporaView();
 				
-				openedChartEditorPart.forceFocus();
+				//openedChartEditorPart.forceFocus();
 				
 			}
 			catch(PartInitException e) {
@@ -731,7 +731,7 @@
 						// FIXME: Debug
 //						System.out.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new MouseListener() {...}.mousePressed(...).new Runnable() {...}.run()");
 						// Activate the editor part on AWT mouse pressed event
-						chartEditor.activate();
+					//	chartEditor.activate();
 //						chartEditor.forceFocus();
 					}
 				});
@@ -819,9 +819,48 @@
 			}
 		});
 
+		swingComponent.addFocusListener(new FocusListener() {
+			
+			@Override
+			public void focusLost(FocusEvent e) {
+				
+				// FIXME: For Swing focus debug tests
+				if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
+					swingComponent.setBorder(javax.swing.BorderFactory.createEmptyBorder());
+				}
+				
+				Display.getDefault().asyncExec(new Runnable() {
+					
+					@Override
+					public void run() {
+						chartEditor.deactivateContext();						
+					}
+				});
+			}
+			
+			@Override
+			public void focusGained(FocusEvent e) {
+				
+				// FIXME: For Swing focus debug tests
+				if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
+					swingComponent.setBorder(new LineBorder(Color.red, 1));
+				}
+				
+				Display.getDefault().asyncExec(new Runnable() {
+					
+					@Override
+					public void run() {
+						chartEditor.activateContext();						
+					}
+				});
+			}
+		});
+		
 
+		
 
 
+
 		// SWT
 
 		// SWT Tooltips tests
@@ -868,7 +907,7 @@
 					case SWT.FocusIn:
 						// FIXME: DEbug
 //						System.out.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new Listener() {...}.handleEvent(): SWT composite gained focus");
-						chartEditor.getComposite().setFocus();
+						//chartEditor.getComposite().setFocus();
 						//chartEditor.getComposite().requestFocusInComposite();
 						break;
 					case SWT.MouseMove:
@@ -907,7 +946,7 @@
 					case SWT.MouseDown:
 						// FIXME: to test in Linux and Mac, it should fix the focus bugs in CA chart between table focus and chart composite/panel focus + Linux singular values bar plot focus bug
 						//System.err.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new Listener() {...}.handleEvent(): SWT mouse down : set focus in composite and request focus in chart panel");
-						chartEditor.getComposite().setFocus();
+						//chartEditor.getComposite().setFocus();
 						//chartEditor.getComposite().requestFocusInComposite();
 						break;
 					case SWT.MouseUp:
@@ -921,7 +960,7 @@
 
 					case SWT.Activate:
 						//System.err.println("SWTChartsComponentProvider.initializeAWTDelegationListeners(...).new Listener() {...}.handleEvent(): SWT activate");
-						chartEditor.getComposite().requestFocusInComposite();
+						//chartEditor.getComposite().requestFocusInComposite();
 						break;
 				}
 		   }
@@ -933,43 +972,6 @@
 	//	chartEditor.getComposite().addListener(SWT.Activate, listener); // TODO : test AWT delegation
 
 
-		swingComponent.addFocusListener(new FocusListener() {
-			
-			@Override
-			public void focusLost(FocusEvent e) {
-				
-				// FIXME: For Swing focus debug
-				if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
-					swingComponent.setBorder(javax.swing.BorderFactory.createEmptyBorder());
-				}
-				
-				Display.getDefault().asyncExec(new Runnable() {
-					
-					@Override
-					public void run() {
-						chartEditor.deactivateContext();						
-					}
-				});
-			}
-			
-			@Override
-			public void focusGained(FocusEvent e) {
-				
-				// FIXME: For Swing focus debug
-				if(RCPPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER))	{
-					swingComponent.setBorder(new LineBorder(Color.red, 1));
-				}
-				
-				Display.getDefault().asyncExec(new Runnable() {
-					
-					@Override
-					public void run() {
-						chartEditor.activateContext();						
-					}
-				});
-			}
-		});
-		
 
 		// FIXME: SWT tool tips test rather than using Swing
 		//chartEditor.getComposite().addListener(SWT.MouseMove, listener);
@@ -1023,6 +1025,7 @@
 
 
 	/**
+	 * Sets the name of the provider.
 	 * @param name the name to set
 	 */
 	public void setName(String name) {
Index: tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/themes/base/swing/ItemSelectionJFCChartPanel.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/themes/base/swing/ItemSelectionJFCChartPanel.java	(revision 1700)
+++ tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/themes/base/swing/ItemSelectionJFCChartPanel.java	(revision 1701)
@@ -72,7 +72,6 @@
 	public ItemSelectionJFCChartPanel(SWTChartsComponentsProvider swtChartsComponentProvider, JFreeChart chart) {
 		super(chart);
 		this.swtChartsComponentProvider = swtChartsComponentProvider;
-//		this.squareOffEnabled = false;
 	}
 
 	
