Index: tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/rcp/tester/TIGERSearchTester.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/rcp/tester/TIGERSearchTester.java	(revision 720)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/rcp/tester/TIGERSearchTester.java	(revision 721)
@@ -25,8 +25,17 @@
 	@Override
 	public boolean test(Object receiver, String property, Object[] args,
 			Object expectedValue) {
+		if (receiver == null) {
+			return false;
+		}
+		
 		if (receiver instanceof List) {
-			receiver = ((List)receiver).get(0);
+			List l = ((List)receiver);
+			if (l.size() == 0) {
+				return false;
+			}
+			
+			receiver = l.get(0);
 			if (TIGERSEARCH_READY.equals(property)) {
 				if (!(receiver instanceof MainCorpus)) {
 					return false;
Index: tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java
===================================================================
--- tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 720)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 721)
@@ -280,8 +280,9 @@
 		paramArea.setLayout(new FormLayout());
 
 		// info&navigation panel
-		final Composite infosArea = this.topToolBar.installGroup("Infos", "Informations and Navigation", null, true);
-
+		final Composite infosArea = this.getBottomToolbar().installGLComposite("Infos", 1, false);
+		infosArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		
 		Composite resultArea = this.getResultArea();
 
 		// on créé une Query, ici le pivot de la concordance est "[]"
@@ -449,8 +450,7 @@
 		infosArea.setLayout(new GridLayout(6, false));
 
 		navigationArea = new NavigationWidget(infosArea, SWT.NONE);
-		navigationArea.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true,
-				false));
+		//navigationArea.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true,	false));
 
 		navigationArea.addFirstListener(new SelectionListener() {
 			@Override
@@ -512,22 +512,22 @@
 			}
 		});
 
-		// Labels
-		lTInfo = new Label(infosArea, SWT.NONE);
+		// Labels added after the top toolbar
+		lTInfo = new Label(getTopToolbarContainer(), SWT.NONE);
 		lTInfo.setText(""); //$NON-NLS-1$
-		lTInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
+//		lTInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
-		lVInfo = new Label(infosArea, SWT.NONE);
+		lVInfo = new Label(getTopToolbarContainer(), SWT.NONE);
 		lVInfo.setText(""); //$NON-NLS-1$
-		lVInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
+//		lVInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
-		lFminInfo = new Label(infosArea, SWT.NONE);
+		lFminInfo = new Label(getTopToolbarContainer(), SWT.NONE);
 		lFminInfo.setText(""); //$NON-NLS-1$
-		lFminInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
+//		lFminInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
-		lFmaxInfo = new Label(infosArea, SWT.NONE);
+		lFmaxInfo = new Label(getTopToolbarContainer(), SWT.NONE);
 		lFmaxInfo.setText(""); //$NON-NLS-1$
-		lFmaxInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
+//		lFmaxInfo.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
 		// results
 		FormLayout resultLayout = new FormLayout();
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/WordProperty.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/WordProperty.java	(revision 720)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/WordProperty.java	(revision 721)
@@ -49,6 +49,12 @@
 		return properties;
 	}
 
+	/**
+	 * create a preference String value from a list of Word properties
+	 * 
+	 * @param pProperties the list of properties. May be null (return [])
+	 * @return
+	 */
 	public static String fromListToPreferenceString(List<Property> pProperties) {
 		if (pProperties == null){
 			return "";
Index: tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java
===================================================================
--- tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 720)
+++ tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 721)
@@ -95,10 +95,6 @@
 		parametersArea.setLayout(new GridLayout(5,false));
 		parametersArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
-		navigationPanel = getTopToolbar().installGroup("navigation", "Navigation", null, true);
-		navigationPanel.setLayout(new GridLayout(4,false));
-		navigationPanel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-		
 		Composite resultPanel = getResultArea();
 		resultPanel.setLayout(new GridLayout(1,true));
 		
@@ -139,6 +135,8 @@
 		structuralUnitPropertiesSelector.setText(InternalViewUIMessages.InternalViewEditor_5);
 		structuralUnitPropertiesSelector.addSelectionListener(new ComputeSelectionListener(this));
 		
+		navigationPanel = getBottomToolbar().installGLComposite("navigation", 4 , false);
+		navigationPanel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
 		// Navigation widget
 		navigation = new NewNavigationWidget(navigationPanel);
