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 1513)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java	(revision 1514)
@@ -59,6 +59,7 @@
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.GLComposite;
 import org.txm.rcp.swt.widget.AssistedChoiceQueryWidget;
+import org.txm.rcp.swt.widget.LabeledSpinner;
 import org.txm.rcp.swt.widget.NavigationWidget;
 import org.txm.rcp.swt.widget.PropertiesSelector;
 import org.txm.rcp.swt.widget.ThresholdsGroup;
@@ -236,35 +237,18 @@
 		this.vMaxSpinner = thresholdsGroup.getVMaxSpinner();
 		
 		
-		Label lNLigneppage = new Label(this.getExtendedParametersGroup(), SWT.NONE);
-		lNLigneppage.setText(IndexUIMessages.pageSize);
+		// FIXME: SJ: we should create a widget class for the number of results per page 
+		// Number of results per page 
+		LabeledSpinner numberOfResultsPerPage = new LabeledSpinner(this.getExtendedParametersGroup(), this, IndexUIMessages.pageSize);
+		this.nLinesPerPageSpinner = numberOfResultsPerPage.getSpinner();
+		this.nLinesPerPageSpinner.setMinimum(0);
+		this.nLinesPerPageSpinner.setMaximum(99999);
+		this.nLinesPerPageSpinner.setIncrement(1);
+		this.nLinesPerPageSpinner.setPageIncrement(100);
 		
-		nLinesPerPageSpinner = new Spinner(this.getExtendedParametersGroup(), SWT.BORDER);
-		nLinesPerPageSpinner.setMinimum(0);
-		nLinesPerPageSpinner.setMaximum(99999);
-		nLinesPerPageSpinner.setIncrement(1);
-		nLinesPerPageSpinner.setPageIncrement(100);
+
 		
-		// FIXME; became useless?
-//		nLinesPerPageSpinner.addSelectionListener(new SelectionListener() {
-//			@Override
-//			public void widgetSelected(SelectionEvent e) { }
-//
-//			@Override
-//			public void widgetDefaultSelected(SelectionEvent e) {
-//				index.setTopLine(0);
-//				index.setNLinesPerPage(nLinesPerPageSpinner.getSelection());
-//				fillResultArea();
-//				viewer.getTable().select(0);
-//				viewer.getTable().showSelection();
-//			}
-//		});
-		
-		nLinesPerPageSpinner.addSelectionListener(computeSelectionListener);
-		nLinesPerPageSpinner.addKeyListener(computeKeyListener);
-		
-		
-		
+		// Bottom toolbar
 		navigationArea = new NavigationWidget(infosArea, SWT.NONE);
 		navigationArea.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true,	false));
 
Index: tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java
===================================================================
--- tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java	(revision 1513)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java	(revision 1514)
@@ -23,7 +23,6 @@
 		this.queryWidget.setVisible(false);
 		this.queryWidget.setSize(0, 0);
 		this.queryWidget.setLayoutData(new GridData(0, 0));
-		//this.queryWidget.dispose();
 		this.queryLabel.setVisible(false);
 		this.queryLabel.dispose();
 		
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 1513)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1514)
@@ -848,6 +848,12 @@
 	 * @param controlArea the control area
 	 */
 	private void composeControlArea(final Composite controlArea) {
+		
+		
+		// Computing listeners
+		ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
+
+		
 		GridLayout controlLayout = new GridLayout(1, false);
 		controlLayout.verticalSpacing = 0;
 		controlLayout.marginWidth = 0;
@@ -883,12 +889,13 @@
 		queryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
 
 		// [ (v)]
-		// queryWidget = new QueryWidget(queryArea, SWT.DROP_DOWN);
-		queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus());
+		queryWidget = new AssistedQueryWidget(this.getMainParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus());
 		queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false));
-		queryWidget.addKeyListener(new ComputeKeyListener(this));
-		// FIXME: to compute when changing the query from history combo box
-		// FIXME: commented because it doesn't work, the computing is launched as soon as we clic on the arrow of the combo box
+		queryWidget.addKeyListener(computeKeyListener);
+		queryWidget.getQueryWidget().addModifyListener(computeKeyListener);
+		
+		// FIXME: SJ: for computing when changing the query from history combo box
+		// FIXME: SJ: commented because it doesn't work, the computing is launched as soon as we clic on the arrow of the combo box
 		//queryWidget.getQueryWidget().addSelectionListener(new ComputeSelectionListener(this));
 
 		// hide the parameters panel
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 1513)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java	(revision 1514)
@@ -670,7 +670,7 @@
 		//			return false;
 		//		}
 
-		return true;
+		return this.lexicalTable.getProperty() != null;
 	}
 
 
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 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1514)
@@ -67,6 +67,7 @@
 import org.txm.rcp.JobsTimer;
 import org.txm.rcp.StatusLine;
 import org.txm.rcp.TXMWindows;
