Index: tmp/org.txm.statsengine.core/plugin.xml
===================================================================
--- tmp/org.txm.statsengine.core/plugin.xml	(revision 782)
+++ tmp/org.txm.statsengine.core/plugin.xml	(revision 783)
@@ -1,12 +1,12 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?eclipse version="3.4"?>
 <plugin>
-   <extension-point id="org.txm.statsengine.core.StatEngine" name="Stat Engine" schema="schema/org.txm.statengine.exsd"/>
+   <extension-point id="org.txm.statsengine.core.StatsEngine" name="Stats Engine" schema="schema/org.txm.statsengine.exsd"/>
    <extension
          point="org.txm.EnginesManager">
       <EngineManager
-            class="org.txm.statsengine.core.StatEngines"
-            description="Stat engines manager"
+            class="org.txm.statsengine.core.StatsEnginesManager"
+            description="Stats engines manager"
             name="org.txm.statsengine.core.StatEngines">
       </EngineManager>
    </extension>
Index: tmp/org.txm.statsengine.core/schema/org.txm.statengine.exsd
===================================================================
--- tmp/org.txm.statsengine.core/schema/org.txm.statengine.exsd	(revision 782)
+++ tmp/org.txm.statsengine.core/schema/org.txm.statengine.exsd	(revision 783)
@@ -1,102 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.txm.statsengine.core" xmlns="http://www.w3.org/2001/XMLSchema">
-<annotation>
-      <appinfo>
-         <meta.schema plugin="org.txm.statsengine.core" id="org.txm.statsengine.core.StatEngine" name="Stat Engine"/>
-      </appinfo>
-      <documentation>
-         A stat engine allow to call statistical R methods 
-      </documentation>
-   </annotation>
-
-   <element name="extension">
-      <annotation>
-         <appinfo>
-            <meta.element />
-         </appinfo>
-      </annotation>
-      <complexType>
-         <choice minOccurs="1" maxOccurs="unbounded">
-            <element ref="StatEngine"/>
-         </choice>
-         <attribute name="point" type="string" use="required">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="id" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-            </annotation>
-         </attribute>
-         <attribute name="name" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute translatable="true"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <element name="StatEngine">
-      <complexType>
-         <attribute name="class" type="string">
-            <annotation>
-               <documentation>
-                  
-               </documentation>
-               <appinfo>
-                  <meta.attribute kind="java" basedOn="org.txm.statsengine.core.StatEngine:"/>
-               </appinfo>
-            </annotation>
-         </attribute>
-      </complexType>
-   </element>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="since"/>
-      </appinfo>
-      <documentation>
-         [Enter the first release in which this extension point appears.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="examples"/>
-      </appinfo>
-      <documentation>
-         [Enter extension point usage example here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="apiinfo"/>
-      </appinfo>
-      <documentation>
-         [Enter API information here.]
-      </documentation>
-   </annotation>
-
-   <annotation>
-      <appinfo>
-         <meta.section type="implementation"/>
-      </appinfo>
-      <documentation>
-         [Enter information about supplied implementation of this extension point.]
-      </documentation>
-   </annotation>
-
-
-</schema>
Index: tmp/org.txm.statsengine.core/schema/org.txm.statsengine.exsd
===================================================================
--- tmp/org.txm.statsengine.core/schema/org.txm.statsengine.exsd	(revision 0)
+++ tmp/org.txm.statsengine.core/schema/org.txm.statsengine.exsd	(revision 783)
@@ -0,0 +1,102 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!-- Schema file written by PDE -->
+<schema targetNamespace="org.txm.statsengine.core" xmlns="http://www.w3.org/2001/XMLSchema">
+<annotation>
+      <appinfo>
+         <meta.schema plugin="org.txm.statsengine.core" id="org.txm.statsengine.core.StatsEngine" name="Stats Engine"/>
+      </appinfo>
+      <documentation>
+         A stats engine allow to call statistical commands.
+      </documentation>
+   </annotation>
+
+   <element name="extension">
+      <annotation>
+         <appinfo>
+            <meta.element />
+         </appinfo>
+      </annotation>
+      <complexType>
+         <choice minOccurs="1" maxOccurs="unbounded">
+            <element ref="StatsEngine"/>
+         </choice>
+         <attribute name="point" type="string" use="required">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="id" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+            </annotation>
+         </attribute>
+         <attribute name="name" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute translatable="true"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <element name="StatsEngine">
+      <complexType>
+         <attribute name="class" type="string">
+            <annotation>
+               <documentation>
+                  
+               </documentation>
+               <appinfo>
+                  <meta.attribute kind="java" basedOn="org.txm.statsengine.core.StatsEngine:"/>
+               </appinfo>
+            </annotation>
+         </attribute>
+      </complexType>
+   </element>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="since"/>
+      </appinfo>
+      <documentation>
+         [Enter the first release in which this extension point appears.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="examples"/>
+      </appinfo>
+      <documentation>
+         [Enter extension point usage example here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="apiinfo"/>
+      </appinfo>
+      <documentation>
+         [Enter API information here.]
+      </documentation>
+   </annotation>
+
+   <annotation>
+      <appinfo>
+         <meta.section type="implementation"/>
+      </appinfo>
+      <documentation>
+         [Enter information about supplied implementation of this extension point.]
+      </documentation>
+   </annotation>
+
+
+</schema>

Property changes on: tmp/org.txm.statsengine.core/schema/org.txm.statsengine.exsd
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatEngine.java
===================================================================
--- tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatEngine.java	(revision 782)
+++ tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatEngine.java	(revision 783)
@@ -1,11 +0,0 @@
-package org.txm.statsengine.core;
-
-import org.txm.Engine;
-
-public abstract class StatEngine implements Engine {
-
-	public static final String EXTENSION_POINT_ID = StatEngine.class.getCanonicalName();
-
-	@Override
-	public abstract String getName();
-}
Index: tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatEngines.java
===================================================================
--- tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatEngines.java	(revision 782)
+++ tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatEngines.java	(revision 783)
@@ -1,75 +0,0 @@
-package org.txm.statsengine.core;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.txm.Engine;
-import org.txm.EngineType;
-import org.txm.EnginesManager;
-import org.txm.Toolbox;
-
-public class StatEngines extends EnginesManager<StatEngine> {
-
-	public static StatEngine getREngine() {
-		return (StatEngine) Toolbox.getEngineManager(EngineType.STAT).getEngine("R");
-	}
-
-	@Override
-	protected boolean fetchEngines() {
-
-		IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(StatEngine.EXTENSION_POINT_ID);
-
-		for (int i = 0; i < contributions.length; i++) {
-			try {
-				StatEngine e = (StatEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
-				// register something with the SearchEngine ?
-				engines.put(e.getName(), e);
-			} catch(CoreException e) {
-				e.printStackTrace();
-			} 
-		}
-
-		return engines.size() > 0;
-	}
-
-	@Override
-	public EngineType getEnginesType() {
-		return EngineType.STAT;
-	}
-
-	@Override
-	public boolean startEngines(IProgressMonitor monitor) {
-		//System.out.println("StatEngines.startEngines: "+engines);
-		for (Engine e : engines.values()) {
-
-			StatEngine se = (StatEngine)e;
-			if (monitor != null) monitor.subTask("Starting "+se.getName()+" statengine...");
-			try {
-				se.start(monitor);
-			} catch (Exception e2) {
-				System.err.println("Error: fail to start StatEngine: "+se.getName()+": "+e2.getLocalizedMessage());
-				e2.printStackTrace();
-			}
-
-		}
-		return true;
-	}
-
-	@Override
-	public boolean stopEngines() {
-
-		for (Engine e : engines.values()) {
-
-			StatEngine se = (StatEngine)e;
-			System.out.println("Stoping "+se.getName()+" statengine...");
-			try {
-				se.stop();
-			} catch (Exception e2) {
-				System.err.println("Error: fail to stop StatEngine: "+se.getName()+": "+e2.getLocalizedMessage());
-				e2.printStackTrace();
-			}
-		}
-		return true;
-	}
-}
Index: tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEnginesManager.java
===================================================================
--- tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEnginesManager.java	(revision 0)
+++ tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEnginesManager.java	(revision 783)
@@ -0,0 +1,80 @@
+package org.txm.statsengine.core;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.txm.Engine;
+import org.txm.EngineType;
+import org.txm.EnginesManager;
+import org.txm.Toolbox;
+import org.txm.utils.logger.Log;
+
+public class StatsEnginesManager extends EnginesManager<StatsEngine> {
+
+	public static StatsEngine getREngine() {
+		return (StatsEngine) Toolbox.getEngineManager(EngineType.STATS).getEngine("R");
+	}
+
+	@Override
+	protected boolean fetchEngines() {
+
+		IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(StatsEngine.EXTENSION_POINT_ID);
+
+		Log.finest("Looking for stats engines contributions with extension point id " + StatsEngine.EXTENSION_POINT_ID + ".");
+		
+		Log.finest(contributions.length + " stats engines found.");
+		
+		for (int i = 0; i < contributions.length; i++) {
+			try {
+				StatsEngine e = (StatsEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
+				// register something with the SearchEngine ?
+				engines.put(e.getName(), e);
+			} catch(CoreException e) {
+				e.printStackTrace();
+			} 
+		}
+
+		return engines.size() > 0;
+	}
+
+	@Override
+	public EngineType getEnginesType() {
+		return EngineType.STATS;
+	}
+
+	@Override
+	public boolean startEngines(IProgressMonitor monitor) {
+		//System.out.println("StatEngines.startEngines: "+engines);
+		for (Engine e : engines.values()) {
+
+			StatsEngine se = (StatsEngine)e;
+			if (monitor != null) monitor.subTask("Starting " + se.getName() + " statengine...");
+			try {
+				se.start(monitor);
+			} catch (Exception e2) {
+				System.err.println("Error: fail to start stats engine: "+se.getName()+": "+e2.getLocalizedMessage());
+				e2.printStackTrace();
+			}
+
+		}
+		return true;
+	}
+
+	@Override
+	public boolean stopEngines() {
+
+		for (Engine e : engines.values()) {
+
+			StatsEngine se = (StatsEngine)e;
+			System.out.println("Stopping " + se.getName() + " stats engine...");
+			try {
+				se.stop();
+			} catch (Exception e2) {
+				System.err.println("Error: failed to stop stats engine: " + se.getName() + ": " + e2.getLocalizedMessage());
+				e2.printStackTrace();
+			}
+		}
+		return true;
+	}
+}

Property changes on: tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEnginesManager.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEngine.java
===================================================================
--- tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEngine.java	(revision 0)
+++ tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEngine.java	(revision 783)
@@ -0,0 +1,11 @@
+package org.txm.statsengine.core;
+
+import org.txm.Engine;
+
+public abstract class StatsEngine implements Engine {
+
+	public static final String EXTENSION_POINT_ID = "org.txm.statsengine.core.StatsEngine"; //$NON-NLS-1$
+
+	@Override
+	public abstract String getName();
+}

Property changes on: tmp/org.txm.statsengine.core/src/org/txm/statsengine/core/StatsEngine.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java
===================================================================
--- tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 782)
+++ tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 783)
@@ -63,6 +63,7 @@
 import org.txm.rcp.editors.TXMEditor;
 import org.txm.rcp.editors.TableKeyListener;
 import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.structures.PropertiesComboViewer;
 import org.txm.rcp.views.QueriesView;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
@@ -114,7 +115,11 @@
 	boolean reverse = DEFAULTREVERSE;
 
 
+	private Label infoLine;
+
+
 	
+	
 	/**
 	 * Unit property.
 	 */
@@ -130,9 +135,7 @@
 //	@Parameter(key=LexicalTablePreferences.V_MAX)
 	protected Spinner vMax;
 
-	private Label infoLine;
 
-
 	
 	
 	
@@ -148,10 +151,24 @@
 		try {
 			lexicalTable = (LexicalTable) this.getResult();
 			
-			Composite parametersArea = this.getCommandParametersGroup();
 			
+			// Main parameters
+			GLComposite mainParametersArea = this.getMainParametersComposite();
+			mainParametersArea.getLayout().numColumns = 2;
+
+			// unit property
+			new Label(mainParametersArea, SWT.NONE).setText(TXMCoreMessages.common_property);
+			this.unitPropertyComboViewer = new PropertiesComboViewer(mainParametersArea, this, true,
+					Corpus.getFirstParentCorpus(this.getResult()).getOrderedProperties(),
+					this.getResult().getProperty(), false);
+
+			
+
+			// Extended parameters
+			Composite extendedParametersArea = this.getExtendedParametersComposite();
+			
 			// Apply button
-			Button keepTop = new Button(parametersArea, SWT.PUSH);
+			Button keepTop = new Button(extendedParametersArea, SWT.PUSH);
 			keepTop.setText(LexicalTableUIMessages.LexicalTableEditor_4);
 			keepTop.addSelectionListener(new SelectionListener() {
 				@Override
@@ -182,25 +199,18 @@
 			});
 			
 			// Number of lines
-			Label nLines = new Label(parametersArea, SWT.NONE);
+			Label nLines = new Label(extendedParametersArea, SWT.NONE);
 			nLines.setText(TXMCoreMessages.common_numberOfLines);
-			vMax = new Spinner(parametersArea, SWT.BORDER);
+			vMax = new Spinner(extendedParametersArea, SWT.BORDER);
 
 			// Fmin
-			Label fmin = new Label(parametersArea, SWT.NONE);
+			Label fmin = new Label(extendedParametersArea, SWT.NONE);
 			fmin.setText(TXMCoreMessages.common_fMin);
-			fMin = new Spinner(parametersArea, SWT.BORDER);
+			fMin = new Spinner(extendedParametersArea, SWT.BORDER);
 
-			// unit property
-			new Label(parametersArea, SWT.NONE).setText(TXMCoreMessages.common_property);
-			this.unitPropertyComboViewer = new PropertiesComboViewer(parametersArea, this, true,
-					Corpus.getFirstParentCorpus(this.getResult()).getOrderedProperties(),
-					this.getResult().getProperty(), false);
-
 			
-			
 			// Merge or delete columns button
-			Button fusionCol = new Button(parametersArea, SWT.PUSH);
+			Button fusionCol = new Button(extendedParametersArea, SWT.PUSH);
 			fusionCol.setText(LexicalTableUIMessages.LexicalTableEditor_10);
 			fusionCol.addSelectionListener(new SelectionListener() {
 				@Override
@@ -293,7 +303,7 @@
 			});
 
 			// Merge or delete lines button
-			Button mergeDeleteRows = new Button(parametersArea, SWT.PUSH);
+			Button mergeDeleteRows = new Button(extendedParametersArea, SWT.PUSH);
 			mergeDeleteRows.setText(LexicalTableUIMessages.LexicalTableEditor_13);
 			mergeDeleteRows.addSelectionListener(new SelectionListener() {
 				@Override
@@ -440,9 +450,9 @@
 	 */
 	public void refreshTable(boolean update) {
 
-//		if(!update)	{
+		if(this.lexicalTable.hasBeenComputedOnce())	{
 			
-			formColumn.getColumn().setText(this.lexicalTable.getProperty().getName()); 
+			formColumn.getColumn().setText(this.lexicalTable.getProperty().getName());
 
 			collist = new ArrayList<Object>();
 			Vector colnames = lexicalTable.getColNames();
@@ -466,21 +476,24 @@
 				org.txm.rcp.utils.Logger.printStackTrace(e1);
 				return;
 			}
-//		}
 
 		
-		LineLabelProvider labelprovider = new LineLabelProvider(this.lexicalTable);
-		this.viewer.setLabelProvider(labelprovider);
-		this.cols = labelprovider.getCols();
-		this.rows = labelprovider.getRows();
-		//this.freqs = labelprovider.getFreqs();
+			LineLabelProvider labelprovider = new LineLabelProvider(this.lexicalTable);
+			this.viewer.setLabelProvider(labelprovider);
+			this.cols = labelprovider.getCols();
+			this.rows = labelprovider.getRows();
+			//this.freqs = labelprovider.getFreqs();
+	
 
-
+		}
+		
 		// Refresh and pack the columns
 		TXMEditor.packColumns(this.viewer);
 		
 		this.viewer.getTable().deselectAll();
 		this.viewer.getTable().setFocus();
+		
+		
 	}
 		
 	
@@ -631,13 +644,16 @@
 	 @Override
 	public void updateEditorFromResult(boolean update) {
 		vMax.setMinimum(1);
-		vMax.setMaximum(lexicalTable.getData().getNRows());
-		vMax.setSelection(lexicalTable.getData().getNRows());
-		fMin.setMinimum(lexicalTable.getData().getFMin());
-		fMin.setMaximum(lexicalTable.getData().getFMax());
+		if(lexicalTable.getData() != null)	{
+			vMax.setMaximum(lexicalTable.getData().getNRows());
+			vMax.setSelection(lexicalTable.getData().getNRows());
+			fMin.setMinimum(lexicalTable.getData().getFMin());
+			fMin.setMaximum(lexicalTable.getData().getFMax());
+			
+			this.refreshTable(update);
+			this.refreshInfos();
+		}
 		
-		this.refreshTable(update);
-		this.refreshInfos();
 		
 		QueriesView.refresh();
 		RVariablesView.refresh();
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 782)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 783)
@@ -167,7 +167,7 @@
 		ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this);
 		ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
 		
-		Composite paramArea = this.getCommandParametersGroup();
+		Composite paramArea = this.getExtendedParametersComposite();
 		paramArea.setLayout(new FormLayout());
 
 		// info&navigation panel
@@ -191,17 +191,17 @@
 		// | Query: [ (v)] [Search] |
 		
 		// Query:
-		getMinimalParametersComposite().getLayout().numColumns = 3;
+		getMainParametersComposite().getLayout().numColumns = 3;
 		// make the zone expandable to display the longest query field
-		getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 				
 		// Query:
-		queryLabel = new Label(getMinimalParametersComposite(), SWT.NONE);
+		queryLabel = new Label(getMainParametersComposite(), SWT.NONE);
 		queryLabel.setText(TXMCoreMessages.common_query);
 		queryLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, true));
 
 		// [ (v)]
-		queryWidget = new AssistedQueryWidget(getMinimalParametersComposite(), SWT.DROP_DOWN,	index.getCorpus());
+		queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN,	index.getCorpus());
 		GridData layoutData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
 		layoutData.horizontalAlignment = GridData.FILL;
 		layoutData.grabExcessHorizontalSpace = true;
@@ -210,7 +210,7 @@
 
 		
 		// Word properties selector
-		propertiesSelector = new PropertiesSelector<WordProperty>(getMinimalParametersComposite(), SWT.NONE);
+		propertiesSelector = new PropertiesSelector<WordProperty>(getMainParametersComposite(), SWT.NONE);
 		propertiesSelector.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
 		propertiesSelector.setLayout(new GridLayout(3, false));
 		try {
Index: tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/DictionnaryEditor.java
===================================================================
--- tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/DictionnaryEditor.java	(revision 782)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/DictionnaryEditor.java	(revision 783)
@@ -31,7 +31,7 @@
 		this.queryLabel.dispose();
 		
 		// no query field -> no need to expand the zone
-		getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
+		getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
 		
 	}
 }
