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 1421)
+++ tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java	(revision 1422)
@@ -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.ThresholdsGroup;
 import org.txm.rcp.swt.widget.structures.PropertiesComboViewer;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.specificities.core.functions.Specificities;
@@ -95,6 +96,17 @@
 	@Parameter(key=SpecificitiesPreferences.MAX_SCORE)
 	protected Spinner maxScoreFilter;
 
+	/**
+	 * Minimum frequency filtering spinner.
+	 */
+	@Parameter(key=TXMPreferences.F_MIN)
+	protected Spinner fMinSpinner;
+
+	/**
+	 * Maximum number of lines filtering.
+	 */
+	@Parameter(key=TXMPreferences.V_MAX)
+	protected Spinner vMaxSpinner;
 	
 	
 	@Override
@@ -118,7 +130,7 @@
 			// Extended parameters
 			Composite extendedParametersArea = this.getExtendedParametersGroup();
 			GridLayout gridLayout = new GridLayout();
-			gridLayout.numColumns = 2;
+			gridLayout.numColumns = 3;
 			extendedParametersArea.setLayout(gridLayout);
 			
 			// Computing listeners
@@ -132,6 +144,7 @@
 			this.maxScoreFilter = new Spinner(extendedParametersArea, SWT.BORDER);
 			this.maxScoreFilter.setToolTipText("The maximum score to display");
 			this.maxScoreFilter.setMinimum(0);
+			this.maxScoreFilter.setMaximum(100000);
 			
 			this.maxScoreFilter.addKeyListener(computeKeyListener);
 			this.maxScoreFilter.addSelectionListener(computeSelectionListener);
@@ -197,6 +210,13 @@
 			specificitesTable.setSortColumn(unitColumn);
 			specificitesTable.setSortDirection(SWT.UP);
 			