+import org.txm.rcp.editors.listeners.BaseAbstractComputeListener;
 import org.txm.rcp.handlers.BaseAbstractHandler;
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.GLComposite;
@@ -440,20 +441,22 @@
 			}
 
 			if (this.getResult().isLocked()) {
-				setLocked(true);
+				this.setLocked(true);
 			}
 
 			// disable the compute button, it will be re-enable or not later when the UI will check if the editor is dirty or not
-			ToolItem computeButton = this.topToolBar.getItemByContributionId(TOP_TOOLBAR_COMPUTE_BUTTON_ID);
-			if (computeButton != null) {
-				computeButton.setEnabled(false);
-			}
+//			ToolItem computeButton = this.topToolBar.getItemByContributionId(TOP_TOOLBAR_COMPUTE_BUTTON_ID);
+//			if (computeButton != null) {
+//				computeButton.setEnabled(false);
+//			}
 			
 		} catch(Throwable e) {
 			Log.severe(TXMCoreMessages.bind("TXMEditor.createPartControl(): can not create the editor for result {0}.", this.getResult())); //$NON-NLS-1$
 			e.printStackTrace();
 			createPartControlDoneSucessfully = false;
 		}
+		
+		this.setDirty(false);
 	}
 
 	public void setLocked(boolean b) {
@@ -630,9 +633,23 @@
 	public void setDirty(boolean dirty) {
 		this.dirty = dirty;
 
+		// FIXME: SJ: future version that enable the button ONLY if the result can compute
+		// need to check all canCompute() result method before enabling it
+//		try {
+//			// enable/disable the compute button according to dirty state of the editor
+//			if (this.computeButton != null && !this.computeButton.isDisposed()) {
+//				this.computeButton.setEnabled(this.getResult().canCompute() && dirty && !this.getResult().isLocked());
+//			}
+//		}
+//		catch (Exception e) {
+//			// TODO Auto-generated catch block
+//			e.printStackTrace();
+//		}
+
+		// FIXME: old version
 		// enable/disable the compute button according to dirty state of the editor
 		if (this.computeButton != null && !this.computeButton.isDisposed()) {
-			this.computeButton.setEnabled(dirty && !getResult().isLocked());
+			this.computeButton.setEnabled(this.dirty && !this.getResult().isLocked());
 		}
 
 		firePropertyChange(IEditorPart.PROP_DIRTY);
@@ -1101,15 +1118,22 @@
 					((ToolItem)object).setSelection((Boolean) value); 
 				}
 				else if(object instanceof FloatSpinner)	{
+					
+					((FloatSpinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, true);
+					
 					if(value instanceof Double) {
 						((FloatSpinner)object).setSelection((Double) value);	
 					}
 					else {
 						((FloatSpinner)object).setSelection((Float) value);
 					}
+					
+					((FloatSpinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, false);
 				}
 				else if(object instanceof Spinner)	{
+					((Spinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, true);
 					((Spinner)object).setSelection((Integer) value); 
+					((Spinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, false);
 				}
 				else if(object instanceof Text)	{
 					((Text)object).setText(String.valueOf(value)); 
@@ -1121,14 +1145,14 @@
 					if(value != null)	{
 						// FIXME: fire a new selection changed event leading to a cyclic recursion...
 						// FIXME: became useless? since there is now a test above on  !this.getResult().hasParameterChanged(parameter.key(), this.lastComputingParameters) 
-						((Viewer)object).setData("ignore", true); //$NON-NLS-1$
+						((Viewer)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, true);
 						if (value instanceof StructuredSelection) { // no need to create a new StructuredSelection
 							((Viewer)object).setSelection((StructuredSelection)value, true);
 						}
 						else {
 							((Viewer)object).setSelection(new StructuredSelection(value), true);
 						}
-						((Viewer)object).setData("ignore", false); //$NON-NLS-1$
+						((Viewer)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, false);
 					}
 				}
 				else if(object instanceof PropertiesSelector)	{
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java	(revision 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java	(revision 1514)
@@ -6,35 +6,48 @@
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.ModifyEvent;
+import org.eclipse.swt.events.ModifyListener;
 import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.TXMEditor;
 
 /**
- * Key listener that calls TXMEditor.compute() when the Enter key is pressed.
+ * Key and text Modify listener that calls TXMEditor.compute() when the Enter key is pressed.
+ * Also manage the dirty editor state when the text of the widget has changed. 
  * 
  * @author mdecorde
  * @author sjacquot
  *
  */
-public class ComputeKeyListener extends BaseAbstractComputeListener implements KeyListener {
+public class ComputeKeyListener extends BaseAbstractComputeListener implements KeyListener, ModifyListener {
 
 
 	/**
 	 * @param editor
 	 */
 	public ComputeKeyListener(TXMEditor<? extends TXMResult> editor) {
-		super(editor);
+		this(editor, false);
 	}
 
+	/**
+	 * 
+	 * @param editor
+	 * @param autoCompute
+	 */
+	public ComputeKeyListener(TXMEditor<? extends TXMResult> editor, boolean autoCompute) {
+		super(editor, autoCompute);
+	}
+
+	
 	@Override
 	public void keyPressed(KeyEvent e) {
 		if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
 			this.editor.compute(true);
 		}
 		// if other key than Return is pressed then makes the editor dirty
-		else	{
-			this.editor.setDirty(true);
-		}
+//		else	{
+//			this.editor.setDirty(true);
+//		}
 		// FIXME: update the result from the widget
 		// purpose here is, for example, to enable the compute command button when a query is typed
 		// the code below doesn't work as expected
@@ -50,4 +63,11 @@
 		
 	}
 
+	@Override
+	public void modifyText(ModifyEvent e) {
+		if(!mustIgnoreEvent(e) && !this.autoCompute) {
+			this.editor.setDirty(true);
+		}
+	}
+
 }
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java	(revision 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java	(revision 1514)
@@ -6,6 +6,7 @@
 import java.util.EventObject;
 
 import org.eclipse.jface.viewers.Viewer;
+import org.eclipse.swt.widgets.Widget;
 import org.txm.core.results.TXMResult;
 import org.txm.rcp.editors.TXMEditor;
 
@@ -18,6 +19,10 @@
  */
 public abstract class BaseAbstractComputeListener {
 
+	
+	public final static String IGNORE_EVENT = "ignoreEvent";
+	
+	
 	/**
 	 * Linked editor.
 	 */
@@ -56,10 +61,16 @@
 	public static boolean mustIgnoreEvent(EventObject event)	{
 		// to skip programmatically setSelection() call, especially for the auto-updating editor Widgets from result methods
 		if(event.getSource() instanceof Viewer)	{
-			if(((Viewer)event.getSource()).getData("ignore") != null && (Boolean)((Viewer)event.getSource()).getData("ignore") == true)	{
+			if(((Viewer)event.getSource()).getData(IGNORE_EVENT) != null && (Boolean)((Viewer)event.getSource()).getData(IGNORE_EVENT) == true)	{
 				return true;
 			}
 		}
+		else if(event.getSource() instanceof Widget)	{
+			if(((Widget)event.getSource()).getData(IGNORE_EVENT) != null && (Boolean)((Widget)event.getSource()).getData(IGNORE_EVENT) == true)	{
+				return true;
+			}
+		}
+
 		return false;
 	}
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java	(revision 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java	(revision 1514)
@@ -12,6 +12,7 @@
  *
  */
 // FIXME: became useless?
+// actually this could be useful to pass it all events
 @Deprecated
 public class ComputeListener extends BaseAbstractComputeListener implements Listener {
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java	(revision 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java	(revision 1514)
@@ -44,9 +44,9 @@
 		if((this.autoCompute
 				|| RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR))
 				
-				&& (!(e.getSource() instanceof Spinner))
+				//&& (!(e.getSource() instanceof Spinner))
 				
-				//&& (!(e.getSource() instanceof Spinner) || (e.stateMask & SWT.BUTTON_MASK) != 0)
+				&& (!(e.getSource() instanceof Spinner) || (e.stateMask & SWT.BUTTON_MASK) != 0)
 				)	{
 			this.editor.compute(true);
 		}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/LabeledSpinner.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/LabeledSpinner.java	(revision 0)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/LabeledSpinner.java	(revision 1514)
@@ -0,0 +1,98 @@
+/**
+ * 
+ */
+package org.txm.rcp.swt.widget;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Spinner;
+import org.txm.rcp.editors.TXMEditor;
+import org.txm.rcp.editors.listeners.ComputeKeyListener;
+
+/**
+ * Convenience class to create a labeled Spinner dedicated to editor parameters areas.
+ * This class also adds all the needed computing listeners.  
+ * 
+ * @author sjacquot
+ *
+ */
+public class LabeledSpinner {
+	
+	/**
+	 * The label.
+	 */
+	protected Label label;
+	
+
+	/**
+	 * The spinner
+	 */
+	protected Spinner spinner;
+	
+	
+	
+	/**
+	 * 
+	 */
+	public LabeledSpinner(Composite parent, TXMEditor editor, Label label, Spinner spinner, String labelText, String spinnerTooltip, boolean autoCompute) {
+		this.label = label;
+		this.spinner = spinner;
+		
+		
+		if(this.label == null)	{
+			this.label = new Label(parent, SWT.NONE);
+		}
+		
+		if(this.spinner == null)	{
+			this.spinner = new Spinner(parent, SWT.BORDER);
+		}
+
+		this.label.setText(labelText);
+		
+		if(spinnerTooltip != null)	{
+			this.spinner.setToolTipText(spinnerTooltip);
+		}
+		
+		// default parameters and range
+		this.spinner.setMinimum(0);
+		this.spinner.setMaximum(9999999);
+		this.spinner.setIncrement(1);
+		this.spinner.setPageIncrement(100);
+		
+		// add computing listeners
+		ComputeKeyListener listener = new ComputeKeyListener(editor, autoCompute);
+		this.spinner.addKeyListener(listener);
+		this.spinner.addModifyListener(listener);
+	}
+	
+	public LabeledSpinner(Composite parent, TXMEditor editor, Label label, Spinner spinner, String labelText) {
+		this(parent, editor, label, spinner, labelText, null, false);
+	}
+	
+	
+	public LabeledSpinner(Composite parent, TXMEditor editor, String labelText, String spinnerTooltip) {
+		this(parent, editor, null, null, labelText, spinnerTooltip, false);
+	}
+
+
+	public LabeledSpinner(Composite parent, TXMEditor editor, String labelText) {
+		this(parent, editor, labelText, null);
+	}
+	
+	/**
+	 * @return the label
+	 */
+	public Label getLabel() {
+		return label;
+	}
+
+
+	/**
+	 * @return the spinner
+	 */
+	public Spinner getSpinner() {
+		return spinner;
+	}
+
+}

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

Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ThresholdsGroup.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ThresholdsGroup.java	(revision 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ThresholdsGroup.java	(revision 1514)
@@ -42,7 +42,7 @@
 	protected Spinner fMaxSpinner;
 
 	/**
-	 * Maximum number of lines filtering.
+	 * Maximum number of lines filtering spinner.
 	 */
 	protected Spinner vMaxSpinner;
 
@@ -99,10 +99,6 @@
 		
 		this.setText(TXMCoreMessages.common_thresholds);
 		
-		// Computing listeners
-		ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(editor, autoCompute);
-		ComputeKeyListener computeKeyListener = new ComputeKeyListener(editor);
-
 		GridLayout gridLayout = new GridLayout();
 		
 		if(displayFMax)	{
@@ -120,53 +116,22 @@
 		fieldsGridData.minimumWidth = 100;
 		
 		// Fmin
-		this.fMinLabel = new Label(this, SWT.NONE);
-		this.fMinLabel.setText(TXMCoreMessages.common_fMin);
-		this.fMinLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
-
-		fMinSpinner = new Spinner(this, SWT.BORDER);
-		fMinSpinner.setMinimum(0);
-		fMinSpinner.setMaximum(9999999);
-		fMinSpinner.setIncrement(1);
-		fMinSpinner.setPageIncrement(100);
-		fMinSpinner.setLayoutData(fieldsGridData);
-
+		LabeledSpinner fMin = new LabeledSpinner(this, editor, TXMCoreMessages.common_fMin);
+		this.fMinLabel = fMin.getLabel();
+		this.fMinSpinner = fMin.getSpinner();
+		
 		// Fmax
 		if(displayFMax)	{
-			this.fMaxLabel = new Label(this, SWT.NONE);
-			this.fMaxLabel.setText(TXMCoreMessages.common_fMax);
-			this.fMaxLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
-	
-			fMaxSpinner = new Spinner(this, SWT.BORDER);
-			fMaxSpinner.setMinimum(0);
-			fMaxSpinner.setMaximum(9999999);
-			fMaxSpinner.setIncrement(1);
-			fMaxSpinner.setPageIncrement(100);
-			fMaxSpinner.setLayoutData(fieldsGridData);
+			LabeledSpinner fMax = new LabeledSpinner(this, editor, TXMCoreMessages.common_fMax);
+			this.fMaxLabel = fMax.getLabel();
+			this.fMaxSpinner = fMax.getSpinner();
 		}
 		
 		// Vmax
-		this.vMaxLabel = new Label(this, SWT.NONE);
-		this.vMaxLabel.setText(TXMCoreMessages.common_vMax);
-		this.vMaxLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false));
-
-		vMaxSpinner = new Spinner(this, SWT.BORDER);
-		vMaxSpinner.setMinimum(0);
-		vMaxSpinner.setMaximum(9999999);
-		vMaxSpinner.setIncrement(1);
-		vMaxSpinner.setPageIncrement(100);
-		vMaxSpinner.setLayoutData(fieldsGridData);
+		LabeledSpinner vMax = new LabeledSpinner(this, editor, TXMCoreMessages.common_vMax);
+		this.vMaxLabel = vMax.getLabel();
+		this.vMaxSpinner = vMax.getSpinner();
 		
-		fMinSpinner.addKeyListener(computeKeyListener);
-		fMinSpinner.addSelectionListener(computeSelectionListener);
-		
-		if(displayFMax)	{
-			fMaxSpinner.addKeyListener(computeKeyListener);
-			fMaxSpinner.addSelectionListener(computeSelectionListener);
-		}
-		
-		vMaxSpinner.addKeyListener(computeKeyListener);
-		vMaxSpinner.addSelectionListener(computeSelectionListener);
 	}
 
 	/**
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 1514)
@@ -47,7 +47,7 @@
 					}
 					
 					// get the more recent one
-					if (project != null && p.getComputeDate().compareTo(project.getComputeDate()) > 0) {
+					if (project != null && p.getLastComputingDate().compareTo(project.getLastComputingDate()) > 0) {
 						project = p;
 					} else {
 						project = p;
@@ -64,7 +64,7 @@
 					project.setLang(Locale.getDefault().getCountry());
 					System.out.println(NLS.bind("The {0} corpus will be created.", project));
 				} else {
-					System.out.println(NLS.bind("The {0} ({1}) corpus will be replaced.", project, project.getComputeDate()));
+					System.out.println(NLS.bind("The {0} ({1}) corpus will be replaced.", project, project.getLastComputingDate()));
 				}
 				
 				//project.compute(); // create/update files
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 1513)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMResultDebugView.java	(revision 1514)
@@ -97,20 +97,19 @@
 	public void refresh()	{
 		
 		if(this.currentResult == null)	{
-			this.displayArea.setText("");
+			this.displayArea.setText(""); //$NON-NLS-1$
 			return;
 		}
 		
 		StringBuffer buffer = new StringBuffer();
 		buffer.append("Class: " + this.currentResult.getClass() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		//buffer.append("UUID: " + this.currentResult.getUUID() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Node path: " + this.currentResult.getParametersNodePath() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Simple name: " + this.currentResult.getSimpleName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("User name: " + this.currentResult.getUserName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Lazy name: " + this.currentResult.getLazyName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Name: " + this.currentResult.getName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Creation date: " + this.currentResult.getCreationDate() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		buffer.append("Compute date: " + this.currentResult.getComputeDate() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
+		buffer.append("Last computing date: " + this.currentResult.getLastComputingDate() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Valid filename: " + this.currentResult.getValidFileName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("Empty name: " + this.currentResult.getEmptyName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
 		buffer.append("toString(): " + this.currentResult.toString() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
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 1513)
+++ tmp/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 1514)
@@ -90,6 +90,7 @@
 import org.txm.rcp.preferences.RCPPreferences;
 import org.txm.rcp.swt.widget.AssistedQueryWidget;
 import org.txm.rcp.swt.widget.FloatSpinner;
+import org.txm.rcp.swt.widget.LabeledSpinner;
 import org.txm.rcp.swt.widget.PropertiesSelector;
 import org.txm.rcp.views.QueriesView;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
@@ -239,6 +240,8 @@
 		ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
 
 
+		
+		// Main parameters area
 		Composite queryArea = new Composite(paramArea, SWT.NONE);
 
 		FormData queryLayoutData = new FormData();
@@ -263,7 +266,9 @@
 		layoutData.grabExcessHorizontalSpace = true;
 		queryWidget.setLayoutData(layoutData);
 		queryWidget.addKeyListener(computeKeyListener);
+		queryWidget.getQueryWidget().addModifyListener(computeKeyListener);
 
+
 //TODO add new parameter to select the cooccurrents with a CQL
 //		queryLabel = new Label(getMainParametersComposite(), SWT.NONE);
 //		queryLabel.setText("Cooc");
@@ -305,6 +310,11 @@
 		//			}
 		//		});
 
+		
+		
+		
+		// Extended parameters
+		
 		// Filters
 		Composite filtercontrols = new Composite(paramArea, SWT.NONE);
 		FormData filtersLayoutData = new FormData();
@@ -325,47 +335,19 @@
 		propertiesSelector.setTitle(CooccurrenceUIMessages.cooccurrentsPropertiesColon);
 		propertiesSelector.addSelectionListener(computeSelectionListener);
 
-		// FIXME: became useless?
-		/*
-		 * FormData propsLayoutData = new FormData(); propsLayoutData.top = new
-		 * FormAttachment (queryArea, 0); propsLayoutData.left = new
-		 * FormAttachment (0); propsLayoutData.right = new FormAttachment (100);
-		 * propsArea.setLayoutData(propsLayoutData);
-		 */
+		// Thresholds
+		// Fmin
+		LabeledSpinner fMin = new LabeledSpinner(filtercontrols, this, CooccurrenceUIMessages.thresholdsColonFmin);
+		this.fMin = fMin.getSpinner();
 
-		/*
-		 * GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 9;
-		 * gridLayout.makeColumnsEqualWidth = false;
-		 * filtercontrols.setLayout(gridLayout);
-		 */
+		// Cmin
+		LabeledSpinner cMin = new LabeledSpinner(filtercontrols, this, CooccurrenceUIMessages.cmin);
+		this.cMin = cMin.getSpinner();
 
-		Label label = new Label(filtercontrols, SWT.NONE);
-		label.setText(CooccurrenceUIMessages.thresholdsColonFmin);
+		// Minimum score
+		LabeledSpinner minimumScore = new LabeledSpinner(filtercontrols, this, new Label(filtercontrols, SWT.NONE), new FloatSpinner(filtercontrols, SWT.BORDER), CooccurrenceUIMessages.score_2);
+		this.minScore = (FloatSpinner) minimumScore.getSpinner();
 
-		fMin = new Spinner(filtercontrols, SWT.BORDER);
-		fMin.setMinimum(1);
-		fMin.setMaximum(99999);
-		fMin.setIncrement(1);
-		fMin.setPageIncrement(100);
-		fMin.addSelectionListener(computeSelectionListener);
-		fMin.addKeyListener(computeKeyListener);
-
-		label = new Label(filtercontrols, SWT.NONE);
-		label.setText(CooccurrenceUIMessages.cmin);
-		cMin = new Spinner(filtercontrols, SWT.BORDER);
-		cMin.setMinimum(1);
-		cMin.setMaximum(99999);
-		cMin.setIncrement(1);
-		cMin.setPageIncrement(100);
-		cMin.addSelectionListener(computeSelectionListener);
-		cMin.addKeyListener(computeKeyListener);
-
-		label = new Label(filtercontrols, SWT.NONE);
-		label.setText(CooccurrenceUIMessages.score_2);
-		minScore = new FloatSpinner(filtercontrols, SWT.BORDER);
-		minScore.addSelectionListener(computeSelectionListener);
-		minScore.addKeyListener(computeKeyListener);
-
 		// empant
 		empantPanel = new EmpantWidget(paramArea, SWT.NONE, this.getCorpus());
 
@@ -380,15 +362,11 @@
 		
 		infoLine = new Label(this.getBottomToolBarContainer(), SWT.NONE);
 		infoLine.setLayoutData(new RowData(600, SWT.DEFAULT));
+		
+		
+		
 		// result area
 		Composite resultArea = this.getResultArea();
-		// FIXME: became useless?
-		// FormData resultLayoutData = new FormData();
-		// resultLayoutData.top = new FormAttachment(scrollComposite, 0);
-		// resultLayoutData.left = new FormAttachment(0);
-		// resultLayoutData.right = new FormAttachment(100);
-		// resultLayoutData.bottom = new FormAttachment(100);
-		// resultArea.setLayoutData(resultLayoutData);
 
 		viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER);
 		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
Index: tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java	(revision 1513)
+++ tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java	(revision 1514)
@@ -3,6 +3,7 @@
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.io.ObjectOutputStream;
@@ -15,18 +16,17 @@
 import java.util.HashMap;
 import java.util.Map;
 
-import org.eclipse.core.resources.IFile;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
 import org.eclipse.core.runtime.preferences.DefaultScope;
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.IPreferencesService;
 import org.eclipse.core.runtime.preferences.IScopeContext;
 import org.eclipse.core.runtime.preferences.InstanceScope;
 import org.eclipse.osgi.util.NLS;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.BackingStoreException;
 import org.osgi.service.prefs.Preferences;
-import org.txm.Toolbox;
 import org.txm.core.results.TXMParameters;
 import org.txm.core.results.TXMResult;
 import org.txm.objects.Project;
@@ -51,6 +51,7 @@
  * (We can also define a custom Scope to do that, for example to change the saved object location or the filename)
  *
  *
+ * @author mdecorde
  * @author sjacquot
  *
  */
@@ -76,13 +77,13 @@
 
 	// TXMResult internal parameters, essentially for Links and Persistence
 	public final static String RESULT_PARAMETERS_NODE_PATH = "result_parameters_node_path"; //$NON-NLS-1$
-	//public final static String RESULT_UUID = "result_uuid"; //$NON-NLS-1$
 	public final static String PARENT_PARAMETERS_NODE_PATH = "parent_parameters_node_path"; //$NON-NLS-1$
 	public final static String BUNDLE_ID = "bundle_id"; //$NON-NLS-1$
 	public final static String USER_NAME = "user_name"; //$NON-NLS-1$
 	public final static String LAZY_NAME = "lazy_name"; //$NON-NLS-1$
 	public final static String VISIBLE = "visible"; //$NON-NLS-1$
 	public static final String LOCK = "locked_result"; //$NON-NLS-1$
+	
 	/**
 	 * Result creation date.
 	 */
@@ -1723,7 +1724,20 @@
 	 * @throws IOException 
 	 */
 	public static boolean flush(TXMResult result, File parametersFile) throws IOException	{
+		
+		// FIXME: less wtf version...
+		IPreferencesService service = org.eclipse.core.runtime.Platform.getPreferencesService();
 		try {
+			service.exportPreferences((IEclipsePreferences) preferencesRootNode.node(result.getParametersNodePath()), new FileOutputStream(parametersFile), null);
+		}
+		catch (Exception e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+		
+		
+		// FIXME: wtf version...
+		try {
 			preferencesRootNode.node(result.getParametersNodePath()).flush();
 			
 			Project p = result.getProject();
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 1513)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 1514)
@@ -77,15 +77,11 @@
 	public static final Pattern FILE_NAME_PATTERN = Pattern.compile("[^a-zA-Z0-9\\.-]+"); //$NON-NLS-1$
 	public static final String UNDERSCORE = "_";
 
+	/**
+	 * Results counter to create unique ids.
+	 */
 	private static int next = 0;
 	
-
-	
-//	/**
-//	 * Unique ID of the result.
-//	 */
-//	protected String uniqueID;
-
 	/**
 	 * Editor can use this to test if the result has been computed once.
 	 */
@@ -103,18 +99,12 @@
 	protected boolean dirty = true;
 	
 	/**
-	 * If locked, the result is not updated when computed.
-	 */
-	@Parameter(key=TXMPreferences.LOCK, type=Parameter.INTERNAL)
-	protected boolean locked = false;
-	
-	/**
 	 * if a method changed the internal data without **recomputing** the result, the result must be marked "altered"
 	 */
 	protected boolean altered = false;
 
 	/**
-	 * The result parent. Should not be null except for roots TXMResult
+	 * The result parent. Should not be null except for roots TXMResult.
 	 */
 	protected TXMResult parent;
 
@@ -176,14 +166,14 @@
 	protected String userName;
 
 	/**
-	 *  To store the simple name for unserialization and lazy loading.
-	 *  This string can be used, for example, to display some infos in UI even if the result has not yet been recomputed.
+	 * To store the simple name for unserialization and lazy loading.
+	 * This string can be used, for example, to display some information in UI even if the result has not yet been recomputed.
 	 */
 	@Parameter(key=TXMPreferences.LAZY_NAME, type=Parameter.INTERNAL)
 	private String lazyName;
 
 	/**
-	 * Last compute date.
+	 * Last computing date.
 	 */
 	@Parameter(key=TBXPreferences.LAST_COMPUTING_DATE, type=Parameter.INTERNAL)
 	private Date lastComputingDate;
@@ -194,7 +184,18 @@
 	@Parameter(key=TBXPreferences.CREATION_DATE, type=Parameter.INTERNAL)
 	private Date creationDate;
 	
-	// true if the result is computing = in compute(,) method
+	/**
+	 * If locked, the result is not updated when computed.
+	 */
+	@Parameter(key=TXMPreferences.LOCK, type=Parameter.INTERNAL)
+	protected boolean locked = false;
+	
+
+	/**
+	 * Current computing state.
+	 * true if the result is computing = in compute(,) method
+	 * 
+	 */
 	protected boolean computing = false;
 
 
@@ -312,15 +313,6 @@
 		}
 	}
 
-	public Date getComputeDate() {
-		return this.lastComputingDate;
-	}
-
-	public Date getCreationDate() {
-		return this.creationDate;
-	}
-	
-	
 	/**
 	 * Sets the user name.
 	 * @param name
@@ -2579,8 +2571,27 @@
 	public ArrayList<HashMap<String, Object>> getParametersHistory() {
 		return parametersHistory;
 	}
+	
+	/**
+	 * Gets the last computing date.
+	 * @return the last computing date
+	 */
+	public Date getLastComputingDate() {
+		return this.lastComputingDate;
+	}
 
+	/**
+	 * Gets the creation date.
+	 * @return the creation date
+	 */
+	public Date getCreationDate() {
+		return this.creationDate;
+	}
+	
+
 	public boolean toParametersFile(File outfile) throws IOException {
 		return TXMPreferences.flush(this, outfile);
 	}
+
+	
 }
Index: tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java
===================================================================
--- tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java	(revision 1513)
+++ tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java	(revision 1514)
@@ -292,8 +292,8 @@
 			if (this.corpus.getCreationDate() != null) {
 				buff.append(NLS.bind("<p>Created the {0}</p>", TXMResult.PRETTY_TIME_FORMAT.format(this.corpus.getCreationDate())));
 			}
-			if (this.corpus.getComputeDate() != null) {
-				buff.append(NLS.bind("<p>Imported the {0}</p>", TXMResult.PRETTY_TIME_FORMAT.format(this.corpus.getComputeDate())));
+			if (this.corpus.getLastComputingDate() != null) {
+				buff.append(NLS.bind("<p>Imported the {0}</p>", TXMResult.PRETTY_TIME_FORMAT.format(this.corpus.getLastComputingDate())));
 			}
 		}
 
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 1513)
+++ tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesSelectionEditor.java	(revision 1514)
@@ -1,16 +1,15 @@
 package org.txm.specificities.rcp.editors;
 
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridLayout;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.ToolItem;
 import org.txm.chartsengine.rcp.editors.ChartEditor;
 import org.txm.core.results.Parameter;
 import org.txm.rcp.IImageKeys;
-import org.txm.rcp.editors.listeners.ComputeKeyListener;
 import org.txm.rcp.editors.listeners.ComputeSelectionListener;
 import org.txm.rcp.swt.widget.FloatSpinner;
+import org.txm.rcp.swt.widget.LabeledSpinner;
 import org.txm.specificities.core.functions.SpecificitiesSelection;
 import org.txm.specificities.core.preferences.SpecificitiesPreferences;
 import org.txm.specificities.rcp.handlers.ComputeSpecifities;
@@ -35,41 +34,28 @@
 	 * Banality threshold.
 	 */
 	@Parameter(key=SpecificitiesPreferences.CHART_BANALITY, type=Parameter.RENDERING)
-	protected FloatSpinner banality;
+	protected FloatSpinner banalitySpinner;
 
 	
 	@Override
 	public void __createPartControl() {
 		
-		
 		// Computing listeners
 		ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this, true);
-		ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
-
 		
 		// Group bars by lines
-		groupBarsByLines = new ToolItem(this.getToolBar(), SWT.CHECK);
-		groupBarsByLines.setToolTipText(SpecificitiesUIMessages.groupBarsByLines);
-		groupBarsByLines.setImage(IImageKeys.getImage(ComputeSpecifities.class, "icons/silk_group_bars_by_lines.png"));
-		groupBarsByLines.addSelectionListener(computeSelectionListener);
+		this.groupBarsByLines = new ToolItem(this.getToolBar(), SWT.CHECK);
+		this.groupBarsByLines.setToolTipText(SpecificitiesUIMessages.groupBarsByLines);
+		this.groupBarsByLines.setImage(IImageKeys.getImage(ComputeSpecifities.class, "icons/silk_group_bars_by_lines.png"));
+		this.groupBarsByLines.addSelectionListener(computeSelectionListener);
 		
-		
 		// Banality
 		Composite extendedParametersArea = this.getExtendedParametersGroup();
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.numColumns = 2;
-		extendedParametersArea.setLayout(gridLayout);
-		
-		
-        Label label = new Label(extendedParametersArea, SWT.NONE);
-        label.setText("Banality");
-		
-		banality = new FloatSpinner(extendedParametersArea, SWT.BORDER);
-		banality.setToolTipText("Banality threshold");
-		banality.setMaximumAsFloat(200);
-		banality.addSelectionListener(computeSelectionListener);
-		banality.addKeyListener(computeKeyListener);
-		
+
+		LabeledSpinner banality = new LabeledSpinner(extendedParametersArea, this, new Label(extendedParametersArea, SWT.NONE), new FloatSpinner(extendedParametersArea, SWT.BORDER), "Banality", "Banality threshold", true);
+		this.banalitySpinner = (FloatSpinner) banality.getSpinner();
+		this.banalitySpinner.setMaximumAsFloat(200);
+		this.banalitySpinner.addSelectionListener(computeSelectionListener);
 	}
 
 
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 1513)
+++ tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java	(revision 1514)
@@ -49,6 +49,7 @@
 import org.txm.rcp.editors.listeners.ComputeKeyListener;
 import org.txm.rcp.editors.listeners.ComputeSelectionListener;
 import org.txm.rcp.swt.GLComposite;
+import org.txm.rcp.swt.widget.LabeledSpinner;
 import org.txm.rcp.swt.widget.ThresholdsGroup;
 import org.txm.rcp.swt.widget.structures.PropertiesComboViewer;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
@@ -129,30 +130,13 @@
 
 			// Extended parameters
 			Composite extendedParametersArea = this.getExtendedParametersGroup();
-			//((GridLayout)extendedParametersArea.getLayout()).numColumns = 3;
 			
-//			GridLayout gridLayout = new GridLayout();
-//			gridLayout.numColumns = 3;
-//			extendedParametersArea.setLayout(gridLayout);
-			
-			// Computing listeners
-			ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this);
-			ComputeKeyListener computeKeyListener = new ComputeKeyListener(this);
-			
 			// max score
-			Label maxScoreLabel = new Label(extendedParametersArea, SWT.NONE);
-			maxScoreLabel.setText("Maximum score");
-			
-			this.maxScoreFilter = new Spinner(extendedParametersArea, SWT.BORDER);
-			this.maxScoreFilter.setToolTipText("The maximum score to display");
+			LabeledSpinner maxScore = new LabeledSpinner(extendedParametersArea, this, "Maximum score", "The maximum score to display");
+			this.maxScoreFilter = maxScore.getSpinner();
 			this.maxScoreFilter.setMinimum(0);
 			this.maxScoreFilter.setMaximum(100000);
-			
-			this.maxScoreFilter.addKeyListener(computeKeyListener);
-			this.maxScoreFilter.addSelectionListener(computeSelectionListener);
 
-			
-			
 			// Result area
 			GLComposite resultArea = this.getResultArea();
 
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 1513)
+++ tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 1514)
@@ -235,21 +235,6 @@
 			this.vMaxSpinner.setMinimum(1);
 			thresholdsGroup.getVMaxLabel().setText(TXMCoreMessages.common_numberOfLines);
 			
-//			// Number of lines
-//			Label nLines = new Label(extendedParametersArea, SWT.NONE);
-//			nLines.setText(TXMCoreMessages.common_numberOfLines);
-//			vMaxSpinner = new Spinner(extendedParametersArea, SWT.BORDER);
-//			vMaxSpinner.setMinimum(1);
-//			vMaxSpinner.setMaximum(9999999);
-//			
-//			// Fmin
-//			Label fmin = new Label(extendedParametersArea, SWT.NONE);
-//			fmin.setText(TXMCoreMessages.common_fMin);
-//			fMinSpinner = new Spinner(extendedParametersArea, SWT.BORDER);
-//			fMinSpinner.setMinimum(1);
-//			fMinSpinner.setMaximum(9999999);
-			
-			
 			// Merge or delete columns button
 			mergeDeleteColumnsButton = new Button(extendedParametersArea, SWT.PUSH);
 			mergeDeleteColumnsButton.setText(LexicalTableUIMessages.mergeOrDeleteColumns);