\ No newline at end of file
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 782)
+++ tmp/org.txm.internalview.rcp/src/org/txm/internalview/rcp/editors/InternalViewEditor.java	(revision 783)
@@ -102,7 +102,7 @@
 		ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
 		
 		
-		Composite parametersArea = getCommandParametersGroup();
+		Composite parametersArea = getExtendedParametersComposite();
 		parametersArea.setLayout(new GridLayout(5,false));
 		parametersArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
@@ -144,8 +144,10 @@
 		structuralUnitPropertiesSelector.setTitle(InternalViewUIMessages.InternalViewEditor_5);
 		structuralUnitPropertiesSelector.addSelectionListener(computeSelectionListener);
 		
+		
 		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.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java
===================================================================
--- tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java	(revision 782)
+++ tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java	(revision 783)
@@ -180,17 +180,17 @@
 
 		try {
 			// Query:
-			getMinimalParametersComposite().getLayout().numColumns = 2;
+			getMainParametersComposite().getLayout().numColumns = 2;
 			// make
-			getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+			getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 			
-			Label queryLabel = new Label(getMinimalParametersComposite(), SWT.NONE);
+			Label queryLabel = new Label(getMainParametersComposite(), SWT.NONE);
 			queryLabel.setText("Add query");
 			queryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
 			// [ (v)]
 			// queryWidget = new QueryWidget(queryArea, SWT.DROP_DOWN);
-			queryWidget = new AssistedQueryWidget(getMinimalParametersComposite(), SWT.DROP_DOWN, getResult().getCorpus());
+			queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN, getResult().getCorpus());
 			queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
 			queryWidget.addKeyListener(new ComputeKeyListener(this) {
 				@Override
@@ -204,7 +204,7 @@
 			});
 			
 			// System.out.println(parent.getLayout());
-			Composite mainPanel = this.getCommandParametersGroup();
+			Composite mainPanel = this.getExtendedParametersComposite();
 			GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
 			mainPanel.setLayoutData(gridData);
 			GridLayout glayout = new GridLayout(2, false);
Index: tmp/org.txm.chartsengine.core/plugin.xml
===================================================================
--- tmp/org.txm.chartsengine.core/plugin.xml	(revision 782)
+++ tmp/org.txm.chartsengine.core/plugin.xml	(revision 783)
@@ -12,7 +12,7 @@
    <extension
          point="org.txm.EnginesManager">
       <EngineManager
-            class="org.txm.chartsengine.core.ChartEnginesManager"
+            class="org.txm.chartsengine.core.ChartsEnginesManager"
             description="Charts Engines Manager"
             name="org.txm.chartsengine.core.ChartEnginesManager">
       </EngineManager>
Index: tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartEnginesManager.java
===================================================================
--- tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartEnginesManager.java	(revision 782)
+++ tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartEnginesManager.java	(revision 783)
@@ -1,45 +0,0 @@
-package org.txm.chartsengine.core;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.txm.EngineType;
-import org.txm.EnginesManager;
-import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
-import org.txm.core.preferences.TXMPreferences;
-
-public class ChartEnginesManager extends EnginesManager<ChartsEngine> {
-
-	@Override
-	protected boolean fetchEngines() {
-		try {
-			// creates charts engine
-			ChartsEngine.createChartsEngines();
-			ChartsEngine.setCurrrentChartsEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE));
-			
-			TXMPreferences.alternativeNodesQualifiers.add(ChartsEnginePreferences.PREFERENCES_NODE);
-
-		} catch (Throwable e) {
-			e.printStackTrace();
-			return false;
-		}
-		return true;
-	}
-
-	@Override
-	public boolean startEngines(IProgressMonitor monitor) {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public boolean stopEngines() {
-		// TODO Auto-generated method stub
-		return false;
-	}
-
-	@Override
-	public EngineType getEnginesType() {
-		// TODO Auto-generated method stub
-		return null;
-	}
-
-}
Index: tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java
===================================================================
--- tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java	(revision 782)
+++ tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/results/ChartResult.java	(revision 783)
@@ -137,22 +137,37 @@
 				&& super.autoLoadParametersFromAnnotations(Parameter.RENDERING));
 	}
 
+
+	@Override
+	public void setDirty() {
+		super.setDirty();
+		this.chart = null;
+		this.setChartDirty();
+	}
+
+	/**
+	 * 
+	 */
+	public void setChartDirty() {
+		this.chartDirty = true;
+	}
+
+
 	