+			if (!getResult().isParentVisible()) {
+				ThresholdsGroup thresholdsGroup = new ThresholdsGroup(this.getExtendedParametersGroup(), SWT.NONE, this, true, false);
+				this.fMinSpinner = thresholdsGroup.getFMinSpinner();
+				this.vMaxSpinner = thresholdsGroup.getVMaxSpinner();
+				this.vMaxSpinner.setMinimum(1);
+			}
+			
 		} catch (Exception e) {
 			Log.severe(NLS.bind(SpecificitiesUIMessages.failedToComputeSpecificities, e.getMessage()));
 			Log.printStackTrace(e);
@@ -212,7 +232,6 @@
 			String[] lexicalTableColumnNames = null;
 			int[] lexicalTableColumnTotalFrequencies = null;
 
-
 			try {
 				lexicalTableColumnNames = this.getResult().getColumnsNames();
 				lexicalTableColumnTotalFrequencies = this.getResult().getColumnsFrequenciesSums();
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 1421)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1422)
@@ -965,6 +965,9 @@
 			try {
 				f.setAccessible(true);
 				object = f.get(this);
+				if (object == null) {
+					continue; // widget not set
+				}
 				value = this.getResult().getParameter(parameter.key(), true); // propagate to parent one time
 
 				if (value == null) {
@@ -1096,6 +1099,9 @@
 			try {
 				f.setAccessible(true);
 				Object object = f.get(this);
+				if (object == null) {
+					continue; // widget not set
+				}
 				Object value = null;
 				if(object instanceof ToolItem)	{
 					value = ((ToolItem)object).getSelection(); 
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 1421)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 1422)
@@ -1680,6 +1680,10 @@
 	public boolean isVisible() {
 		return this.visible;
 	}
+	
+	public boolean isParentVisible() {
+		return parent != null && (parent.isVisible() || parent.isInternalPersistable());
+	}
 
 	/**
 	 * Sets the result visibility state.
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 1421)
+++ tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 1422)
@@ -156,11 +156,7 @@
 	 */
 	@Parameter(key=LexicalTablePreferences.V_MAX)
 	protected Spinner vMaxSpinner;
-
-
 	
-	
-	
 	/**
 	 * Creates the part control.
 	 *
Index: tmp/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCEditor.java
===================================================================
--- tmp/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCEditor.java	(revision 1421)
+++ tmp/org.txm.ahc.rcp/src/org/txm/ahc/rcp/editors/AHCEditor.java	(revision 1422)
@@ -50,18 +50,12 @@
 	protected Spinner fMinSpinner;
 
 	/**
-	 * Maximum frequency filtering spinner.
-	 */
-	@Parameter(key=TXMPreferences.F_MAX)
-	protected Spinner fMaxSpinner;
-
-	/**
 	 * Maximum number of lines filtering.
 	 */
 	@Parameter(key=TXMPreferences.V_MAX)
 	protected Spinner vMaxSpinner;
-	
-	
+
+
 	/**
 	 * The metric (euclidean, manhattan).
 	 */
@@ -150,12 +144,12 @@
 		// disable all component of the rendering tool bar
 		this.advancedChartToolBar.setEnabled(false);
 
-		ThresholdsGroup thresholdsGroup = new ThresholdsGroup(this.getExtendedParametersGroup(), SWT.NONE, this, true, false);
-		this.fMinSpinner = thresholdsGroup.getFMinSpinner();
-		this.fMaxSpinner = thresholdsGroup.getFMaxSpinner();
-		this.vMaxSpinner = thresholdsGroup.getVMaxSpinner();
-		this.vMaxSpinner.setMinimum(1);
-
+		if (!getResult().isParentVisible()) {
+			ThresholdsGroup thresholdsGroup = new ThresholdsGroup(this.getExtendedParametersGroup(), SWT.NONE, this, true, false);
+			this.fMinSpinner = thresholdsGroup.getFMinSpinner();
+			this.vMaxSpinner = thresholdsGroup.getVMaxSpinner();
+			this.vMaxSpinner.setMinimum(1);
+		}
 	}
 
 
Index: tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java
===================================================================
--- tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java	(revision 1421)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java	(revision 1422)
@@ -34,19 +34,19 @@
 
 	// FIXME: try to automate that
 	// a solution is to stop using to int in CA but a members int[] dimensions, then use a ComboViewer in this editor
-//	/**
-//	 * First dimension.
-//	 */
-//	@Parameter(key=CAPreferences.FIRST_DIMENSION)
-//	protected int firstDimension = 1;
-//
-//	/**
-//	 * Second dimension.
-//	 */
-//	@Parameter(key=CAPreferences.SECOND_DIMENSION)
-//	protected int secondDimension = 2;
-	
+	//	/**
+	//	 * First dimension.
+	//	 */
+	//	@Parameter(key=CAPreferences.FIRST_DIMENSION)
+	//	protected int firstDimension = 1;
+	//
+	//	/**
+	//	 * Second dimension.
+	//	 */
+	//	@Parameter(key=CAPreferences.SECOND_DIMENSION)
+	//	protected int secondDimension = 2;
 
+
 	/**
 	 * To show/hide individuals.
 	 */
@@ -64,15 +64,15 @@
 	 */
 	@Parameter(key=CAPreferences.SHOW_POINT_SHAPES)
 	protected ToolItem showPointShapes;
-	
-	
+
+
 	/**
 	 * Unit property.
 	 */
 	@Parameter(key=TXMPreferences.UNIT_PROPERTY)
 	protected PropertiesComboViewer unitPropertyComboViewer;
-	
 
+
 	/**
 	 * Minimum frequency filtering spinner.
 	 */
@@ -80,18 +80,12 @@
 	protected Spinner fMinSpinner;
 
 	/**
-	 * Maximum frequency filtering spinner.
-	 */
-	@Parameter(key=TXMPreferences.F_MAX)
-	protected Spinner fMaxSpinner;
-
-	/**
 	 * Maximum number of lines filtering.
 	 */
 	@Parameter(key=TXMPreferences.V_MAX)
 	protected Spinner vMaxSpinner;
-	
-	
+
+
 	/**
 	 *
 	 * @param chartEditorInput
@@ -105,11 +99,11 @@
 	public void __createPartControl() {
 
 		// Main parameters
-		
+
 		try {
 			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,
@@ -122,148 +116,142 @@
 			e.printStackTrace();
 		}
 
-			
-			// Extend the chart editor tool bar
-			new ToolItem(this.chartToolBar, SWT.SEPARATOR);
 
-			ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this, true); 
-			
-			// Show/hide columns
-			showIndividuals = new ToolItem(this.chartToolBar, SWT.CHECK);
-			// FIXME: keep this for offering an option "large icons" with text in buttons ?
-			//showColumns.setText(SWTComponentsProviderMessages.SWTChartsComponentProvider_CA_TOOLBAR_BUTTON_SHOW_COLUMS_LABEL);
-			showIndividuals.setToolTipText(CAUIMessages.showhideTheColumnPoints);
-			showIndividuals.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_columns.png")); //$NON-NLS-1$
-			showIndividuals.addSelectionListener(computeSelectionListener);
+		// Extend the chart editor tool bar
+		new ToolItem(this.chartToolBar, SWT.SEPARATOR);
 
-			// Show/hide rows
-			showVariables = new ToolItem(this.chartToolBar, SWT.CHECK);
-			// FIXME: keep this for offering an option "large icons" with text in buttons ?
-			//this.showRows.setText(SWTComponentsProviderMessages.SWTChartsComponentProvider_CA_TOOLBAR_BUTTON_SHOW_ROWS_LABEL);
-			showVariables.setToolTipText(CAUIMessages.showhideTheRowPoints);
-			showVariables.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_rows.png")); //$NON-NLS-1$
-			showVariables.addSelectionListener(computeSelectionListener);
+		ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this, true); 
 
-			
-			// Show/hide point shapes
-			showPointShapes = new ToolItem(this.chartToolBar, SWT.CHECK);
-			// FIXME: keep this for offering an option "large icons" with text in buttons ?
-			//showPointShapes.setText(CAUIMessages.SHOW_HIDE_POINT_SHAPES);
-			showPointShapes.setToolTipText(CAUIMessages.showhidePointShapes);
-			showPointShapes.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_point_shapes.png")); //$NON-NLS-1$
-			showPointShapes.addSelectionListener(computeSelectionListener);
+		// Show/hide columns
+		showIndividuals = new ToolItem(this.chartToolBar, SWT.CHECK);
+		// FIXME: keep this for offering an option "large icons" with text in buttons ?
+		//showColumns.setText(SWTComponentsProviderMessages.SWTChartsComponentProvider_CA_TOOLBAR_BUTTON_SHOW_COLUMS_LABEL);
+		showIndividuals.setToolTipText(CAUIMessages.showhideTheColumnPoints);
+		showIndividuals.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_columns.png")); //$NON-NLS-1$
+		showIndividuals.addSelectionListener(computeSelectionListener);
 
-			
-			// Factors plane selection
-			CLabel factorsLabel = new CLabel(this.chartToolBar, SWT.CENTER);
-			factorsLabel.setText(CAUIMessages.axesColon);
-			this.chartToolBar.addControl(factorsLabel);
-			
-			final Combo plansCombo = new Combo(this.chartToolBar, SWT.READ_ONLY);
+		// Show/hide rows
+		showVariables = new ToolItem(this.chartToolBar, SWT.CHECK);
+		// FIXME: keep this for offering an option "large icons" with text in buttons ?
+		//this.showRows.setText(SWTComponentsProviderMessages.SWTChartsComponentProvider_CA_TOOLBAR_BUTTON_SHOW_ROWS_LABEL);
+		showVariables.setToolTipText(CAUIMessages.showhideTheRowPoints);
+		showVariables.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_rows.png")); //$NON-NLS-1$
+		showVariables.addSelectionListener(computeSelectionListener);
 
-			// FIXME: commented because the infos panel is not ready to manage more axes
-//		ArrayList<String> planes = null;
-//		try {
-//			int nbsv = ((CA) editorPart.getResultData()).getSingularValues().length;
-//			planes = new ArrayList<String>();
-//			for(int i = 1 ; i < nbsv ; i ++)	{
-//				for(int j = i ; j < nbsv ; j++)	{
-//					if(i != j)	{
-//						planes.add("("+i+","+j+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-//					}
-//				}
-//			}
-//		}
-//		catch (StatException e1) {
-//			// TODO Auto-generated catch block
-//			org.txm.rcp.utils.Logger.printStackTrace(e1);
-//		}
-//		String [] items = planes.toArray(new String[planes.size()]);
 
-			String items[] = { "(1,2)", "(1,3)", "(2,3)" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		// Show/hide point shapes
+		showPointShapes = new ToolItem(this.chartToolBar, SWT.CHECK);
+		// FIXME: keep this for offering an option "large icons" with text in buttons ?
+		//showPointShapes.setText(CAUIMessages.SHOW_HIDE_POINT_SHAPES);
+		showPointShapes.setToolTipText(CAUIMessages.showhidePointShapes);
+		showPointShapes.setImage(IImageKeys.getImage(CAFactorialMapChartEditor.class, "icons/show_point_shapes.png")); //$NON-NLS-1$
+		showPointShapes.addSelectionListener(computeSelectionListener);
 
-			// TODO : commented because the infos panel is not ready to manage more axes
-			//		if(couples != null && couples.size() > 3)	{
-			//			items = couples.toArray(new String[couples.size()]);
-			//}
 
+		// Factors plane selection
+		CLabel factorsLabel = new CLabel(this.chartToolBar, SWT.CENTER);
+		factorsLabel.setText(CAUIMessages.axesColon);
+		this.chartToolBar.addControl(factorsLabel);
 
-			plansCombo.setItems(items);
+		final Combo plansCombo = new Combo(this.chartToolBar, SWT.READ_ONLY);
 
-			// Preselect the plan from the CA data
-			if(this.getIntParameterValue(CAPreferences.FIRST_DIMENSION) == 2)	{
-				plansCombo.select(2);
-			}
-			else if(this.getIntParameterValue(CAPreferences.SECOND_DIMENSION) == 3)	{
-				plansCombo.select(1);
-			}
-			else	{
-				plansCombo.select(0);
-			}
+		// FIXME: commented because the infos panel is not ready to manage more axes
+		//		ArrayList<String> planes = null;
+		//		try {
+		//			int nbsv = ((CA) editorPart.getResultData()).getSingularValues().length;
+		//			planes = new ArrayList<String>();
+		//			for(int i = 1 ; i < nbsv ; i ++)	{
+		//				for(int j = i ; j < nbsv ; j++)	{
+		//					if(i != j)	{
+		//						planes.add("("+i+","+j+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		//					}
+		//				}
+		//			}
+		//		}
+		//		catch (StatException e1) {
+		//			// TODO Auto-generated catch block
+		//			org.txm.rcp.utils.Logger.printStackTrace(e1);
+		//		}
+		//		String [] items = planes.toArray(new String[planes.size()]);
 
-			this.chartToolBar.addControl(plansCombo);
-			
-			// Listeners
-			SelectionListener listener = new SelectionListener() {
-				
-				@Override
-				public void widgetSelected(SelectionEvent e) {
+		String items[] = { "(1,2)", "(1,3)", "(2,3)" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
-					boolean resetView = false;
-					
-					// Change factors
-					if(e.getSource() == plansCombo)	{
+		// TODO : commented because the infos panel is not ready to manage more axes
+		//		if(couples != null && couples.size() > 3)	{
+		//			items = couples.toArray(new String[couples.size()]);
+		//}
 
-						Combo plans = (Combo) e.getSource();
 
-						int dimension1 = 1;
-						int dimension2 = 2;
+		plansCombo.setItems(items);
 
-						String str = plans.getItem(plans.getSelectionIndex());
-						str = str.substring(1, str.length() -1); // remove ( and )
-						String[] split = str.split(","); // 2 items //$NON-NLS-1$
-						dimension1 = Integer.parseInt(split[0]);
-						dimension2 = Integer.parseInt(split[1]);
+		// Preselect the plan from the CA data
+		if(this.getIntParameterValue(CAPreferences.FIRST_DIMENSION) == 2)	{
+			plansCombo.select(2);
+		}
+		else if(this.getIntParameterValue(CAPreferences.SECOND_DIMENSION) == 3)	{
+			plansCombo.select(1);
+		}
+		else	{
+			plansCombo.select(0);
+		}
 
-						getResult().setFirstDimension(dimension1);
-						getResult().setSecondDimension(dimension2);
+		this.chartToolBar.addControl(plansCombo);
 
-						resetView = true;
-					}
-					getResult().setChartDirty();
-					getResult().setNeedsToResetView(resetView);
-					compute(true);
-					// synchronize the part names
-					((CAEditor)getParentMultiPagesEditor()).setName(getResult().getName());
-					forceFocus();
+		// Listeners
+		SelectionListener listener = new SelectionListener() {
+
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+
+				boolean resetView = false;
+
+				// Change factors
+				if(e.getSource() == plansCombo)	{
+
+					Combo plans = (Combo) e.getSource();
+
+					int dimension1 = 1;
+					int dimension2 = 2;
+
+					String str = plans.getItem(plans.getSelectionIndex());
+					str = str.substring(1, str.length() -1); // remove ( and )
+					String[] split = str.split(","); // 2 items //$NON-NLS-1$
+					dimension1 = Integer.parseInt(split[0]);
+					dimension2 = Integer.parseInt(split[1]);
+
+					getResult().setFirstDimension(dimension1);
+					getResult().setSecondDimension(dimension2);
+
+					resetView = true;
 				}
-				
-				@Override
-				public void widgetDefaultSelected(SelectionEvent e) {
-					// TODO Auto-generated method stub
-				}
-			};
-			plansCombo.addSelectionListener(listener);
-			
-			
-			
-			// advanced parameters
-			// thresholds
+				getResult().setChartDirty();
+				getResult().setNeedsToResetView(resetView);
+				compute(true);
+				// synchronize the part names
+				((CAEditor)getParentMultiPagesEditor()).setName(getResult().getName());
+				forceFocus();
+			}
+
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) {
+				// TODO Auto-generated method stub
+			}
+		};
+		plansCombo.addSelectionListener(listener);
+
+		// advanced parameters
+		// thresholds
+		if (!getResult().isParentVisible()) {
 			ThresholdsGroup thresholdsGroup = new ThresholdsGroup(this.getExtendedParametersGroup(), SWT.NONE, this, true, false);
 			this.fMinSpinner = thresholdsGroup.getFMinSpinner();
-			this.fMaxSpinner = thresholdsGroup.getFMaxSpinner();
 			this.vMaxSpinner = thresholdsGroup.getVMaxSpinner();
 			this.vMaxSpinner.setMinimum(1);
-			
-	
+		}
 	}
 
-
 	@Override
 	public void updateEditorFromChart(boolean update) {
 		// nothing to do
 	}
 
-
-
 }
\ No newline at end of file