Index: tmp/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java
===================================================================
--- tmp/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java	(revision 720)
+++ tmp/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java	(revision 721)
@@ -61,6 +61,7 @@
 import org.txm.rcp.editors.TableKeyListener;
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.preferences.RCPPreferences;
+import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.NavigationWidget;
 import org.txm.rcp.swt.widget.PropertiesSelector;
 import org.txm.rcp.swt.widget.QueryWidget;
@@ -288,8 +289,9 @@
 		});
 
 		//pagination
-		navigationArea = new NavigationWidget(paramArea, SWT.None);
-		navigationArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL,	true, false,3 ,1));
+		GLComposite navigationComposite = getBottomToolbar().installGLComposite("navigation", 1, false);
+		navigationArea = new NavigationWidget(navigationComposite, SWT.None);
+		navigationArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL,	false, false));
 
 		navigationArea.addFirstListener(new SelectionListener() {
 			@Override
Index: tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 720)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 721)
@@ -126,6 +126,7 @@
 import org.txm.rcp.editors.TableKeyListener;
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.preferences.RCPPreferences;
+import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.dialog.ViewPropertySelectionDialog;
 import org.txm.rcp.swt.widget.AssistedQueryWidget;
 import org.txm.rcp.swt.widget.NavigationWidget;
@@ -1039,8 +1040,9 @@
 
 
 		// Navigation Area: infoLine and buttons
-		navigationWidget = new NavigationWidget(navigationArea, SWT.NONE);
-		navigationWidget.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true, false, 4, 1));
+		GLComposite navigationAreaComposite = getBottomToolbar().installGLComposite("navigation", 1, false);
+		navigationWidget = new NavigationWidget(navigationAreaComposite, SWT.NONE);
+		navigationWidget.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true, false));
 
 		// | [|<] [<] infos [>] [>|] |
 		// [|<]
Index: tmp/org.txm.information.core/src/org/txm/information/core/functions/Information.java
===================================================================
--- tmp/org.txm.information.core/src/org/txm/information/core/functions/Information.java	(revision 720)
+++ tmp/org.txm.information.core/src/org/txm/information/core/functions/Information.java	(revision 721)
@@ -127,10 +127,8 @@
 	 * The maximum number of word property values to display.
 	 */
 	@Parameter(key=InformationPreferences.MAX_PROPERTIES_TO_DISPLAY)
-	protected int maxPropertiesToDisplay;
+	protected int pMaxPropertiesToDisplay;
 	