-	
 	@Override
 	public boolean compute(IProgressMonitor monitor) throws Exception {
 
-		// FIXME: Debug
-		System.err.println("************** ChartResult.compute(): computing result of type " + this.getClass() + "...");
+		Log.finest("************** ChartResult.compute(): computing result of type " + this.getClass() + "...");
 
 		// compute the result if needed
-		if(super.compute(monitor, false))	{
+		if(super.compute(monitor, true, false))	{
 			// compute the chart
 			return renderChart();
 		}
 		else	{
 			return false;
 		}
+
 	}
 	
 	/**
@@ -164,21 +179,14 @@
 
 		this.subTask("Rendering chart for result " + this.getClass() + " and chart type " + this.getChartType() + ".");
 
-		// FIXME: Debug
-		System.err.println("ChartResult.renderChart(): rendering chart for result " + this.getClass() + " and chart type " + this.getChartType() + "...");
+		Log.finest("ChartResult.renderChart(): rendering chart for result " + this.getClass() + " and chart type " + this.getChartType() + "...");
 
-		
-		if (!this.isChartDirtyFromHistory()) {
-
-			// FIXME: Debug
-			System.err.println("ChartResult.renderChart(): chart rendering parameters have not changed since last rendering, rendering skipped.");
+		if (!this.chartDirty && !this.isChartDirtyFromHistory()) {
+			Log.finest("ChartResult.renderChart(): chart rendering parameters have not changed since last rendering, rendering skipped.");
 			return true;
 		}
 		else if (!this.chartDirty) {
-			
-			// FIXME: Debug
-			System.err.println("ChartResult.renderChart(): chart is not dirty, rendering skipped.");
-
+			Log.finest("ChartResult.renderChart(): chart is not dirty, rendering skipped.");
 			return true;
 		}
 
@@ -193,7 +201,7 @@
 				}
 				chartCreator = ChartsEngine.getChartsEngines().get(i).getChartCreator(this);
 				if(chartCreator != null)	{
-					System.out.println("ChartResult.renderChart(): another suitable chart creator has been found in charts engine: " + ChartsEngine.getChartsEngines().get(i) + ".");
+					Log.finest("ChartResult.renderChart(): another suitable chart creator has been found in charts engine: " + ChartsEngine.getChartsEngines().get(i) + ".");
 					this.chartsEngine = ChartsEngine.getChartsEngines().get(i);
 					break;
 				}
@@ -208,16 +216,14 @@
 			// The change of the chart type parameter can occur if:
 			// - the chart has never been created
 			// - the chart type has been changed, e.g. to dynamically change the type of chart or the current charts engine
-			if (this.hasParameterChanged(ChartsEnginePreferences.CHART_TYPE)) {
-				// FIXME: debug
-				System.err.println("ChartResult.renderChart(): creating chart.");
+			if (this.chart == null || this.hasParameterChanged(ChartsEnginePreferences.CHART_TYPE)) {
+				Log.finest("ChartResult.renderChart(): creating chart.");
 
 				this.chart = chartCreator.createChart(this);
 			}
 			
 			// Updating
-			// FIXME: debug
-			System.err.println("ChartResult.renderChart(): updating chart.");
+			Log.finest("ChartResult.renderChart(): updating chart.");
 			
 			// FIXME: the update must be done here (BEFORE the call of this.updateLastRenderingParameters()) rather than in the SWTChartComponentsProvider => the problem is that for File based Engine, the file may be created twice, need to check this
 			// also before the call of this.updateLastParameters() to be able to check if a computing parameter has changed in the chart creators 
@@ -403,21 +409,7 @@
 		return chartDirty;
 	}
 
-	@Override
-	public void setDirty() {
-		super.setDirty();
-		this.setChartDirty();
-	}
-
 	/**
-	 * 
-	 */
-	public void setChartDirty() {
-		this.chartDirty = true;
-	}
-
-
-	/**
 	 * @return the needsToResetView
 	 */
 	public boolean needsToResetView() {
Index: tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java
===================================================================
--- tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java	(revision 0)
+++ tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java	(revision 783)
@@ -0,0 +1,52 @@
+package org.txm.chartsengine.core;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.txm.EngineType;
+import org.txm.EnginesManager;
+import org.txm.chartsengine.core.preferences.ChartsEnginePreferences;
+import org.txm.core.preferences.TXMPreferences;
+
+/**
+ * Charts engines manager.
+ * 
+ * @author mdecorde
+ * @author sjacquot
+ *
+ */
+public class ChartsEnginesManager extends EnginesManager<ChartsEngine> {
+
+	@Override
+	protected boolean fetchEngines() {
+		try {
+			// creates charts engine
+			ChartsEngine.createChartsEngines();
+			ChartsEngine.setCurrrentChartsEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE));
+			
+			TXMPreferences.alternativeNodesQualifiers.add(ChartsEnginePreferences.PREFERENCES_NODE);
+
+		} catch (Throwable e) {
+			e.printStackTrace();
+			return false;
+		}
+		return true;
+	}
+
+	@Override
+	public boolean startEngines(IProgressMonitor monitor) {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public boolean stopEngines() {
+		// TODO Auto-generated method stub
+		return false;
+	}
+
+	@Override
+	public EngineType getEnginesType() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}

Property changes on: tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEngine.java
===================================================================
--- tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEngine.java	(revision 782)
+++ tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEngine.java	(revision 783)
@@ -8,9 +8,6 @@
 
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtension;
-import org.eclipse.core.runtime.IExtensionPoint;
-import org.eclipse.core.runtime.InvalidRegistryObjectException;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.RegistryFactory;
 import org.txm.Engine;
@@ -97,7 +94,7 @@
 		this.theme = new Theme();
 		//FIXME: this preference is not used at this time, see if it's useless or not.
 		this.directComputing = true;
-		Log.warning("Starting Charts Engine: " + this);
+		Log.info("Starting Charts Engine: " + this + ".");
 	}
 
 	/**
@@ -213,7 +210,7 @@
 		
 		log +=".";
 		
-		Log.info(log);
+		Log.finest(log);
 		
 	}
 
@@ -223,31 +220,25 @@
 	 */
 	public static void createChartsEngines()	{
 
-		try {
-			Log.info("Looking for charts engines contributions with extension point id " + ChartsEngine.extensionPointId + ".");
-			
-			ChartsEngine.chartsEngines = new ArrayList<ChartsEngine>();
-			ChartsEngine.currentChartsEngineIndex = 0;
+		Log.finest("Looking for charts engines contributions with extension point id " + ChartsEngine.extensionPointId + ".");
+		
+		ChartsEngine.chartsEngines = new ArrayList<ChartsEngine>();
+		ChartsEngine.currentChartsEngineIndex = 0;
 
-			IConfigurationElement[] contributions =  RegistryFactory.getRegistry().getConfigurationElementsFor(ChartsEngine.extensionPointId);
+		IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(ChartsEngine.extensionPointId);
 
-			Log.info(contributions.length + " charts engines found.");
-			
-			for(int i = 0; i < contributions.length; i++) {
-				try {
-					ChartsEngine chartsEngine = (ChartsEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
-					chartsEngine.registerChartCreatorExtensions();
-					ChartsEngine.chartsEngines.add(chartsEngine);
-				}
-				catch(CoreException e) {
-					e.printStackTrace();
-				} 
+		Log.finest(contributions.length + " charts engines found.");
+		
+		for(int i = 0; i < contributions.length; i++) {
+			try {
+				ChartsEngine chartsEngine = (ChartsEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
+				chartsEngine.registerChartCreatorExtensions();
+				ChartsEngine.chartsEngines.add(chartsEngine);
 			}
+			catch(CoreException e) {
+				e.printStackTrace();
+			} 
 		}
-		catch (InvalidRegistryObjectException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
 	}
 
 	/**
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 782)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 783)
@@ -349,7 +349,7 @@
 	@Override
 	public void _createPartControl(Composite parent) {
 
-		Composite controlArea = getCommandParametersGroup();
+		Composite controlArea = getExtendedParametersComposite();
 
 		try {
 			composeControlArea(controlArea);
@@ -954,17 +954,17 @@
 		// | Query: [ (v)] [Search] |
 
 		// Query:
-		getMinimalParametersComposite().getLayout().numColumns = 2;
+		getMainParametersComposite().getLayout().numColumns = 2;
 		// make
-		getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
-		queryLabel = new Label(getMinimalParametersComposite(), SWT.NONE);
+		queryLabel = new Label(getMainParametersComposite(), SWT.NONE);
 		queryLabel.setText(TXMUIMessages.CreateSubcorpusDialog_10);
 		queryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
 		// [ (v)]
 		// queryWidget = new QueryWidget(queryArea, SWT.DROP_DOWN);
-		queryWidget = new AssistedQueryWidget(getMinimalParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus());
+		queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus());
 		queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
 		queryWidget.addKeyListener(new ComputeKeyListener(this));
 
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java	(revision 782)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java	(revision 783)
@@ -145,7 +145,7 @@
 	@Override
 	public int getSize() throws CqiClientException {
 		if (this.size == -1) {
-			Log.finest(TXMCoreMessages.bind(TXMCoreMessages.SUBCORPUS_SIZE, new Object[]{this.name, "N/A"}));
+			//Log.finest(TXMCoreMessages.bind(TXMCoreMessages.SUBCORPUS_SIZE, new Object[]{this.name, "N/A"}));
 			long start = System.currentTimeMillis();
 
 			try {
Index: tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/views/RConsole.java
===================================================================
--- tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/views/RConsole.java	(revision 782)
+++ tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/views/RConsole.java	(revision 783)
@@ -229,7 +229,7 @@
 	}
 	
 	public void connectToRWorkspace() {
-		if (!readyToDisplay && Toolbox.getEngineManager(EngineType.STAT).getEngine("R").getState()) {
+		if (!readyToDisplay && Toolbox.getEngineManager(EngineType.STATS).getEngine("R").getState()) {
 			RWorkspace rw = null;
 			Log.warning(RUIMessages.RConsole_0);
 			try {
Index: tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/handlers/CheckRPackages.java
===================================================================
--- tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/handlers/CheckRPackages.java	(revision 782)
+++ tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/handlers/CheckRPackages.java	(revision 783)
@@ -91,7 +91,7 @@
 		else if (Util.isLinux()) method = "wget"; //$NON-NLS-1$
 		
 		boolean ret = true;
-		if (Toolbox.getEngineManager(EngineType.STAT).getEngine("R").getState()) {
+		if (Toolbox.getEngineManager(EngineType.STATS).getEngine("R").getState()) {
 			RWorkspace rw = null;
 			try {
 				rw = RWorkspace.getRWorkspaceInstance();
Index: tmp/org.txm.information.rcp/src/org/txm/information/rcp/editors/InformationEditor.java
===================================================================
--- tmp/org.txm.information.rcp/src/org/txm/information/rcp/editors/InformationEditor.java	(revision 782)
+++ tmp/org.txm.information.rcp/src/org/txm/information/rcp/editors/InformationEditor.java	(revision 783)
@@ -44,7 +44,7 @@
 	@Override
 	public void _createPartControl(Composite parent) {
 		
-		Composite parametersArea = this.getCommandParametersGroup();
+		Composite parametersArea = this.getExtendedParametersComposite();
 		
 		// label
 		new Label(parametersArea, SWT.NONE).setText("V max");
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java	(revision 782)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java	(revision 783)
@@ -140,6 +140,15 @@
 	@Override
 	protected boolean _compute() throws Exception {
 		try {
+			// clear cache
+			this.colnames = null;
+			this.coltitles = null;
+			this.coltabledata = null;
+			this.rownames = null;
+			this.rowtitles = null;
+			this.rowtabledata = null;
+			
+			
 			if (this.useFactoMineR) {
 				this.r_ca = new FactoMineRCA(this.getLexicalTable().getData());
 			}
@@ -149,14 +158,9 @@
 
 			this.r_ca.compute();
 
-			// in case the lexical table changes
-			this.getColNames();
-			// in case the lexical table changes
-			this.getRowNames();
-
 			return true;
 		} catch(Exception e) {
-			System.out.println("Error: CA not computed: "+e);
+			Log.severe("Failed to compute CA.");
 			Log.printStackTrace(e);
 			return false;
 		}
@@ -687,7 +691,7 @@
 
 	@Override
 	public String getSimpleName() {
-		return getParent().getSimpleName() + " (" + this.firstDimension + "," + this.secondDimension + ")";
+		return this.getParent().getSimpleName() + " (" + this.firstDimension + "," + this.secondDimension + ")";
 	}
 
 	@Override
@@ -697,11 +701,10 @@
 
 	@Override
 	public String getName() {
-		return this.getParent().getSimpleName() + ": " + this.getSimpleName();
+		return this.getSimpleName();
 	}
 
 
-
 	/**
 	 * Get the singular values as array.
 	 *
Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java	(revision 782)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java	(revision 783)
@@ -4,7 +4,7 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.statsengine.core.StatEngine;
+import org.txm.statsengine.core.StatsEngine;
 import org.txm.statsengine.r.core.exceptions.RWorkspaceException;
 import org.txm.statsengine.r.core.messages.RCoreMessages;
 import org.txm.statsengine.r.core.preferences.RPreferences;
@@ -18,7 +18,7 @@
  * @author sjacquot
  *
  */
-public class RStatsEngine extends StatEngine {
+public class RStatsEngine extends StatsEngine {
 
 	
 	/** The state of the stats engine. */
Index: tmp/org.txm.statsengine.r.core/plugin.xml
===================================================================
--- tmp/org.txm.statsengine.r.core/plugin.xml	(revision 782)
+++ tmp/org.txm.statsengine.r.core/plugin.xml	(revision 783)
@@ -8,11 +8,6 @@
       </initializer>
    </extension>
    <extension
-         point="org.txm.statsengine.core.StatEngine">
-      <StatEngine
-            class="org.txm.statsengine.r.core.RStatsEngine"></StatEngine>
-   </extension>
-   <extension
          point="org.txm.PostTXMHOMEInstallationStep">
       <PostTXMHOMEInstallationStep
             class="org.txm.statsengine.r.core.InstallRUserPart"
@@ -20,5 +15,11 @@
             name="org.txm.statsengine.r.core.InstallRUserPart">
       </PostTXMHOMEInstallationStep>
    </extension>
+   <extension
+         point="org.txm.statsengine.core.StatsEngine">
+      <StatsEngine
+            class="org.txm.statsengine.r.core.RStatsEngine">
+      </StatsEngine>
+   </extension>
 
 </plugin>
Index: tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/preferences/LexicalTablePreferences.java
===================================================================
--- tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/preferences/LexicalTablePreferences.java	(revision 782)
+++ tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/preferences/LexicalTablePreferences.java	(revision 783)
@@ -46,7 +46,6 @@
 		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
 		preferences.putInt(F_MIN, 2);
 		preferences.putInt(V_MAX, 200);
-		preferences.put(UNIT_PROPERTY, DEFAULT_UNIT_PROPERTY);
 		preferences.putBoolean(USE_ALL_OCCURRENCES, true);
 	}
 	
Index: tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java
===================================================================
--- tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java	(revision 782)
+++ tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java	(revision 783)
@@ -43,8 +43,6 @@
 
 	/** stores the R table computed */
 	protected ILexicalTable statsData;
-	/** stores the R table already computed. the _compute method won't update the result*/
-	protected ILexicalTable alreadyComputedStatsData;
 		
 	/**
 	 * The property.
@@ -80,7 +78,7 @@
 	public LexicalTable(Corpus corpus, Property analysisProperty, ILexicalTable itable) {
 		super(corpus);
 		this.property = analysisProperty;
-		this.alreadyComputedStatsData = itable;
+		this.statsData = itable;
 	}
 
 	
@@ -157,7 +155,7 @@
 	private LexicalTable(TXMResult parent, Property analysisProperty, int fMin, int vMax, boolean useAllOccurrences, ILexicalTable iTable)	{
 		super(parent);
 		this.setParameters(analysisProperty, fMin, vMax, useAllOccurrences);
-		this.alreadyComputedStatsData = iTable;
+		this.statsData = iTable;
 	}
 
 	
@@ -178,7 +176,6 @@
 			e.printStackTrace();
 			return false;
 		}
-		
 		return true;
 	}
 	
@@ -341,10 +338,7 @@
 
 		this.statsData = null; // reset frequencies
 		
-		if (this.alreadyComputedStatsData != null) {
-			this.statsData = alreadyComputedStatsData;
-		}
-		else if (this.parent instanceof Subcorpus) {
+		if (this.parent instanceof Subcorpus) {
 
 			this.subTask("Computing from Subcorpus.");
 			
@@ -429,7 +423,9 @@
 	@Override
 	public void clean() {
 		try {
-			RWorkspace.getRWorkspaceInstance().removeVariableFromWorkspace(statsData.getSymbol());
+			if(statsData != null)	{
+				RWorkspace.getRWorkspaceInstance().removeVariableFromWorkspace(statsData.getSymbol());
+			}
 		} catch (RWorkspaceException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
@@ -437,11 +433,21 @@
 	}
 
 	public Vector getColMarginsVector() throws StatException {
-		return statsData.getColMarginsVector();
+		try {
+			return statsData.getColMarginsVector();
+		}
+		catch (Exception e) {
+			return null;
+		}
 	}
 
 	public Vector getColNames() {
-		return statsData.getColNames();
+		try {
+			return statsData.getColNames();
+		}
+		catch (Exception e) {
+			return null;
+		}
 	}
 
 	/**
@@ -450,20 +456,7 @@
 	 * @return the corpus or null if the LexicalTable was build without a Corpus or thiout a Partition (built with a Corpus)
 	 */
 	public Corpus getCorpus() {
-		if (parent instanceof Corpus) {
-			return (Corpus)parent;
-		}
-		if (parent instanceof Partition) {
-			return ((Partition)parent).getCorpus();
-		}
-		if (parent instanceof Index) {
-			return ((Index)parent).getCorpus();
-		}
-		else {
-			return null;
-		}
-		// FIXME: prove and use this above method, it should work, but....
-		//return this.getFirstCorpusParent();
+		return Corpus.getFirstParentCorpus(this);
 	}
 
 	public ILexicalTable getData() {
@@ -552,7 +545,12 @@
 		if (statsData != null) {
 			strb.append(this.getFMin() + " / " + this.getNRows());
 		}
-		return strb.toString();
+		if(strb.length() > 0)	{
+			return strb.toString();			
+		}
+		else	{
+			return this.getEmptyName();
+		}
 	}
 
 	public int getVMax() {
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 782)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 783)
@@ -101,7 +101,7 @@
 import org.txm.rcp.swt.dialog.CGUMessageDialog;
 import org.txm.rcp.utils.JobHandler;
 import org.txm.rcp.views.corpora.CorporaView;
-import org.txm.searchengine.core.SearchEngines;
+import org.txm.searchengine.core.SearchEnginesManager;
 import org.txm.searchengine.cqp.CQPEngine;
 import org.txm.utils.BundleUtils;
 import org.txm.utils.DeleteDir;
@@ -266,8 +266,8 @@
 								@Override
 								public void run() {
 									try {
-										SearchEngines.getCQPEngine().stop();
-										SearchEngines.getCQPEngine().start(monitor);
+										SearchEnginesManager.getCQPEngine().stop();
+										SearchEnginesManager.getCQPEngine().start(monitor);
 										CorporaView.refresh();
 									} catch (Exception e) {
 										// TODO Auto-generated catch block
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/ToolboxTester.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/ToolboxTester.java	(revision 782)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/testers/ToolboxTester.java	(revision 783)
@@ -28,7 +28,7 @@
 			Object expectedValue) {
 		if (PROPERTY_STATE_ENGINE_READY.equals(property)) {
 			//System.out.println("TEST: "+property+" = "+Toolbox.getEngineManager(EngineType.STAT).getEngine("R").getState()); //$NON-NLS-1$ //$NON-NLS-2$
-			return Toolbox.getEngineManager(EngineType.STAT).getEngine("R").getState();
+			return Toolbox.getEngineManager(EngineType.STATS).getEngine("R").getState();
 		} else if (PROPERTY_SEARCH_ENGINE_READY.equals(property)) {
 			System.out.println("TEST: "+property+" = "+CQPEngine.isInitialized()); //$NON-NLS-1$ //$NON-NLS-2$
 			return CQPEngine.isInitialized();
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java	(revision 782)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java	(revision 783)
@@ -56,6 +56,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.TreeColumn;
 import org.eclipse.swt.widgets.TreeItem;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPage;
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMResultDebugView.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMResultDebugView.java	(revision 782)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMResultDebugView.java	(revision 783)
@@ -110,6 +110,9 @@
 		buffer.append("toString(): " + this.currentResult.toString() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Details: " + this.currentResult.getDetails() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Dirty: " + this.currentResult.isDirty() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+		if (this.currentResult instanceof ChartResult) 	{
+			buffer.append("Chart dirty: " + ((ChartResult)this.currentResult).isChartDirty() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
 		
 		// Object parameters
 		buffer.append("\n"); //$NON-NLS-1$
@@ -125,7 +128,9 @@
 		buffer.append("Selected object = " + this.currentResult + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Node visible = " + this.currentResult.isVisible() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		if (this.currentResult instanceof ChartResult) 	{
-			buffer.append("Chart engine = " + ((ChartResult)this.currentResult).getChartsEngine() + ", chart object = " + ((ChartResult)this.currentResult).getChart() + ", chart type = " + ((ChartResult)this.currentResult).getChartType() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			buffer.append("Chart engine = " + ((ChartResult)this.currentResult).getChartsEngine() + ", chart object = " + ((ChartResult)this.currentResult).getChart()
+					+ ", chart type = " + ((ChartResult)this.currentResult).getChartType()
+					+ "\n");
 		}
 		buffer.append("Selection full path name = " + this.currentResult.getFullPathSimpleName() + " - " + this.currentResult.getName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		buffer.append("Direct children count = " + this.currentResult.getChildren().size() + ", direct visible children count = " + this.currentResult.getChildren(true).size() + ", children count = " + this.currentResult.getDeepChildren().size() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
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 782)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java	(revision 783)
@@ -45,6 +45,7 @@
 	private HashMap<String, Composite> groups = new HashMap<String, Composite>();
 
 	private GLComposite subWidgetComposite;
+	
 	/**
 	 * Contains references to installed groups to ToolItem.
 	 */
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 782)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 783)
@@ -77,7 +77,7 @@
 	 */
 	public final static String TOP_TOOLBAR_ID = "TXMEditorTopToolBar"; //$NON-NLS-1$
 	public final static String BOTTOM_TOOLBAR_ID = "TXMEditorBottomToolBar"; //$NON-NLS-1$
-	public final static String COMPUTING_PARAMETERS_GROUP_ID = "Parameters";
+	public final static String COMPUTING_PARAMETERS_GROUP_ID = "Parameters"; //$NON-NLS-1$
 
 	/**
 	 * The editor main tool bar, positioned at the top of the editor.
@@ -97,14 +97,21 @@
 	/**
 	 * the parameters groups are added to this composite. contains the sub widgets of the default Top toolbar
 	 */
-	private GLComposite parametersGroupsComposite;
+	private GLComposite extendedParametersGroupsComposite;
 
+
 	/**
-	 * The command parameters composite that can be hidden. To add main parameters.
+	 * Command main parameters that are always visible in the toolbar. 
 	 */
-	protected Composite computingParametersGroup;
+	protected GLComposite mainParametersComposite;
 
+	
 	/**
+	 * Command extended parameters composite that can be hidden.
+	 */
+	protected Composite extendedParametersComposite;
+
+	/**
 	 * 
 	 */
 	Composite parent;
@@ -126,7 +133,6 @@
 	 * contains bottom toolbar subwidgets (installed grouped, etc.)
 	 */
 	private GLComposite bottomSubWidgetsComposite;
-	private GLComposite minimalParametersComposite;
 	private GLComposite firstLineComposite;
 	private boolean createPartControlDoneSucessfully = true; // for now... muahahaha
 
@@ -147,8 +153,8 @@
 	 *  
 	 * @return the composite displayed before the toptoolbar, containing the minimal parameters widgets
 	 */
-	public GLComposite getMinimalParametersComposite() {
-		return minimalParametersComposite;
+	public GLComposite getMainParametersComposite() {
+		return mainParametersComposite;
 	}
 
 	/**
@@ -161,7 +167,7 @@
 		try {
 			this.parent = parent;
 
-			// to hide and display the command parameters composite
+			// to hide and display the extended parameters composite
 			this.initParentLayout(parent, 1);
 
 			// contains the minimal panels and top toolbars
@@ -169,11 +175,10 @@
 			this.firstLineComposite.getLayout().numColumns = 2;
 			this.firstLineComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 
-			this.minimalParametersComposite = new GLComposite(firstLineComposite, SWT.NONE);
-			this.minimalParametersComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
-			this.minimalParametersComposite.getLayout().horizontalSpacing = 5;
+			this.mainParametersComposite = new GLComposite(firstLineComposite, SWT.NONE);
+			this.mainParametersComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
+			this.mainParametersComposite.getLayout().horizontalSpacing = 5;
 
-
 			// create the top tool bar
 			this.topToolBarContainer = new Composite(firstLineComposite, SWT.NONE);
 			this.topToolBarContainer.setLayoutData(new GridData(GridData.FILL, GridData.FILL, false, false));
@@ -183,27 +188,33 @@
 			rl.center = true;
 			this.topToolBarContainer.setLayout(rl);
 
-			this.parametersGroupsComposite = new GLComposite(parent, SWT.NONE);
+			this.extendedParametersGroupsComposite = new GLComposite(parent, SWT.NONE);
 			if (parent.getLayout() instanceof GridLayout)	{
-				this.parametersGroupsComposite.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+				this.extendedParametersGroupsComposite.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);
+			this.topToolBar = new TXMEditorToolBar(this, this.topToolBarContainer, this.extendedParametersGroupsComposite, 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;
+			boolean showExtendedParameters = false;
 			// only show the area if the result can not compute and is dirty
-			if(!this.getResult().canCompute() && this.getResult().isDirty())	{
-				showComputingParameters = true;
-			}
-			this.computingParametersGroup = this.topToolBar.installGroup(COMPUTING_PARAMETERS_GROUP_ID, "Show/Hide command parameters", 
+			// FIXME: to discuss if when hiding or showing the extended parameters 
+//			if(!this.getResult().canCompute() && this.getResult().isDirty())	{
+//				showExtendedParameters = true;
+//			}
+			this.extendedParametersComposite = this.topToolBar.installGroup(COMPUTING_PARAMETERS_GROUP_ID, "Show/Hide command parameters", 
 					"icons/show_computing_parameters.png", 
 					"icons/hide_computing_parameters.png", 
-					showComputingParameters);
+					showExtendedParameters);
 
+			//extendedParametersComposite.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_RED));
 
+			
+			
 			// display main area
 			this.resultArea = new Composite(parent, SWT.NONE);
 			this.resultArea.setLayoutData(new GridData(GridData.FILL_BOTH));
@@ -217,13 +228,19 @@
 			//rl.justify = 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, this.bottomSubWidgetsComposite, SWT.FLAT, "bottom");
 
+			
+
+
+			
 			this._createPartControl(parent); // child editor create its parameters and display widgets
 
 
@@ -240,14 +257,14 @@
 			}
 
 			// uninstall parameters group if not used
-			if (computingParametersGroup.getChildren().length == 0) {
+			if (extendedParametersComposite.getChildren().length == 0) {
 				this.topToolBar.unInstallGroup(COMPUTING_PARAMETERS_GROUP_ID);
 			}
 		}
 		catch(Throwable e) {
-			System.err.println("TXMEditor.createPartControl(): can not create the editor.");
+			System.err.println("TXMEditor.createPartControl(): can not create the editor for result " + this.getResult() + ".");
 			e.printStackTrace();
-			createPartControlDoneSucessfully  = false;
+			createPartControlDoneSucessfully = false;
 		}
 	}
 
@@ -319,8 +336,8 @@
 	/**
 	 * @return the commandParametersComposite. Put here you main parameter widgets
 	 */
-	public Composite getCommandParametersGroup() {
-		return this.computingParametersGroup;
+	public Composite getExtendedParametersComposite() {
+		return this.extendedParametersComposite;
 	}
 
 	@Override
@@ -340,7 +357,7 @@
 	public boolean isDirty() {
 		if (this.getResult() != null) {
 			// if the result has never been computed, the editor is not dirty ->  no * shown
-			return this.getResult().isDirty() && this.getResult().getHasBeenComputedOnce();
+			return this.getResult().isDirty() && this.getResult().hasBeenComputedOnce();
 		}
 
 		return false;
@@ -440,7 +457,6 @@
 	 */
 	public JobHandler compute(final boolean update)	{
 
-
 		StatusLine.setMessage("Computing " + this.getResult().getName());
 
 		JobHandler job = new JobHandler("Computing " + this.getResult().getName()) {
@@ -958,7 +974,7 @@
 	 * @return the composite that contains the <b>default Top</b> TXMEditorToolBar parameters panels
 	 */
 	public GLComposite getParametersGroupsComposite() {
-		return parametersGroupsComposite;
+		return extendedParametersGroupsComposite;
 	}
 
 	/**
Index: tmp/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java
===================================================================
--- tmp/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 782)
+++ tmp/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 783)
@@ -209,7 +209,7 @@
 		// paramLayoutData.right = new FormAttachment(100);
 		// scrollComposite.setLayoutData(paramLayoutData);
 
-		final Composite paramArea = this.getCommandParametersGroup();
+		final Composite paramArea = this.getExtendedParametersComposite();
 		FormLayout paramLayout = new FormLayout();
 		paramArea.setLayout(paramLayout);
 
@@ -245,15 +245,15 @@
 
 		queryArea.setLayout(new GridLayout(3, false));
 
-		getMinimalParametersComposite().getLayout().numColumns = 3;
-		getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		getMainParametersComposite().getLayout().numColumns = 3;
+		getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
-		Label queryLabel = new Label(getMinimalParametersComposite(), SWT.NONE);
+		Label queryLabel = new Label(getMainParametersComposite(), SWT.NONE);
 		queryLabel.setText(TXMCoreMessages.common_query);
 		queryLabel.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, true));
 
 		// [ (v)]
-		queryWidget = new AssistedQueryWidget(getMinimalParametersComposite(), SWT.DROP_DOWN, this.cooc.getCorpus());
+		queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN, this.cooc.getCorpus());
 		GridData layoutData = new GridData(GridData.VERTICAL_ALIGN_CENTER);
 		layoutData.horizontalAlignment = GridData.FILL;
 		layoutData.grabExcessHorizontalSpace = true;
Index: tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java
===================================================================
--- tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java	(revision 782)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java	(revision 783)
@@ -45,6 +45,7 @@
 import org.txm.lexicaltable.core.functions.LexicalTable;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
 import org.txm.searchengine.cqp.corpus.Corpus;
+import org.txm.searchengine.cqp.corpus.Partition;
 import org.txm.searchengine.cqp.corpus.Property;
 import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
 import org.txm.specificities.core.preferences.SpecificitiesPreferences;
@@ -185,23 +186,27 @@
 	@Override
 	protected boolean _compute() throws Exception {
 		
-
 		// recompute the lexical table
 		if(this.hasParameterChanged(SpecificitiesPreferences.UNIT_PROPERTY))	{
 			this.lexicalTable.setUnitProperty(this.unitProperty);
-			this.lexicalTable.compute();
+			this.lexicalTable.compute(this, false);
 		}
 
-		SpecificitiesR rSpecificities = new SpecificitiesR(this.lexicalTable.getData());
-		double[][] specIndex = rSpecificities.getScores();
-
+		// essentially for cascade computing from the parent lexical table
+		this.unitProperty = this.lexicalTable.getProperty();
 		
-		if (lexicalTable.getPartition() != null) {
-			init(symbol, specIndex, this.unitProperty.getName()); 
+		if(this.lexicalTable.hasBeenComputedOnce())	{
+			SpecificitiesR rSpecificities = new SpecificitiesR(this.lexicalTable.getData());
+			double[][] specIndex = rSpecificities.getScores();
+	
+			
+			if (this.lexicalTable.getPartition() != null) {
+				init(symbol, specIndex, this.unitProperty.getName()); 
+			}
+			else {
+				init(rSpecificities.getSymbol(), specIndex, "TLNONAME: " + this.unitProperty.getName()); //$NON-NLS-1$
+			}
 		}
-		else {
-			init(rSpecificities.getSymbol(), specIndex, "TLNONAME: " + this.unitProperty.getName()); //$NON-NLS-1$
-		}
 		return true;
 	}
 	
@@ -378,7 +383,12 @@
 			 * partShortNames.length; i++) { partShortNames[i] =
 			 * parts.get(i).getShortName(); }
 			 */
-			return lexicalTable.getColNames().asStringsArray();
+			try {
+				return lexicalTable.getColNames().asStringsArray();
+			}
+			catch (Exception e) {
+				return ((Partition)this.lexicalTable.getParent()).getPartShortNames().toArray(new String[0]);
+			}
 		} else if (this.subCorpus != null) {
 			return new String[] { this.subCorpus.getName(), this.corpus.getName() + " \\ " + this.subCorpus.getName() }; //$NON-NLS-1$
 		}
@@ -448,14 +458,23 @@
 	 *
 	 * @return the part size
 	 * @throws StatException the stat exception
+	 * @throws CqiClientException 
 	 */
-	public int[] getPartSizes() throws StatException {
+	public int[] getPartSizes() throws StatException, CqiClientException {
 		if (lexicalTable != null) {
-			Vector partsize = lexicalTable.getColMarginsVector();
-			if (colindex != null) {
-				partsize = partsize.get(colindex);
+			
+			try {
+				Vector partsize = lexicalTable.getColMarginsVector();
+				if (colindex != null) {
+					partsize = partsize.get(colindex);
+				}
+				return partsize.asIntArray();
 			}
-			return partsize.asIntArray();
+			catch (Exception e) {
+				return ((Partition)this.lexicalTable.getParent()).getPartSizes();
+			}
+			
+			
 		} else {
 			return new int[] { subLexicon.nbrOfToken(),
 					lexicon.nbrOfToken() - subLexicon.nbrOfToken() };
@@ -608,7 +627,15 @@
 //		} else {
 //			setPartName(specificitiesResult.getName());
 //		}
-		return name;
+		// FIXME: to define
+		if(name != null)	{
+			return name;	
+		}
+		else	{
+			return this.getEmptyName();
+		}
+
+		
 	}
 
 
@@ -629,9 +656,13 @@
 	public boolean canCompute() {
 		
 		if (this.lexicalTable == null) {
-			Log.severe("Specificities.canCompute(): Can not compute without a lexical table.");
+			Log.severe("Specificities.canCompute(): can not compute without a lexical table.");
 			return false;
 		}
+		else if(this.unitProperty == null)	{
+			Log.severe("Specificities.canCompute(): can not compute with no unit property."); //$NON-NLS-1$
+			return false;
+		}
 		
 //		if (this.lexicalTable.getNColumns() < 2) {
 //			Log.severe(SpecificitiesCoreMessages.ComputeError_NEED_AT_LEAST_2_PARTS);
Index: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEngines.java
===================================================================
--- tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEngines.java	(revision 782)
+++ tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEngines.java	(revision 783)
@@ -1,97 +0,0 @@
-package org.txm.searchengine.core;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.Platform;
-import org.txm.Engine;
-import org.txm.EngineType;
-import org.txm.EnginesManager;
-import org.txm.Toolbox;
-
-/**
- * 
- * @author mdecorde
- *
- */
-public class SearchEngines extends EnginesManager<SearchEngine> {
-
-	/**
-	 * 
-	 * @return
-	 */
-	public static SearchEngine getCQPEngine() {
-		return (SearchEngine) Toolbox.getEngineManager(EngineType.SEARCH).getEngine("CQP");
-	}
-
-	/**
-	 * 
-	 * @return
-	 */
-	public static SearchEngine getTIGERSearchEngine() {
-		return (SearchEngine) Toolbox.getEngineManager(EngineType.SEARCH).getEngine("TIGERSearch");
-	}
-
-	@Override
-	protected boolean fetchEngines() {
-
-		IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(SearchEngine.EXTENSION_POINT_ID);
-		//System.out.println("search engine contributions: "+SearchEngine.EXTENSION_POINT_ID);
-		for (int i = 0; i < contributions.length; i++) {
-			try {
-				SearchEngine e = (SearchEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
-				if (e.initialize()) {
-					engines.put(e.getName(), e);
-				}
-				else {
-					System.out.println("Fail to initialize " + e.getName() + " search engine.");
-				}
-			} catch(Exception e) {
-				System.err.println("Error: fail to instanciate " + contributions[i].getName() + ": " + e.getLocalizedMessage());
-				e.printStackTrace();
-			}
-		}
-
-		return engines.size() > 0;
-	}
-
-	@Override
-	public EngineType getEnginesType() {
-		return EngineType.SEARCH;
-	}
-
-	@Override
-	public boolean startEngines(IProgressMonitor monitor) {
-
-		for (Engine e : engines.values()) {
-			SearchEngine se = (SearchEngine)e;
-			//System.out.println("Starting "+ se.getName()+" searchengine.");
-			if (monitor != null) {
-				monitor.subTask("Starting " + se.getName() + " searchengine.");
-			}
-			try {
-				se.start(monitor);
-			} catch (Exception e2) {
-				System.err.println("Error: fail to start SearchEngine: " + se.getName() + ": " + e2.getLocalizedMessage());
-				e2.printStackTrace();
-			}
-		}
-		return true;
-	}
-
-	@Override
-	public boolean stopEngines() {
-		
-		for (Engine e : engines.values()) {
-			
-			SearchEngine se = (SearchEngine)e;
-			System.out.println("Stopping "+ se.getName()+" searchengine.");
-			try {
-				se.stop();
-			} catch (Exception e2) {
-				System.err.println("Error: fail to stop SearchEngine: " + se.getName() + ": " + e2.getLocalizedMessage());
-				e2.printStackTrace();
-			}
-		}
-		return true;
-	}
-}
Index: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEnginesManager.java
===================================================================
--- tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEnginesManager.java	(revision 0)
+++ tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEnginesManager.java	(revision 783)
@@ -0,0 +1,100 @@
+package org.txm.searchengine.core;
+
+import org.eclipse.core.runtime.IConfigurationElement;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.Platform;
+import org.txm.Engine;
+import org.txm.EngineType;
+import org.txm.EnginesManager;
+import org.txm.Toolbox;
+
+/**
+ * 
+ * @author mdecorde
+ *
+ */
+public class SearchEnginesManager extends EnginesManager<SearchEngine> {
+
+	/**
+	 * 
+	 * @return
+	 */
+	public static SearchEngine getCQPEngine() {
+		return (SearchEngine) Toolbox.getEngineManager(EngineType.SEARCH).getEngine("CQP");
+	}
+
+	/**
+	 * 
+	 * @return
+	 */
+	public static SearchEngine getTIGERSearchEngine() {
+		return (SearchEngine) Toolbox.getEngineManager(EngineType.SEARCH).getEngine("TIGERSearch");
+	}
+
+	@Override
+	protected boolean fetchEngines() {
+
+		IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(SearchEngine.EXTENSION_POINT_ID);
+		//System.out.println("search engine contributions: "+SearchEngine.EXTENSION_POINT_ID);
+		for (int i = 0; i < contributions.length; i++) {
+			try {
+				SearchEngine e = (SearchEngine)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
+				
+				System.out.println("Initializing engine: " + e);
+				
+				if (e.initialize()) {
+					engines.put(e.getName(), e);
+				}
+				else {
+					System.err.println("Failed to initialize " + e.getName() + " search engine.");
+				}
+			} catch(Exception e) {
+				System.err.println("Error: failed to instantiate " + contributions[i].getName() + ": " + e.getLocalizedMessage());
+				e.printStackTrace();
+			}
+		}
+
+		return engines.size() > 0;
+	}
+
+	@Override
+	public EngineType getEnginesType() {
+		return EngineType.SEARCH;
+	}
+
+	@Override
+	public boolean startEngines(IProgressMonitor monitor) {
+
+		for (Engine e : engines.values()) {
+			SearchEngine se = (SearchEngine)e;
+			//System.out.println("Starting "+ se.getName()+" searchengine.");
+			if (monitor != null) {
+				monitor.subTask("Starting " + se.getName() + " searchengine.");
+			}
+			try {
+				se.start(monitor);
+			} catch (Exception e2) {
+				System.err.println("Error: failed to start SearchEngine: " + se.getName() + ": " + e2.getLocalizedMessage());
+				e2.printStackTrace();
+			}
+		}
+		return true;
+	}
+
+	@Override
+	public boolean stopEngines() {
+		
+		for (Engine e : engines.values()) {
+			
+			SearchEngine se = (SearchEngine)e;
+			System.out.println("Stopping "+ se.getName()+" searchengine.");
+			try {
+				se.stop();
+			} catch (Exception e2) {
+				System.err.println("Error: failed to stop SearchEngine: " + se.getName() + ": " + e2.getLocalizedMessage());
+				e2.printStackTrace();
+			}
+		}
+		return true;
+	}
+}

Property changes on: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/SearchEnginesManager.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.searchengine.core/plugin.xml
===================================================================
--- tmp/org.txm.searchengine.core/plugin.xml	(revision 782)
+++ tmp/org.txm.searchengine.core/plugin.xml	(revision 783)
@@ -5,7 +5,7 @@
    <extension
          point="org.txm.EnginesManager">
       <EngineManager
-            class="org.txm.searchengine.core.SearchEngines"
+            class="org.txm.searchengine.core.SearchEnginesManager"
             description="Manage the search engines"
             name="org.txm.searchengine.core.SearchEngines">
       </EngineManager>
Index: tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TIGERSearchEditor.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TIGERSearchEditor.java	(revision 782)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TIGERSearchEditor.java	(revision 783)
@@ -68,7 +68,7 @@
 	public void _createPartControl(Composite parent) {
 
 		// System.out.println(parent.getLayout());
-		Composite queryPanel = this.getCommandParametersGroup();
+		Composite queryPanel = this.getExtendedParametersComposite();
 	
 		// fill query Area
 		GridLayout qlayout = new GridLayout(11, false);
Index: tmp/org.txm.core/src/java/org/txm/EnginesManager.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/EnginesManager.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/EnginesManager.java	(revision 783)
@@ -5,28 +5,47 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 
 /**
- * Extension point for an Engine. It is a service that may be used by TXM commands
+ * Extension point for an Engine (eg. Search engine, Stats engine, etc.). It is a service that may be used by TXM commands.
+ * The Toolbox will manage the engines life-cycle. 
  * 
- * The Toolbox will manage the engines life-cycle 
- * 
  * @author mdecorde
  *
  */
 public abstract class EnginesManager<T extends Engine> {
 	
-	public static final String ENGINEMANAGER_EXTENSION_POINT_ID = EnginesManager.class.getName();
+	public static final String ENGINES_MANAGER_EXTENSION_POINT_ID = EnginesManager.class.getName();
 	
+	/**
+	 * Managed engines.
+	 */
 	protected HashMap<String, T> engines = new HashMap<String, T>();
 	
+	
 	/**
-	 * Findout the Engines that matches this EnginesManager Engine extension point
+	 * Current engine.
+	 */
+	protected T currentEngine = null; 
+	
+	
+	
+	/**
+	 * Returns the current engine.
+	 * @return
+	 */
+	public T getCurrentEngine() {
+		return this.currentEngine;
+	}
+	
+	
+	/**
+	 * Finds out the engines that matches this manager engines extension point.
 	 * 
 	 * @return
 	 */
 	protected abstract boolean fetchEngines();
 	
 	/**
-	 * Initialize the Engines once the TXM corpora is ready
+	 * Initializes the engines.
 	 * @param monitor 
 	 * 
 	 * @return
@@ -34,14 +53,14 @@
 	public abstract boolean startEngines(IProgressMonitor monitor);
 	
 	/**
-	 * Close the Engines, optional if the Engine is distant
+	 * Stops the engines.
 	 * 
 	 * @return
 	 */
 	public abstract boolean stopEngines();
 	
 	/**
-	 * Shortcut method to restart the Engines
+	 * Restarts the engines.
 	 * 
 	 * @return
 	 */
@@ -49,10 +68,11 @@
 		return stopEngines() && startEngines(null);
 	}
 	
+	
 	public abstract EngineType getEnginesType();
 	
 	/**
-	 * 
+	 * Gets the available engines. 
 	 * @return the available engines
 	 */
 	public HashMap<String, T> getEngines() {
@@ -60,9 +80,9 @@
 	}
 	
 	/**
-	 * 
+	 * Gets an engine specified by its name.
 	 * @param name
-	 * @return a specific engine by its name. May returns null.
+	 * @return an engine specified by its name if exists, otherwise null
 	 */
 	public T getEngine(String name) {
 		return engines.get(name);
Index: tmp/org.txm.core/src/java/org/txm/Toolbox.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/Toolbox.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/Toolbox.java	(revision 783)
@@ -41,17 +41,15 @@
 import java.util.logging.Level;
 
 import org.apache.commons.lang.StringUtils;
-import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.ISafeRunnable;
 import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.RegistryFactory;
 import org.eclipse.core.runtime.SafeRunner;
+import org.eclipse.core.runtime.preferences.IPreferencesService;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.Version;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.core.runtime.preferences.IPreferencesService;
-import org.eclipse.osgi.util.NLS;
 import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
@@ -80,6 +78,11 @@
 
 	public static Workspace workspace;
 
+	
+	/**
+	 * 
+	 * @param engine
+	 */
 	private static void addEngineManager(EnginesManager<?> engine) {
 		engines.put(engine.getEnginesType(), engine);
 	}
@@ -94,22 +97,28 @@
 	}
 
 	private static boolean fetchEngineManagers() {
-		Log.info("Fetching engine managers...");
+		Log.finest("Fetching engines managers...");
 		engines.clear();
 		//System.out.println("Contributions of "+EnginesManager.ENGINEMANAGER_EXTENSION_POINT_ID);
-		Platform.getExtensionRegistry().getExtensionPoints();
-		IConfigurationElement[] contributions = Platform.getExtensionRegistry().getConfigurationElementsFor(EnginesManager.ENGINEMANAGER_EXTENSION_POINT_ID);
+		//Platform.getExtensionRegistry().getExtensionPoints();
+		IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor(EnginesManager.ENGINES_MANAGER_EXTENSION_POINT_ID);
 		//System.out.println("contributions: "+Arrays.toString(contributions));
+		
+		Log.finest(contributions.length + " engines managers found.");
+		
 		for (int i = 0; i < contributions.length; i++) {
 			try {
-				Log.info("Registering engine manager: "+contributions[i].getName());
 				EnginesManager<?> engine = (EnginesManager<?>)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
+
+				Log.finest("Registering engines manager: " + engine);
+				
 				if (engine.fetchEngines()) {
 					//System.out.println("add engine: "+engine);
 					addEngineManager(engine);
-				} else {
-					System.out.println(""+engine+" had no engine. Aborting its installation.");
 				}
+				else {
+					System.err.println("" + engine + " had no engine. Aborting its installation.");
+				}
 			} catch(Throwable e) {
 				e.printStackTrace();
 			} 
@@ -216,18 +225,14 @@
 
 
 			Log.warning("Initializing logger");
-			String level = TXMPreferences.getString(TBXPreferences.LOG_LEVEL, TBXPreferences.PREFERENCES_NODE);
-			if (level == "") {
-				level = "OFF";
-			}
-			Log.setLevel(Level.parse(level));
-			Log.setPrintInConsole(Boolean.parseBoolean(TXMPreferences.getString(TBXPreferences.ADD_TECH_LOGS, TBXPreferences.PREFERENCES_NODE)));
+			Log.setLevel(Level.parse(TXMPreferences.getString(TBXPreferences.LOG_LEVEL, TBXPreferences.PREFERENCES_NODE)));
+			Log.setPrintInConsole(TXMPreferences.getBoolean(TBXPreferences.ADD_TECH_LOGS, TBXPreferences.PREFERENCES_NODE));
 
 			if (!TXMPreferences.getString(TBXPreferences.LOG_DIR, TBXPreferences.PREFERENCES_NODE).isEmpty()) {
-				Log.setPrintInFile(Boolean.parseBoolean(TXMPreferences.getString(TBXPreferences.LOG_IN_FILE, TBXPreferences.PREFERENCES_NODE)), new File(TXMPreferences.getString(TBXPreferences.LOG_DIR, TBXPreferences.PREFERENCES_NODE)));
+				Log.setPrintInFile(TXMPreferences.getBoolean(TBXPreferences.LOG_IN_FILE, TBXPreferences.PREFERENCES_NODE), new File(TXMPreferences.getString(TBXPreferences.LOG_DIR, TBXPreferences.PREFERENCES_NODE)));
 			}
 			else {
-				Log.setPrintInFile(Boolean.parseBoolean(TXMPreferences.getString(TBXPreferences.LOG_IN_FILE, TBXPreferences.PREFERENCES_NODE)));
+				Log.setPrintInFile(TXMPreferences.getBoolean(TBXPreferences.LOG_IN_FILE, TBXPreferences.PREFERENCES_NODE));
 			}
 
 		} catch (Exception e) {
@@ -238,33 +243,35 @@
 		try {
 			startsEngineManagers(monitor);
 		} catch (Exception e) {
-			System.out.println("Error: error during engines start: "+e.getLocalizedMessage());
+			Log.severe("Error while starting engines.");
+			e.printStackTrace();
 			initializing = false;
 			throw e;
 		}
 
-		Log.info("Toolbox states: "+TXMCoreMessages.Toolbox_22 + state); //$NON-NLS-1$
+		Log.finest("Toolbox states: " + TXMCoreMessages.Toolbox_22 + state); //$NON-NLS-1$
 
 		try {
 			if (monitor != null) {
-				monitor.subTask("Loading extensions (post-installation)...");
+				monitor.subTask("Loading plug-in post-installation extensions...");
 			}
 			pluginsPostinstallation();
 		} catch(Exception e) {
-			System.out.println("Error while post-installaing plugins: "+e.getLocalizedMessage());
+			Log.severe("Error while loading post-installaing plugins.");
+			e.printStackTrace();
 		}
 
 
 		// FIXME: persistence tests
 		if (TBXPreferences.getBoolean(TBXPreferences.AUTO_SAVE_RESULTS, TBXPreferences.PREFERENCES_NODE)) {
-			System.out.println("Toolbox.initialize(): reloading persitent results...");
+			Log.finest("Toolbox.initialize(): reloading persitent results...");
 			ArrayList<String> resultsNodesQualifiers = TXMPreferences.getResultsNodesQualifiers();
 			for (String nodeQualifier : resultsNodesQualifiers) {
 				try {
-					System.out.println("Toolbox.initialize(): loading from result node qualifier " + nodeQualifier);
-					System.out.println("Toolbox.initialize(): class =  " + TXMPreferences.getString("class", nodeQualifier));
-					System.out.println("Toolbox.initialize(): parent_uuid =  " + TXMPreferences.getString(TXMPreferences.PARENT_UUID, nodeQualifier));
-					System.out.println("Toolbox.initialize(): bundle_id =  " + TXMPreferences.getString(TXMPreferences.BUNDLE_ID, nodeQualifier));
+					Log.finest("Toolbox.initialize(): loading from result node qualifier " + nodeQualifier);
+					Log.finest("Toolbox.initialize(): class =  " + TXMPreferences.getString("class", nodeQualifier));
+					Log.finest("Toolbox.initialize(): parent_uuid =  " + TXMPreferences.getString(TXMPreferences.PARENT_UUID, nodeQualifier));
+					Log.finest("Toolbox.initialize(): bundle_id =  " + TXMPreferences.getString(TXMPreferences.BUNDLE_ID, nodeQualifier));
 					Bundle bundle = Platform.getBundle(TXMPreferences.getString(TXMPreferences.BUNDLE_ID, nodeQualifier));
 					Class<?> cl = bundle.loadClass(TXMPreferences.getString("class", nodeQualifier));
 					Constructor<?> cons = cl.getConstructor(String.class);
@@ -386,7 +393,8 @@
 					SafeRunner.run(runnable);
 				}
 			} catch (Exception ex) {
-				System.out.println("Exception while installing " + e.getName() + ": " + ex.getMessage());
+				Log.severe("Exception while installing " + e.getName() + ".");
+				ex.printStackTrace();
 			}
 		}
 	}
@@ -419,18 +427,22 @@
 					SafeRunner.run(runnable);
 				}
 			} catch (Exception ex) {
-				System.out.println("Exception while installing "+e.getName()+": "+ex.getMessage());
+				Log.severe("Exception while installing " + e.getName() + ".");
+				ex.printStackTrace();
 			}
 		}
 	}
 
-
+	/**
+	 * Removes an engines manager.
+	 * @param engine
+	 */
 	private static void removeEngineManager(EnginesManager<?> engine) {
 		engines.remove(engine.getClass());
 	}
 
 	/**
-	 * Restart the toolbox.
+	 * Restarts the toolbox.
 	 *
 	 * @return true, if successful
 	 * @throws Exception 
@@ -451,7 +463,8 @@
 			shutdownWorkspace();
 			startWorkspace(monitor);
 		} catch (Exception e) {
-			Log.severe("Error while restarting workspace: "+e.getLocalizedMessage());
+			Log.severe("Error while restarting workspace.");
+			e.printStackTrace();
 		}
 		return checkState();
 	}
@@ -487,7 +500,8 @@
 			//			}
 			//		}
 		} catch(Exception e) {
-			System.out.println("Error while saving preferences: "+e.getLocalizedMessage());
+			Log.severe("Error while saving preferences.");
+			e.printStackTrace();
 		}
 	}
 
@@ -500,7 +514,8 @@
 			Toolbox.workspace = null;
 			state = false;
 		} catch (Exception e) {
-			Log.severe("Error while closing workspace: "+e.getLocalizedMessage());
+			Log.severe("Error while closing workspace.");
+			e.printStackTrace();
 		}
 	}
 
@@ -508,16 +523,16 @@
 
 		fetchEngineManagers();
 
-		Log.info("Starting "+engines.keySet().size()+" engines managers...");
+		Log.info("Starting " + engines.keySet().size() + " engines managers...");
 
 		boolean result = true;
 		for (EngineType et : engines.keySet()) {
 			try {
 				EnginesManager<?> e = engines.get(et);
-				Log.info("Start engine manager: "+e.getClass());
+				Log.info("Starting engines manager: " + e.getClass());
 				result = e.startEngines(monitor) && result; // order is important
 			} catch(Exception e) {
-				System.out.println("Error while starting engine manager: "+e);
+				Log.severe("Error while starting engine manager.");
 				e.printStackTrace();
 			}
 		}
@@ -526,21 +541,21 @@
 
 	private static boolean startWorkspace(IProgressMonitor monitor) {
 		String txmhomedir = TXMPreferences.getString(TBXPreferences.USER_TXM_HOME, TBXPreferences.PREFERENCES_NODE);
-		if (txmhomedir ==null || txmhomedir.length() == 0) {
+		if (txmhomedir == null || txmhomedir.length() == 0) {
 			state = false;
 			return false;
 		}
 
-		String location = txmhomedir+"/workspaces/default.xml";
+		String location = txmhomedir + "/workspaces/default.xml";
 		
 		Version currentVersion = BundleUtils.getBundleVersion("org.txm.core");
-		Log.info("CURRENT TBX VERSION: "+currentVersion);
+		Log.info("Current toolbox version: " + currentVersion);
 		String installedVersionString = TXMPreferences.getString(TBXPreferences.VERSION, TBXPreferences.PREFERENCES_NODE);
-		if ("".equals(installedVersionString)) {
+		if (installedVersionString.isEmpty()) {
 			installedVersionString = "0.0.0";
 		}
 		Version installedVersion = new Version(installedVersionString);
-		Log.info("INSTALLED TBX VERSION: "+installedVersion);
+		Log.info("Installed toolbox version: " + installedVersion);
 		try {
 
 			//System.out.println("Toolbox.startWorkspace(): workspace location = " + location);
@@ -557,21 +572,21 @@
 
 				// test
 				if (Toolbox.workspace == null) {
-					System.out.println("Error: workspace not created (null)");
+					Log.severe("Error: workspace not created (is null).");
 					return false;
 				}
 				
 				TXMPreferences.put(TBXPreferences.PREFERENCES_NODE, TBXPreferences.VERSION, currentVersion.toString());
 			} else if (doUpdateworkspace // newer install
 					) {
-				System.out.println("Updating Toolbox workspace");
+				Log.info("Updating Toolbox workspace...");
 
 				// create or update the workspace & create TXM default.xml workspace file
 				Toolbox.workspace = Workspace.createOrUpdate(new File(txmhomedir)); //$NON-NLS-1$
 
 				// test
 				if (Toolbox.workspace == null) {
-					System.out.println("Error: workspace not created (null)");
+					Log.severe("Error: workspace not created (is null).");
 					return false;
 				}
 				
Index: tmp/org.txm.core/src/java/org/txm/EngineType.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/EngineType.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/EngineType.java	(revision 783)
@@ -1,5 +1,9 @@
 package org.txm;
 
 public enum EngineType {
-	SEARCH,STAT,CHART,SCRIPT,ANNOTATION;
+	SEARCH,
+	STATS,
+	CHARTS,
+	SCRIPT,
+	ANNOTATION;
 }
Index: tmp/org.txm.core/src/java/org/txm/core/preferences/TBXPreferences.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/preferences/TBXPreferences.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/core/preferences/TBXPreferences.java	(revision 783)
@@ -87,6 +87,8 @@
 		preferences.putBoolean(TBXPreferences.ADD_TECH_LOGS, false); //$NON-NLS-1$
 		preferences.putBoolean(TBXPreferences.LOG_STACKTRACE, true); //$NON-NLS-1$
 		preferences.putBoolean(TBXPreferences.LOG_IN_FILE, false); //$NON-NLS-1$
+		preferences.put(TBXPreferences.LOG_LEVEL, "OFF"); //$NON-NLS-1$
+		
 		preferences.put(TBXPreferences.UI_LOCALE, "fr"); //$NON-NLS-1$
 		
 		preferences.put(TBXPreferences.METADATA_ENCODING, "UTF-8"); //$NON-NLS-1$
Index: tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 783)
@@ -229,7 +229,7 @@
 	protected void createUUID() {
 		// FIXME: see if it's useful to put the class name or not, should be better to save it in the .prefs
 		//this.uniqueID = this.getClass().getName() + '@' + ID_TIME_FORMAT.format(new Date(System.currentTimeMillis())) + "_" + UUID.randomUUID();
-		this.uniqueID = ID_TIME_FORMAT.format(new Date(System.currentTimeMillis())) + "_" + UUID.randomUUID();
+		this.uniqueID = "txm_res_" + ID_TIME_FORMAT.format(new Date(System.currentTimeMillis())) + "_" + UUID.randomUUID();
 	}
 
 	/**
@@ -709,7 +709,7 @@
 	 */
 	public boolean autoSaveParametersFromAnnotations() throws Exception {
 
-		System.out.println("TXMResult.autoSaveParametersFromAnnotations(): saving parameters to local node...");
+		System.out.println("TXMResult.autoSaveParametersFromAnnotations(): " + this.getClass().getSimpleName() + ": saving parameters to local node...");
 
 		// internal data to save for unserialization
 		this.saveParameter("class", this.getClass().getName());
@@ -941,11 +941,27 @@
 		return false;
 	}
 
+	
 	/**
+	 * Gets a child specified by its index in the children list.
+	 * @param index
+	 * @return the child specified by its index if exists otherwise null
+	 */
+	synchronized public TXMResult getChild(int index) {
+		try {
+			return this.children.get(index);
+		}
+		catch (Exception e) {
+			return null;
+		}
+	}
+	
+	/**
 	 * Adds a child result to this result.
+	 * If the child already have a parent, the child will be remove from its old parent children.
 	 * 
 	 * @param child
-	 * @return
+	 * @return true if the child has been added
 	 */
 	synchronized public boolean addChild(TXMResult child) {
 		try {
@@ -1330,8 +1346,7 @@
 	}
 
 	/**
-	 * Gets a string representing the result and that can be used as a file
-	 * name.
+	 * Gets a string representing the result and that can be used as a file name.
 	 * 
 	 * @return
 	 */
@@ -1346,8 +1361,7 @@
 	}
 
 	/**
-	 * Gets a string representing the concatenation of the simple names of the
-	 * branch of this result.
+	 * Gets a string representing the concatenation of the simple names of the branch of this result.
 	 * 
 	 * @return
 	 */
@@ -1482,7 +1496,20 @@
 		return this.compute(monitor, true);
 	}
 
+	
 	/**
+	 * 
+	 * @param monitor
+	 * @param deepComputing
+	 * @return
+	 * @throws Exception
+	 */
+	public boolean compute(IProgressMonitor monitor, boolean deepComputing) throws Exception	{
+		return this.compute(monitor, deepComputing, true);
+	}
+	
+	
+	/**
 	 * Computes the result if 
 	 * it can be computed 
 	 * it is dirty 
@@ -1497,20 +1524,19 @@
 	 * @throws CqiClientException
 	 * @throws IOException
 	 */
-	protected boolean compute(IProgressMonitor monitor, boolean updateLastParameters) throws Exception {
+	protected boolean compute(IProgressMonitor monitor, boolean deepComputing, boolean updateLastParameters) throws Exception {
 
 		boolean skipComputing = false;
 		
 		this.monitor = monitor;
 
-		if (!this.isDirtyFromHistory()) {
+		if (!this.isDirty() && !this.isDirtyFromHistory()) {
 
 			// FIXME: Debug
 			System.err.println("TXMResult.compute(): " + this.getClass().getSimpleName() + ": result parameters have not changed since last computing, computing skipped.");
 
 			skipComputing = true;
 		}
-
 		else if (!this.isDirty()) {
 
 			// FIXME: Debug
@@ -1530,14 +1556,15 @@
 			// TODO where do we put this parent compute ? :o
 			//		if (parent != null && !parent.getHasBeenComputedOnce()) { // parent must be computed at least one time
 			// SJ: other way, test the object itself
-			if (parent != null && !parent.getHasBeenComputedOnce()) { 
-				if (!this.parent.compute(monitor)) {
-					System.err.println("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to compute parent result, computing stopped.");
+			if (parent != null && !parent.hasBeenComputedOnce()) { 
+				if (!this.parent.compute(monitor, false, updateLastParameters)) {
+					System.err.println("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to compute parent result.");
 	
-					return false;
+					//return false;
 				}
 			}
 	
+			// Computing requirements test
 			if (!this.canCompute()) {
 				// FIXME: Debug
 				System.err.println("TXMResult.compute(): " + this.getClass().getSimpleName() + ": missing or wrong parameters, computing aborted.");
@@ -1545,6 +1572,7 @@
 				return false;
 			}
 	
+			// Computing
 			if (!this._compute()) {
 	
 				// FIXME: Debug
@@ -1552,6 +1580,20 @@
 	
 				return false;
 			}
+			
+			// FIXME: Children cascade computing
+			if(deepComputing)	{
+				
+				// FIXME: Debug
+				System.err.println("TXMResult.compute(): " + this.getClass().getSimpleName() + ": cascade computing of " + this.children.size() + " children.");
+
+				
+				for (int i = 0; i < this.children.size(); i++) {
+					this.getChild(i).setDirty(); // force recomputing even if some parameters of the result itself have not changed
+					this.getChild(i).compute(monitor, deepComputing, updateLastParameters);
+				}
+			}
+			
 		}
 		
 		// store last used parameters
@@ -1644,7 +1686,7 @@
 	public abstract boolean toTxt(File outfile, String encoding, String colseparator, String txtseparator) throws Exception;
 
 
-	public boolean getHasBeenComputedOnce() {
+	public boolean hasBeenComputedOnce() {
 		return hasBeenComputedOnce;
 	}
 
Index: tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties	(revision 783)
@@ -80,7 +80,7 @@
 DROP_QUERYRESULT = Deleting query results {0}
 DROP_SUBCORPUS   = Deleting subcorpus {0}
 
-END_SUBCORPUS_SIZE = size of subcorpus {0} ({1}) computed in {2} ms
+END_SUBCORPUS_SIZE = Size of subcorpus {0} ({1}) computed in {2} ms
 
 Error_CONNECTION_FAILED = ** Error : while connection to search engine, with the following parameters: 
 
Index: tmp/org.txm.core/src/java/org/txm/objects/BaseParameters.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/BaseParameters.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/objects/BaseParameters.java	(revision 783)
@@ -12,13 +12,12 @@
 import java.util.Date;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Locale;
 
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.txm.utils.xml.DomUtils;
 import org.txm.utils.logger.Log;
+import org.txm.utils.xml.DomUtils;
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.NodeList;
Index: tmp/org.txm.core/src/java/org/txm/objects/Workspace.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/Workspace.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/objects/Workspace.java	(revision 783)
@@ -33,11 +33,8 @@
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
-import java.util.List;
 
 import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
@@ -53,12 +50,10 @@
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.osgi.util.NLS;
-import org.txm.EnginesManager;
 import org.txm.PostTXMHOMEInstallationStep;
 import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
-import org.txm.utils.BundleUtils;
 import org.txm.utils.DeleteDir;
 import org.txm.utils.io.FileCopy;
 import org.txm.utils.logger.Log;
Index: tmp/org.txm.core/src/java/org/txm/objects/TxmObject.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/TxmObject.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/objects/TxmObject.java	(revision 783)
@@ -90,7 +90,7 @@
 	/**
 	 * @return true for now
 	 */
-	public boolean getHasBeenComputedOnce() {
+	public boolean hasBeenComputedOnce() {
 		//TODO remove this when TXMObjects will be computable
 		return true;
 	}
Index: tmp/org.txm.core/src/java/org/txm/objects/Base.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/Base.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/objects/Base.java	(revision 783)
@@ -36,7 +36,6 @@
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 
 import javax.xml.transform.OutputKeys;
 import javax.xml.transform.Result;
@@ -46,10 +45,8 @@
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
 
-import org.osgi.service.prefs.BackingStoreException;
-import org.txm.Toolbox;
-import org.txm.core.messages.TXMCoreMessages;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.txm.core.messages.TXMCoreMessages;
 import org.txm.utils.logger.Log;
 import org.txm.utils.zip.Zip;
 import org.w3c.dom.Document;
Index: tmp/org.txm.core/src/java/org/txm/objects/Alignement.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/Alignement.java	(revision 782)
+++ tmp/org.txm.core/src/java/org/txm/objects/Alignement.java	(revision 783)
@@ -1,6 +1,5 @@
 package org.txm.objects;
 
-import org.txm.core.results.TXMParameters;
 
 
 /**
Index: tmp/org.txm.textsbalance.rcp/src/org/txm/textsbalance/rcp/editors/TextsBalanceEditor.java
===================================================================
--- tmp/org.txm.textsbalance.rcp/src/org/txm/textsbalance/rcp/editors/TextsBalanceEditor.java	(revision 782)
+++ tmp/org.txm.textsbalance.rcp/src/org/txm/textsbalance/rcp/editors/TextsBalanceEditor.java	(revision 783)
@@ -62,7 +62,7 @@
 
 		
 		// for group tests
-		Composite parametersArea = this.getCommandParametersGroup();
+		Composite parametersArea = this.getExtendedParametersComposite();
 		
 		Group group = new Group(parametersArea, SWT.NONE);
 		
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 782)
+++ tmp/org.txm.referencer.rcp/src/org/txm/referencer/rcp/editors/ReferencerEditor.java	(revision 783)
@@ -151,22 +151,22 @@
 
 		
 		parent.setLayout(new GridLayout(1,true));
-		Composite paramArea = getCommandParametersGroup();
+		Composite paramArea = getExtendedParametersComposite();
 		paramArea.setLayout(new GridLayout(3, false));
 		
-		getMinimalParametersComposite().getLayout().numColumns = 3;
-		getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		getMainParametersComposite().getLayout().numColumns = 3;
+		getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
-		Label queryLabel = new Label(getMinimalParametersComposite(), SWT.NONE);
+		Label queryLabel = new Label(getMainParametersComposite(), SWT.NONE);
 		queryLabel.setText(TXMUIMessages.CreateSubcorpusDialog_10);
 		queryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 		
-		querywidget = new QueryWidget(getMinimalParametersComposite(), SWT.None);
+		querywidget = new QueryWidget(getMainParametersComposite(), SWT.None);
 		querywidget.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
 		querywidget.addKeyListener(computeKeyListener);
 
 		// [Edit]
-		propertiesSelector = new PropertiesSelector<Property>(getMinimalParametersComposite(), SWT.NONE);
+		propertiesSelector = new PropertiesSelector<Property>(getMainParametersComposite(), SWT.NONE);
 		propertiesSelector.setMaxPropertyNumber(1);
 		propertiesSelector.setLayoutData(new GridData(GridData.FILL, GridData.FILL,
 				false, false));
Index: tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java
===================================================================
--- tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java	(revision 782)
+++ tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java	(revision 783)
@@ -102,21 +102,23 @@
 
 		try {
 
+			// Main parameters
+			GLComposite mainParametersArea = this.getMainParametersComposite();
+			mainParametersArea.getLayout().numColumns = 2;
 			
 			// unit property
-			GLComposite minimalParametersArea = this.getMinimalParametersComposite();
-			minimalParametersArea.getLayout().numColumns = 2;
-
-			new Label(minimalParametersArea, SWT.NONE).setText(TXMCoreMessages.common_property);
-			this.unitPropertyComboViewer = new PropertiesComboViewer(minimalParametersArea, this, true,
+			new Label(mainParametersArea, SWT.NONE).setText(TXMCoreMessages.common_property);
+			this.unitPropertyComboViewer = new PropertiesComboViewer(mainParametersArea, this, true,
 					Corpus.getFirstParentCorpus(this.getResult()).getOrderedProperties(),
 					this.getResult().getUnitProperty(), true);
 
 			
+			// Extended parameters
+			Composite extendedParametersArea = this.getExtendedParametersComposite();
+			
 			// max score
-			Composite parametersArea = this.getCommandParametersGroup();
-			new Label(parametersArea, SWT.NONE).setText("Maximum score");
-			this.maxScore = new Spinner(parametersArea, SWT.BORDER);
+			new Label(extendedParametersArea, SWT.NONE).setText("Maximum score");
+			this.maxScore = new Spinner(extendedParametersArea, SWT.BORDER);
 			this.maxScore.setToolTipText("The maximum score to display");
 			this.maxScore.setMinimum(0);
 
@@ -156,7 +158,7 @@
 			specificitesTable = viewer.getTable();
 			specificitesTable.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 1, 2));
 
-			// create 1st column
+			// create 1st column: Unit
 			TableColumn typeNameColumn = new TableColumn(specificitesTable, SWT.NONE);
 			typeNameColumn.setText(TXMCoreMessages.common_units);
 			typeNameColumn.setToolTipText(TXMCoreMessages.common_units);
@@ -166,12 +168,15 @@
 			viewerComparator.addSelectionAdapter(viewer, typeNameColumn, 0);
 			
 			
-			// create 2nd column
+			// create 2nd column: Frequency
 			this.typeFrequencyColumn = new TableColumn(viewer.getTable(), SWT.NONE);
+			this.typeFrequencyColumn.setAlignment(SWT.RIGHT);
+			this.typeFrequencyColumn.setText(TXMCoreMessages.common_frequency);
+			
 			viewerComparator.addSelectionAdapter(viewer, typeFrequencyColumn, 1);
 			
 			
-			// add a separator column
+			// add a separator empty column
 			TableColumn separatorColumn = new TableColumn(specificitesTable, SWT.NONE);
 			separatorColumn.setResizable(false);
 
@@ -205,22 +210,20 @@
 	@Override
 	public void updateEditorFromResult(boolean update) {
 		try {
+
+			
 			if(!update)	{
-				typeFrequencyColumn.setText(TXMCoreMessages.common_frequency + " " + SpecificitiesUIMessages.SpecificitiesTableEditor_11 + " " + this.getResult().getCorpusSize()); //$NON-NLS-1$ //$NON-NLS-2$
-				typeFrequencyColumn.setToolTipText(typeFrequencyColumn.getText()); 
-				typeFrequencyColumn.setAlignment(SWT.RIGHT);
-				typeFrequencyColumn.pack();
-				
 				String[] partNames = null;
 				int[] partSize = null;
 				try {
 					partNames = this.getResult().getPartShortNames();
 					partSize = this.getResult().getPartSizes();
-				} catch (StatException e) {
+				} catch (Exception e) {
 					System.err.println(NLS.bind(RCoreMessages.error_unexpectedErrorInRStatisticsEngine, e));
 					Log.printStackTrace(e);
 					return;
 				}
+
 				// System.out.println("partnames: "+Arrays.toString(partNames));
 				for (int i = 0, columnIndex = 2; i < partNames.length ; i++) { // for each part
 
@@ -248,27 +251,36 @@
 			}
 
 			
-			// units
-			String[] typeNames = this.getResult().getTypeNames();
-			// units' total freq
-			int[] typeFreq = this.getResult().getFormFrequencies();
-			// units' index fr each part
-			double[][] specIndex = this.getResult().getSpecificitesIndex();
-			int[][] specFreqs = this.getResult().getFrequency();
+
 			
-			// units' total in parts
-			//final int[] sortedPartIndexes = specificitesResult.getSortedPartIndexes();
+			if(this.getResult().canCompute())	{
+				
+				typeFrequencyColumn.setText(TXMCoreMessages.common_frequency + " " + SpecificitiesUIMessages.SpecificitiesTableEditor_11 + " " + this.getResult().getCorpusSize()); //$NON-NLS-1$ //$NON-NLS-2$
+				typeFrequencyColumn.setToolTipText(typeFrequencyColumn.getText()); 
+				typeFrequencyColumn.pack();
 
-			// Create an array of lines to fill the tables
-			//		System.out.println("len types: "+typeNames.length);
-			//		System.out.println("len freq: "+typeFreq.length);
-			//		System.out.println("len spec: "+specFreqs.length);
-			//		System.out.println("len specidx: "+specIndex.length);
-			 Object[] tableLines = new Object[typeNames.length];
-			for (int j = 0; j < tableLines.length; j++) {
-				tableLines[j] = new Object[] { typeNames[j], new Integer(typeFreq[j]), specFreqs[j], specIndex[j] };
+				// units
+				String[] typeNames = this.getResult().getTypeNames();
+				// units' total freq
+				int[] typeFreq = this.getResult().getFormFrequencies();
+				// units' index fr each part
+				double[][] specIndex = this.getResult().getSpecificitesIndex();
+				int[][] specFreqs = this.getResult().getFrequency();
+				
+				// units' total in parts
+				//final int[] sortedPartIndexes = specificitesResult.getSortedPartIndexes();
+	
+				// Create an array of lines to fill the tables
+				//		System.out.println("len types: "+typeNames.length);
+				//		System.out.println("len freq: "+typeFreq.length);
+				//		System.out.println("len spec: "+specFreqs.length);
+				//		System.out.println("len specidx: "+specIndex.length);
+				 Object[] tableLines = new Object[typeNames.length];
+				for (int j = 0; j < tableLines.length; j++) {
+					tableLines[j] = new Object[] { typeNames[j], new Integer(typeFreq[j]), specFreqs[j], specIndex[j] };
+				}
+				viewer.setInput(tableLines);
 			}
-			viewer.setInput(tableLines);
 
 			// Pack the columns so the label of the sort column is not truncated due of the sorting order arrow display			
 			TXMEditor.packColumns(viewer);
Index: tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesSelectionEditor.java
===================================================================
--- tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesSelectionEditor.java	(revision 782)
+++ tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesSelectionEditor.java	(revision 783)
@@ -47,10 +47,10 @@
 		
 		
 		// Banality
-        Label label = new Label(this.getCommandParametersGroup(), SWT.NONE);
+        Label label = new Label(this.getExtendedParametersComposite(), SWT.NONE);
         label.setText("Banality:");
 		
-		banality = new FloatSpinner(this.getCommandParametersGroup(), SWT.BORDER);
+		banality = new FloatSpinner(this.getExtendedParametersComposite(), SWT.BORDER);
 		banality.setToolTipText("Banality threshold");
 		banality.setMaximumAsFloat(2);
 		banality.addSelectionListener(new ComputeSelectionListener(this));
Index: tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/editors/WordCloudEditor.java
===================================================================
--- tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/editors/WordCloudEditor.java	(revision 782)
+++ tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/editors/WordCloudEditor.java	(revision 783)
@@ -41,7 +41,7 @@
 	public void __createPartControl(Composite parent) {
 
 		// for group tests
-		Composite parametersArea = this.getCommandParametersGroup();
+		Composite parametersArea = this.getExtendedParametersComposite();
 
 		// fmin
 		new Label(parametersArea, SWT.NONE).setText(WordCloudUIMessages.EditorToolBar_fmin);