-	
-	
 	/**
 	 * Instantiates a new Information.
 	 *
@@ -146,9 +144,9 @@
 	 * @param maxPropertiesToDisplay
 	 */
 	public void setParameters(int maxPropertiesToDisplay) {
-		this.maxPropertiesToDisplay = maxPropertiesToDisplay;
-		if (this.maxPropertiesToDisplay <= 0) {
-			this.maxPropertiesToDisplay = 10;
+		this.pMaxPropertiesToDisplay = maxPropertiesToDisplay;
+		if (this.pMaxPropertiesToDisplay <= 0) {
+			this.pMaxPropertiesToDisplay = 10;
 		}
 		this.dirty = true;
 	}
@@ -191,8 +189,8 @@
 				//propertiesCounts.put(p.getName(), size);
 				//List<String> list = Arrays.asList(corpus.getLexicon(p).getForms(this.maxvalue));
 
-				int[] positions = new int[Math.min(maxPropertiesToDisplay, T)];
-				for(int i = 0 ; i < Math.min(maxPropertiesToDisplay, T) ; i++) {
+				int[] positions = new int[Math.min(pMaxPropertiesToDisplay, T)];
+				for(int i = 0 ; i < Math.min(pMaxPropertiesToDisplay, T) ; i++) {
 					positions[i] = i;
 				}
 				
@@ -228,7 +226,7 @@
 				for (StructuralUnitProperty sup : su.getProperties())  {// for each of its property
 					try {
 						List<String> allvalues = sup.getValues(corpus);
-						internalArchitectureProperties.get(su.getName()).put(sup.getName(), allvalues.subList(0, Math.min(allvalues.size(), maxPropertiesToDisplay)));
+						internalArchitectureProperties.get(su.getName()).put(sup.getName(), allvalues.subList(0, Math.min(allvalues.size(), pMaxPropertiesToDisplay)));
 						internalArchitecturePropertiesCounts.get(su.getName()).put(sup.getName(), allvalues.size());
 					} catch (Exception e) {
 						ArrayList<String> list = new ArrayList<String>(1);
@@ -297,7 +295,7 @@
 		buff.append("</ul>\n"); //$NON-NLS-1$
 
 		// Propriétés d'occurrences
-		buff.append("<h3 style'font-family:\"Arial\";'>"+NLS.bind(InformationCoreMessages.Diagnostic_14, maxPropertiesToDisplay) + "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$ 
+		buff.append("<h3 style'font-family:\"Arial\";'>"+NLS.bind(InformationCoreMessages.Diagnostic_14, pMaxPropertiesToDisplay) + "</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$ 
 		ArrayList<String> properties = new ArrayList<String>(propertiesValues.keySet());
 		Collections.sort(properties);
 		buff.append("<ul>\n"); //$NON-NLS-1$
@@ -315,7 +313,7 @@
 		buff.append("</ul>\n"); //$NON-NLS-1$
 
 		// Propriété de structures
-		buff.append("<h3 style'font-family:\"Arial\";'>"+NLS.bind(InformationCoreMessages.Diagnostic_22, maxPropertiesToDisplay)+"</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$
+		buff.append("<h3 style'font-family:\"Arial\";'>"+NLS.bind(InformationCoreMessages.Diagnostic_22, pMaxPropertiesToDisplay)+"</h3>\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buff.append("<ul>\n"); //$NON-NLS-1$
 		for (String s : internalArchitecture) {
 			StringBuffer subbuffer = new StringBuffer();
@@ -355,7 +353,7 @@
 						else
 							subbuffer.append(", "); //$NON-NLS-1$
 						
-						if (i >= maxPropertiesToDisplay) {
+						if (i >= pMaxPropertiesToDisplay) {
 							subbuffer.append("..."); //$NON-NLS-1$
 							break;
 						}
@@ -648,20 +646,20 @@
 
 	@Override
 	public boolean setParameters(TXMParameters parameters) {
-		this.maxPropertiesToDisplay = parameters.getInteger(InformationPreferences.MAX_PROPERTIES_TO_DISPLAY);
+		this.pMaxPropertiesToDisplay = parameters.getInteger(InformationPreferences.MAX_PROPERTIES_TO_DISPLAY);
 		return true;
 	}
 
 	@Override
 	public boolean loadParameters() {
-		// nothing to do
+		// nothing to do -> all parameters are already managed by autoLoadParameters
 		return true;
 	}
 
 	
 	@Override
 	public boolean saveParameters() {
-		// nothing to do
+		// nothing to do -> all parameters are already managed by autoSaveParameters
 		return true;
 	}
 }
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java	(revision 720)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java	(revision 721)
@@ -11,10 +11,13 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.ToolBar;
 import org.eclipse.swt.widgets.ToolItem;
 import org.eclipse.ui.menus.IMenuService;
+import org.txm.core.results.TXMResult;
 import org.txm.rcp.IImageKeys;
+import org.txm.rcp.swt.GLComposite;
 
 /**
  * 
@@ -30,24 +33,30 @@
 	/**
 	 * The linked <code>TXMEditor</code>.
 	 */
-	protected TXMEditor editorPart;
+	protected TXMEditor<? extends TXMResult> editorPart;
 	
-	private HashMap<String, Group> groups = new HashMap<String, Group>();
+	/**
+	 * contains reference to installed groups and composite
+	 */
+	private HashMap<String, Composite> groups = new HashMap<String, Composite>();
 
+	private GLComposite subWidgetComposite;
+
 	/**
 	 * 
 	 * the parent layout must be a GridLayout
 	 * 
-	 * @param parent
+	 * @param parent where the Toolbar will be located
+	 * @param subWidgetComposite where the installed Widgets will be installed
 	 * @param style
 	 * @param toolbarId
 	 * @param editor
 	 */
-	public TXMEditorToolBar(TXMEditor editor, Composite parent, int style, String toolbarId) {
+	public TXMEditorToolBar(TXMEditor<? extends TXMResult> editor, Composite parent, GLComposite subWidgetComposite, int style, String toolbarId) {
 		super(parent, style);
 
 		this.editorPart = editor;
-
+		this.subWidgetComposite = subWidgetComposite;
 		// permit to contribute via plugin.xml menu extension
 		ToolBarManager manager = new ToolBarManager(this);
 		IMenuService menuService = (IMenuService) this.editorPart.getSite().getService(IMenuService.class);
@@ -59,10 +68,18 @@
 	}
 
 	/**
+	 * 
+	 * @return the composite that contains the sub widgets of the toolbar : installed groups, composites.
+	 */
+	public GLComposite getSubWidgetComposite() {
+		return subWidgetComposite;
+	}
+
+	/**
 	 * Gets the <code>TXMEditor</code> linked to this tool bar.
 	 * @return the editorPart
 	 */
-	public TXMEditor getEditorPart() {
+	public TXMEditor<? extends TXMResult> getEditorPart() {
 		return editorPart;
 	}
 
@@ -82,6 +99,7 @@
 	
 
 	/**
+	 * TODO not generic enough and call editorPart.getParametersGroupsComposite()
 	 * Shows/hides the command parameters group.
 	 * @param visible
 	 */
@@ -102,7 +120,21 @@
 		itemSeparator.setWidth(control.getBounds().width);
 	    itemSeparator.setControl(control);	
 	}
-
+		
+	/**
+	 * Creates a <code>GLComposite</code> in the toolbar subwidgets container.
+	 * @param groupTitle the composite uniq title in the toolbar 
+	 * @return
+	 */
+	public GLComposite installGLComposite(String groupTitle, int numColumns, boolean makeColumnsEqualWidth)	{
+		if (this.groups.containsKey(groupTitle)) {
+			return (GLComposite) this.groups.get(groupTitle);
+		}
+		final GLComposite comp = new GLComposite(subWidgetComposite, SWT.NONE);
+		comp.getLayout().numColumns = numColumns;
+		comp.getLayout().makeColumnsEqualWidth = makeColumnsEqualWidth;
+		return comp;
+	}
 	
 	/**
 	 * Creates a <code>Group</code> with some configuration to make it visible/invisible and a <code>ToolItem</code> attached to the specified tool bar to show/hide this group.
@@ -118,10 +150,10 @@
 	public Group installGroup(String groupTitle, String buttonToolTip, String iconFilePath, boolean showGroup)	{
 
 		if (this.groups.containsKey(groupTitle)) {
-			return this.groups.get(groupTitle);
+			return (Group) this.groups.get(groupTitle);
 		}
 		
-		final Group group = new Group(this.editorPart.getParametersGroupsComposite(), SWT.NONE);
+		final Group group = new Group(subWidgetComposite, SWT.NONE);
 		group.setText(groupTitle);
 		
 		RowLayout layout = new RowLayout();
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 720)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 721)
@@ -25,6 +25,7 @@
 import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Spinner;
 import org.eclipse.swt.widgets.TableColumn;
@@ -44,6 +45,7 @@
 import org.txm.rcp.JobsTimer;
 import org.txm.rcp.StatusLine;
 import org.txm.rcp.TXMWindows;
+import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.FloatSpinner;
 import org.txm.rcp.swt.widget.NewNavigationWidget;
 import org.txm.rcp.swt.widget.PropertiesSelector;
@@ -82,9 +84,9 @@
 	protected TXMEditorToolBar bottomToolBar;
 
 	/**
-	 * the parameters groups are added to this composite
+	 * the parameters groups are added to this composite. contains the sub widgets of the default Top toolbar
 	 */
-	private Composite parametersGroupsComposite;
+	private GLComposite parametersGroupsComposite;
 
 	/**
 	 * The command parameters composite that can be hidden. To add main parameters.
@@ -99,7 +101,7 @@
 	private Composite topToolBarContainer;
 
 	/**
-	 * contains the bottom toolbars
+	 * contains the default bottom toolbars widget
 	 */
 	protected Composite bottomToolBarContainer;
 
@@ -108,6 +110,11 @@
 	 * To keep track of the parameters used for the last computing and updates only the widgets if a parameter has changed. 
 	 */
 	protected HashMap<String, Object> lastComputingParameters = new HashMap<String, Object>();
+
+	/**
+	 * contains bottom toolbar subwidgets (installed grouped, etc.)
+	 */
+	private GLComposite bottomSubWidgetsComposite;
 	
 
 	
@@ -139,21 +146,19 @@
 			this.topToolBarContainer = new Composite(parent, SWT.NONE);
 			this.topToolBarContainer.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 			RowLayout rl = new RowLayout(SWT.HORIZONTAL);
+			rl = new RowLayout(SWT.HORIZONTAL);
 			rl.marginTop = rl.marginHeight = rl.marginWidth = rl.marginBottom = 0;
+			rl.center = true;
 			this.topToolBarContainer.setLayout(rl);
 
-			this.topToolBar = new TXMEditorToolBar(this, this.topToolBarContainer, SWT.FLAT | SWT.RIGHT, TOP_TOOLBAR_ID);
-			// FIXME: debug tests for see why there is an empty area at bottom of the toolbar
-			//this.topToolBar.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
-
-			this.parametersGroupsComposite = new Composite(parent, SWT.NONE);
-			GridLayout gl = new GridLayout(1, true);
-			gl.marginBottom = gl.marginHeight = gl.marginWidth = gl.marginTop = 0;
-			this.parametersGroupsComposite.setLayout(gl);
+			this.parametersGroupsComposite = new GLComposite(parent, SWT.NONE);
 			if (parent.getLayout() instanceof GridLayout)	{
 				this.parametersGroupsComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 			}
 			
+			this.topToolBar = new TXMEditorToolBar(this, this.topToolBarContainer, this.parametersGroupsComposite, SWT.FLAT | SWT.RIGHT, TOP_TOOLBAR_ID);
+			// FIXME: debug tests for see why there is an empty area at bottom of the toolbar
+			//this.topToolBar.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
 			
 			// computing parameters components
 			boolean showComputingParameters = false;
@@ -168,19 +173,21 @@
 			this.resultArea = new Composite(parent, SWT.NONE);
 			this.resultArea.setLayoutData(new GridData(GridData.FILL_BOTH));
 			
-			
 			// create the bottom tool bar
 			this.bottomToolBarContainer = new Composite(parent, SWT.NONE);
 			this.bottomToolBarContainer.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 			rl = new RowLayout(SWT.HORIZONTAL);
 			rl.marginTop = rl.marginHeight = rl.marginWidth = rl.marginBottom = 0;
+			rl.center = true;
 			this.bottomToolBarContainer.setLayout(rl);
-
 			
+			this.bottomSubWidgetsComposite = new GLComposite(parent, SWT.NONE);
+			if (parent.getLayout() instanceof GridLayout)	{
+				this.bottomSubWidgetsComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+			}
 			
-			this.bottomToolBar = new TXMEditorToolBar(this, this.bottomToolBarContainer, SWT.FLAT, "bottom");
+			this.bottomToolBar = new TXMEditorToolBar(this, this.bottomToolBarContainer, this.bottomSubWidgetsComposite, SWT.FLAT, "bottom");
 			
-			//this.__createPartControl(parent); // essentially for the ChartEditor
 			this._createPartControl(parent); // child editor create its parameters and display widgets
 			
 			
@@ -189,10 +196,10 @@
 			}
 			
 			// remove empty toolbar
-			//TODO SJ: Hack?
-			if (this.bottomToolBar.getItems().length == 0) {
-				this.bottomToolBar.dispose();
-			}
+			//TODO SJ: Hack? MD: yeah -> need to find a way to not display the bottom toolbar on Windows instead
+//			if (this.bottomToolBar.getItems().length == 0) {
+//				this.bottomToolBar.dispose();
+//			}
 		}
 		catch(Exception e) {
 			System.err.println("TXMEditor.createPartControl(): can not create the editor.");
@@ -206,15 +213,28 @@
 	 */
 	public abstract void _createPartControl(Composite parent);
 	
-
-	public Composite getTopToolBarContainer() {
+	/**
+	 * Use this method to add widget next to the default Top toolbar
+	 * 
+	 * @return the composite that contains the default Top toolbar. 
+	 */
+	public Composite getTopToolbarContainer() {
 		return topToolBarContainer;
 	}
 
+	/**
+	 * Use this method to add widget next to the default Bottom toolbar
+	 * 
+	 * @return the composite that contains the default Bottom toolbar. 
+	 */
 	public Composite getBottomToolBarContainer() {
 		return bottomToolBarContainer;
 	}
 
+	/**
+	 * 
+	 * @return the default Top toolbar of TXMEditors
+	 */
 	public TXMEditorToolBar getTopToolbar() {
 		return topToolBar;
 	}
@@ -227,6 +247,10 @@
 		return resultArea;
 	}
 
+	/**
+	 * 
+	 * @return the default bottom toolbar of editors
+	 */
 	public TXMEditorToolBar getBottomToolbar() {
 		return bottomToolBar;
 	}
@@ -888,10 +912,10 @@
 	}
 
 	/**
-	 * Gets the parameters composite.
-	 * @return the composite that contains the TXMEditorToolBar parameters panels
+	 * Gets the composite of the sub widgets of the Top toolbar.
+	 * @return the composite that contains the <b>default Top</b> TXMEditorToolBar parameters panels
 	 */
-	public Composite getParametersGroupsComposite() {
+	public GLComposite getParametersGroupsComposite() {
 		return parametersGroupsComposite;
 	}
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/NavigationWidget.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/NavigationWidget.java	(revision 720)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/NavigationWidget.java	(revision 721)
@@ -38,12 +38,13 @@
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
 import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.rcp.swt.GLComposite;
 
 // TODO: Auto-generated Javadoc
 /**
  * [<< |< < label > >| >>] @ author mdecorde.
  */
-public class NavigationWidget extends Composite {
+public class NavigationWidget extends GLComposite {
 
 	/** The info line. */
 	Label infoLine;
@@ -73,7 +74,8 @@
 	 */
 	public NavigationWidget(Composite parent, int style) {
 		super(parent, style);
-		this.setLayout(new GridLayout(6, false));
+		this.getLayout().numColumns = 6;
+		this.getLayout().makeColumnsEqualWidth = false;
 
 		// | [|<] [<] [info] [>] [>|] |
 
@@ -91,6 +93,7 @@
 		// [current]
 		currentPosition = new Text(this, SWT.NONE);
 		GridData currentPositionLayoutData = new GridData(GridData.VERTICAL_ALIGN_CENTER, SWT.CENTER, true, false);
+		currentPositionLayoutData.minimumWidth = 20;
 		currentPosition.setLayoutData(currentPositionLayoutData);
 		currentPosition.setTextLimit(6);
 		currentPosition.setEditable(false);
@@ -202,7 +205,8 @@
 	public void setInfoLineText(String current, String s) {
 		this.currentPosition.setText(current);
 		this.infoLine.setText(s);
-		this.layout();
+		this.layout(true);
+		this.getParent().layout(true);
 	} 
 	
 	public int getCurrent() {
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java	(revision 0)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java	(revision 721)
@@ -0,0 +1,36 @@
+package org.txm.rcp.swt;
+
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Layout;
+
+/**
+ * A Composite with a GridLayout set by default. Margins are set to a minimum.
+ * 
+ * @author mdecorde
+ *
+ */
+public class GLComposite extends Composite {
+
+	private GridLayout gl;
+
+	public GLComposite(Composite parent, int style) {
+		super(parent, style);
+		gl = new GridLayout();
+		gl.marginBottom = 0;gl.marginHeight = 0;gl.marginWidth = 0;gl.marginTop = 0;
+		gl.horizontalSpacing = 0;
+		gl.verticalSpacing = 0;
+		super.setLayout(gl);
+	}
+
+	public final GridLayout getLayout() {
+		return gl;
+	}
+	
+	/**
+	 * Warning : this composite layout cannot be changed
+	 */
+	public final void setLayout(Layout layout) {
+		//super.setLayout(layout);
+	}
+}

Property changes on: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.rcp/META-INF/MANIFEST.MF
===================================================================
--- tmp/org.txm.rcp/META-INF/MANIFEST.MF	(revision 720)
+++ tmp/org.txm.rcp/META-INF/MANIFEST.MF	(revision 721)
@@ -154,6 +154,7 @@
  org.txm.rcp.preferences,
  org.txm.rcp.splashHandlers,
  org.txm.rcp.svg,
+ org.txm.rcp.swt,
  org.txm.rcp.swt.dialog,
  org.txm.rcp.swt.provider,
  org.txm.rcp.swt.widget,
@@ -167,7 +168,8 @@
  org.txm.rcp.views.corpora,
  org.txm.rcp.views.debug,
  org.txm.rcp.views.fileexplorer,
- org.txm.rcp.wizard
+ org.txm.rcp.wizard,
+ swing2swt.layout
 Bundle-ClassPath: bin/,
  .,
  lib/commons-cli-1.2.jar,
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 720)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 721)
@@ -120,13 +120,13 @@
 	public final void _createPartControl(Composite parent) {
 		
 		// Toolbar
-		this.chartToolBar = new ChartEditorToolBar(this, this.getTopToolBarContainer(), SWT.FLAT | SWT.RIGHT);
+		this.chartToolBar = new ChartEditorToolBar(this, this.getTopToolbarContainer(), this.getParametersGroupsComposite(), SWT.FLAT | SWT.RIGHT);
 		//this.chartToolBar.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
 
 		// Advanced tool bar
 		//this.advancedToolBarComposite = new Composite(parent, SWT.NONE);
 		Group group = this.topToolBar.installGroup("Rendering parameters", "Show/Hide rendering parameters", "platform:/plugin/org.txm.chartsengine.rcp/icons/show_rendering_parameters.png", false);
-		this.advancedChartToolBar = new AdvancedChartEditorToolBar(this, group, SWT.FLAT);
+		this.advancedChartToolBar = new AdvancedChartEditorToolBar(this, group, this.getParametersGroupsComposite(), SWT.FLAT);
 		//this.advancedChartToolBar.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_WHITE));
 //		this.advancedToolBarComposite.pack(true);
 
Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartEditorToolBar.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartEditorToolBar.java	(revision 720)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/ChartEditorToolBar.java	(revision 721)
@@ -1,8 +1,10 @@
 package org.txm.chartsengine.rcp.swt;
 
 import org.eclipse.swt.widgets.Composite;
+import org.txm.chartsengine.core.results.ChartResult;
 import org.txm.chartsengine.rcp.editors.ChartEditor;
 import org.txm.rcp.editors.TXMEditorToolBar;
+import org.txm.rcp.swt.GLComposite;
 
 /**
  * The default chart editor tool bar shared by every <code>ChartEditor</code>.
@@ -25,8 +27,8 @@
 	 * @param toolBarId
 	 * @param chartEditor
 	 */
-	public ChartEditorToolBar(ChartEditor chartEditor, Composite parent, int style) {
-		this(chartEditor, parent, style, ChartEditorToolBar.ID);
+	public ChartEditorToolBar(ChartEditor<? extends ChartResult> chartEditor, Composite parent, GLComposite subWidgetsComposite, int style) {
+		this(chartEditor, parent, subWidgetsComposite, style, ChartEditorToolBar.ID);
 	}
 	
 
@@ -36,8 +38,8 @@
 	 * @param style
 	 * @param chartEditorPart
 	 */
-	public ChartEditorToolBar(ChartEditor chartEditor, Composite parent, int style, String toolbarId) {
-		super(chartEditor, parent, style, toolbarId);
+	public ChartEditorToolBar(ChartEditor<? extends ChartResult> chartEditor, Composite parent, GLComposite subWidgetsComposite, int style, String toolbarId) {
+		super(chartEditor, parent, subWidgetsComposite, style, toolbarId);
 
 		
 		//FIXME: tests
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 720)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/swt/AdvancedChartEditorToolBar.java	(revision 721)
@@ -14,9 +14,11 @@
 import org.txm.chartsengine.core.ChartCreator;
 import org.txm.chartsengine.core.ChartsEngine;
 import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
+import org.txm.chartsengine.core.results.ChartResult;
 import org.txm.chartsengine.rcp.editors.ChartEditor;
 import org.txm.chartsengine.rcp.messages.SWTComponentsProviderMessages;
 import org.txm.rcp.IImageKeys;
+import org.txm.rcp.swt.GLComposite;
 
 /**
  * The default advanced chart editor tool bar shared by every <code>ChartEditor</code>.
@@ -34,8 +36,8 @@
 	 * @param parent
 	 * @param style
 	 */
-	public AdvancedChartEditorToolBar(ChartEditor chartEditor, Composite parent, int style) {
-		super(chartEditor, parent, style, AdvancedChartEditorToolBar.ID);
+	public AdvancedChartEditorToolBar(ChartEditor<? extends ChartResult> chartEditor, Composite parent, GLComposite subWidgetsComposite, int style) {
+		super(chartEditor, parent, subWidgetsComposite, style, AdvancedChartEditorToolBar.ID);
 		
 		
 		final ToolItem showTitle = new ToolItem(this, SWT.CHECK);
