Index: tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java
===================================================================
--- tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 1443)
+++ tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java	(revision 1444)
@@ -26,6 +26,7 @@
 import org.txm.chartsengine.rcp.swt.AdvancedChartEditorToolBar;
 import org.txm.chartsengine.rcp.swt.ChartComposite;
 import org.txm.chartsengine.rcp.swt.ChartEditorToolBar;
+import org.txm.core.messages.TXMCoreMessages;
 import org.txm.rcp.editors.TXMEditor;
 import org.txm.rcp.editors.TXMMultiPageEditor;
 import org.txm.utils.logger.Log;
@@ -248,7 +249,7 @@
 		boolean needInit = (this.chartComposite.getChartComponent() == null) && (this.getResult().getChart() != null);
 		
 		// loading chart
-		this.getResult().subTask("Loading chart."); //$NON-NLS-1$
+		this.getResult().subTask(TXMCoreMessages.bind("Loading chart of type {0}.", this.getResult().getResultype())); //$NON-NLS-1$
 		this.loadChart();
 		
 		
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 1443)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAFactorialMapChartEditor.java	(revision 1444)
@@ -103,13 +103,13 @@
 		GLComposite mainParametersArea = this.getMainParametersComposite();
 
 		try {
-			// parent parameters
+			// display lexical table parameters if it is not visible
 			if (!this.getResult().getParent().isVisible())	{
 				mainParametersArea.getLayout().numColumns = 2;
 
 				// unit property
 				new Label(mainParametersArea, SWT.NONE).setText(TXMCoreMessages.common_property);
-				this.unitPropertyComboViewer = new PropertiesComboViewer(mainParametersArea, this, true,
+				this.unitPropertyComboViewer = new PropertiesComboViewer(mainParametersArea, this, false,
 						CQPCorpus.getFirstParentCorpus(this.getResult()).getOrderedProperties(),
 						this.getResult().getUnitProperty(), false);
 			}
@@ -232,7 +232,8 @@
 				getResult().setNeedsToResetView(resetView);
 				compute(true);
 				// synchronize the part names
-				((CAEditor)getParentMultiPagesEditor()).setName(getResult().getName());
+				// FIXME: became useless?
+				//((CAEditor)getParentMultiPagesEditor()).setPartName(getResult().getName());
 				forceFocus();
 			}
 
@@ -246,7 +247,7 @@
 		// parent parameters
 		// thresholds
 		if (!this.getResult().isParentVisible()) {
-			ThresholdsGroup thresholdsGroup = new ThresholdsGroup(this.getExtendedParametersGroup(), SWT.NONE, this, true, false);
+			ThresholdsGroup thresholdsGroup = new ThresholdsGroup(this.getExtendedParametersGroup(), SWT.NONE, this, false, false);
 			this.fMinSpinner = thresholdsGroup.getFMinSpinner();
 			this.vMaxSpinner = thresholdsGroup.getVMaxSpinner();
 			this.vMaxSpinner.setMinimum(1);
@@ -257,14 +258,17 @@
 	@Override
 	public void updateEditorFromChart(boolean update) {
 		
+		// update the parent multipart editor partname
+		this.parentMultiPagesEditor.setPartName(this.getResult().getName());
+		
 		// Updating complementary editors
 		try {
-			// singular values
+			// eigenvalues table
 			((TXMEditor)this.parentMultiPagesEditor.getEditors().get(1)).refresh(update);
-			// cols and rows
+			// cols and rows tables
 			((ColsRowsInfosEditor)this.parentMultiPagesEditor.getEditors().get(2)).refresh(update);
 			((ColsRowsInfosEditor)this.parentMultiPagesEditor.getEditors().get(3)).refresh(update);
-			// eigenvalues
+			// eigenvalues chart
 			((EigenvaluesChartEditor)this.parentMultiPagesEditor.getEditors().get(4)).refresh(update);
 		}
 		catch (Exception e) {
Index: tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java
===================================================================
--- tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java	(revision 1443)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java	(revision 1444)
@@ -191,17 +191,6 @@
 	public abstract String[] getTableTitles();
 	
 	
-	@Override
-	public void updateEditorFromResult(boolean update) throws Exception {
-
-		this.viewer.setInput(this.getTableInput());
-		
-		// Pack the columns
-		TXMEditor.packColumns(this.viewer);
-
-	}
-	
-	
 	/**
 	 * Gets the ordered labels according to the current table sort.
 	 * @return
@@ -234,8 +223,6 @@
 	}
 
 
-
-
 	@Override
 	public void updateResultFromEditor() {
 		// TODO Auto-generated method stub
@@ -243,5 +230,16 @@
 	}
 
 
+	@Override
+	public void updateEditorFromResult(boolean update) throws Exception {
 
+		this.viewer.setInput(this.getTableInput());
+		
+		// Pack the columns
+		TXMEditor.packColumns(this.viewer);
+
+	}
+	
+	
+
 }
\ No newline at end of file
Index: tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java
===================================================================
--- tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java	(revision 1443)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java	(revision 1444)
@@ -83,24 +83,11 @@
 	 */
 	private CA ca;
 
-	/**
-	 * The main editor is the editor on the left area and that is always visible (not tabbed).
-	 */
-	protected EditorPart mainEditor;
-
-
 	//public static String SEPARATOR = "SEPARATOR"; //$NON-NLS-1$
 	public static String SEPARATOR = ""; //$NON-NLS-1$
 
 	public static String COL_TYPE = "Double"; //$NON-NLS-1$
 
-	/** The names. */
-	private List<String> names = Arrays.asList(new String[] {
-			CAUIMessages.factPlan,
-			CAUIMessages.eigenvalues,
-			CAUIMessages.rowsInfos,
-			CAUIMessages.colsInfos,
-			CAUIMessages.eigenvaluesHistogram });
 
 
 	/* (non-Javadoc)
@@ -108,6 +95,12 @@
 	 */
 	@Override
 	protected void createPages() {
+		
+		
+		/** The names. */
+		this.names = Arrays.asList(new String[] {CAUIMessages.factPlan, CAUIMessages.eigenvalues, CAUIMessages.rowsInfos, CAUIMessages.colsInfos, CAUIMessages.eigenvaluesHistogram });
+
+		
 		Composite container = this.getContainer();
 		final Composite parentContainer = container.getParent();
 
@@ -196,12 +189,12 @@
 
 			// add the other editors
 			for (int i = 1; i < editors.size(); i++) {
-				int editorIndex = 0;
-				editorIndex = this.addPage(editors.get(i), inputs.get(i));
-				setPageText(editorIndex, names.get(i));
+				int editorIndex = this.addPage(editors.get(i), inputs.get(i));
+				this.setPageText(editorIndex, this.names.get(i));
 			}
 	
-	
+			// to force the creation of the chart component and then add some listeners to it
+			// FIXME: this code may be moved in CaFactorialMapChartEditor class
 			caFactorialMapEditorPart.refresh(false);
 
 			// Axis unit square ratio constraint
@@ -310,7 +303,7 @@
 	public void initCAFactorialMapEditor()	{
 
 		// Editor part
-		ChartEditor caFactorialMapEditorPart = new CAFactorialMapChartEditor(new ChartEditorInput<CA>(ca));
+		ChartEditor caFactorialMapEditorPart = new CAFactorialMapChartEditor(new ChartEditorInput<CA>(this.ca));
 		//caFactorialMapEditorPart.compute(false);
 		editors.add(caFactorialMapEditorPart);
 
@@ -395,7 +388,7 @@
 
 	/**
 	 * Gets the rows information editor.
-	 * @return
+	 * @return the rows information editor
 	 */
 	public ColsRowsInfosEditor getRowsInfosEditor()	{
 		return (ColsRowsInfosEditor) this.editors.get(2);
@@ -403,15 +396,15 @@
 
 	/**
 	 * Gets the columns information editor.
-	 * @return
+	 * @return the columns information editor
 	 */
 	public ColsRowsInfosEditor getColsInfosEditor()	{
 		return (ColsRowsInfosEditor) this.editors.get(3);
 	}
 
 	/**
-	 * Gets the chart factorial map chart editor.
-	 * @return
+	 * Gets the factorial map chart editor.
+	 * @return the factorial map chart editor
 	 */
 	public ChartEditor getChartEditor()	{
 		return (ChartEditor) this.editors.get(0);
@@ -426,50 +419,40 @@
 		//		editors.get(4).setFocus();
 	}
 
-	@Override
-	public boolean usingParent(TXMResult parent) {
-		if (ca != null && ca.getParent() != null) 
-			return ca.getParent().getName().equals(parent.getName());
-		return false;
-	}
+//	@Override
+//	public boolean usingParent(TXMResult parent) {
+//		if (ca != null && ca.getParent() != null) 
+//			return ca.getParent().getName().equals(parent.getName());
+//		return false;
+//	}
+//
+//
+//
+//	@Override
+//	public TXMResult getResultData() {
+//		return ca;
+//	}
+//
+//
+//	@Override
+//	public void refresh() {
+//		System.out.println("ca.refresh() not implemented."); //$NON-NLS-1$
+//	}
+//
+//
+//	@Override
+//	public void synchronize() {
+//		System.out.println("ca.synchronize() not implemented."); //$NON-NLS-1$
+//	}
+//
+//	@Override
+//	public boolean deleteResult() {
+//		return ca.delete();
+//	}
+//
+//	@Override
+//	public void close(boolean deleteResult) {
+//		((ChartEditor)editors.get(0)).close(deleteResult);
+//	}
 
-	@Override
-	public EditorPart getMainEditorPart() {
-		return this.mainEditor;
-	}
-
-	@Override
-	public TXMResult getResultData() {
-		return ca;
-	}
-
-
-	@Override
-	public void refresh() {
-		System.out.println("ca.refresh() not implemented."); //$NON-NLS-1$
-	}
-
-
-	@Override
-	public void synchronize() {
-		System.out.println("ca.synchronize() not implemented."); //$NON-NLS-1$
-	}
-
-	@Override
-	public boolean deleteResult() {
-		return ca.delete();
-	}
-
-	@Override
-	public void close(boolean deleteResult) {
-		((ChartEditor)editors.get(0)).close(deleteResult);
-	}
-
-
-	
-
-	@Override
-	public void setName(String partName) {
-		this.setPartName(partName);
-	}
 }
\ No newline at end of file
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/ITXMPartEditor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/ITXMPartEditor.java	(revision 1443)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/ITXMPartEditor.java	(revision 1444)
@@ -2,6 +2,8 @@
 
 import org.txm.core.results.TXMResult;
 
+// FIXME: SJ: no more in use, need to check if its really needed then update it to match the new TXMEditor methods or wipe this class
+@Deprecated
 public interface ITXMPartEditor {
 
 	public boolean isDirty();
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 1443)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1444)
@@ -56,6 +56,7 @@
 import org.eclipse.ui.IWorkbenchWindow;
 import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.internal.browser.SWTUtil;
 import org.eclipse.ui.menus.IMenuService;
 import org.eclipse.ui.part.EditorPart;
 import org.txm.core.messages.TXMCoreMessages;
@@ -730,12 +731,11 @@
 	 * Synchronizes the result data from the editor data.
 	 */
 	public void synchronizeResultFromEditor()	{
-		// FIXME: DEbug
+		
 		Log.finest("TXMEditor.syncrhonizeResultFromEditor(): " + this.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$
 		this.updateResultFromEditor(); // subclasses manual result updating from editor fields
-		// FIXME: DEbug
-		Log.finest("TXMEditor.syncrhonizeResultFromEditor(): " + this.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
 
+		Log.finest("TXMEditor.syncrhonizeResultFromEditor(): " + this.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
 		this.autoUpdateResultFromEditorParameters(); // auto updating result from Parameter annotations in result <=> editor
 
 		// Stores the last parameters before the computing to later auto-update the Widgets only if some parameters have changed 
@@ -907,27 +907,29 @@
 	 * @throws Exception 
 	 */
 	public final void refresh(boolean update) throws Exception {
-		if (!createPartControlDoneSucessfully) return; // no refresh
+		
+		if (!createPartControlDoneSucessfully) {
+			return; // no refresh
+		}
 		notifyExtensions("notifyStartOfRefresh"); //$NON-NLS-1$
 
 		TXMResult result = this.getResult();
 
-		// FIXME: debug test to not draw while updating the widgets
 		this.getContainer().setRedraw(false);
 
 		this.setPartName(result.getName());
-		this.firePropertyChange(TXMEditor.PROP_DIRTY);
+		//this.firePropertyChange(TXMEditor.PROP_DIRTY);
 
 		//MD commented 'if (!update) {...}'
 		// SJ need to check all works, it also was dedicated to not refresh the Editor from result after a computing, it's not needed since the computing has been done
 		// from fields themselves
 		//if (!update) {
 		// FIXME: debug
-		Log.finest("TXMEditor.refresh(): auto updating editor from result."); //$NON-NLS-1$
+		Log.finest("TXMEditor.refresh(): " + this.getClass().getSimpleName() + ": auto updating editor from result."); //$NON-NLS-1$
 		this.autoUpdateEditorFieldsFromResult(update); // auto update from Parameter annotations
 
 		// FIXME: debug
-		Log.finest("TXMEditor.refresh(): updating subclass editor (" + getClass().getSimpleName() + ") from result."); //$NON-NLS-1$ //$NON-NLS-2$
+		Log.finest("TXMEditor.refresh(): " + this.getClass().getSimpleName() + ": updating subclass editor from result."); //$NON-NLS-1$ //$NON-NLS-2$
 		this.updateEditorFromResult(update); // subclasses manual settings
 		//}
 
@@ -943,68 +945,32 @@
 		CorporaView.refreshObject(this);
 		TXMResultDebugView.refreshView();
 
-		// FIXME: debug test to not draw while updating the widgets
 		this.getContainer().setRedraw(true);
 
-		/// FIXME: SJ: dirty state tests
 		this.setDirty(false);
 
 
-		// FIXME: update all open editors of the children result
-		// FIXME: prob here is that updateEditorFromResult() doesn't enough because the compute() method does some other stuff
-		// so the cascade computing may be done here rather than in TXMResult.compute() or we need to move some stuff from TXMEditor.compute() to
-		// TXMEditor.updateEditorFromResult(), eg. the chart loading
-		// WARNING: At This moment, with this code, TXMResult.compute() of the children is called twice
-		for (IEditorReference reference : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()) {
-			IEditorPart editor = reference.getEditor(false);
+		// FIXME: update all open editors of the children result but also of the result itself
+		// FIXME: debug
+		Log.finest("TXMEditor.refresh(): " + this.getClass().getSimpleName() + ": synchronizing and refreshing editors that share this editor result but also result children editors."); //$NON-NLS-1$ //$NON-NLS-2$
 
-			// TXMEditor
-			if(editor != null && editor instanceof TXMEditor && editor != this)	{
-				TXMEditor txmEditor = ((TXMEditor)editor);
-				if(this.getResult().isChild(txmEditor.getResult()))	{
+		List<TXMResult> results = this.getResult().getDeepChildren();
+		//results.add(this.getResult());
 
-
-
-					//											Log.finest("TXMEditor.refresh(): updating editor for result: " + txmEditor.getResult().getSimpleName());
-					//											Log.finest("TXMEditor.refresh(): " + txmEditor.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$
-					//											txmEditor.updateResultFromEditor(); // subclasses manual result updating from editor fields
-					//											// FIXME: DEbug
-					//											Log.finest("TXMEditor.refresh(): " + txmEditor.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
-					//											txmEditor.autoUpdateResultFromEditorParameters(); // auto updating result from Parameter annotations in result <=> editor
-
+		
+		for (int i = 0; i < results.size(); i++) {
+			ArrayList<TXMEditor> editors = SWTEditorsUtils.getEditors(results.get(i)) ;
+			for (int j = 0; j < editors.size(); j++) {
+				TXMEditor txmEditor = editors.get(j);
+				if(txmEditor != this
+						//&& txmEditor.isDirty()
+						)	{
 					txmEditor.synchronizeResultFromEditor();
-
-					//txmEditor.compute(false);
-					//txmEditor.updateEditorFromResult(true);
 					txmEditor.refresh(true);
 				}
 			}
-			// TXMMultiPageEditor
-			else if(editor != null && editor instanceof TXMMultiPageEditor && editor != this)	{
-				TXMMultiPageEditor txmMultipageEditor = ((TXMMultiPageEditor)editor);
-				for (int i = 0; i < txmMultipageEditor.getEditors().size(); i++) {
-					if(txmMultipageEditor.getEditors().get(i) instanceof TXMEditor && txmMultipageEditor.getEditors().get(i) != this)	{
-						TXMEditor txmEditor = ((TXMEditor)txmMultipageEditor.getEditors().get(i));
-						if(this.getResult().isChild(txmEditor.getResult()))	{
-							//													Log.finest("TXMEditor.refresh(): updating editor for result: " + txmEditor.getResult().getSimpleName());
-							//													Log.finest("TXMEditor.refresh(): " + txmEditor.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$
-							//													txmEditor.updateResultFromEditor(); // subclasses manual result updating from editor fields
-							//													// FIXME: DEbug
-							//													Log.finest("TXMEditor.refresh(): " + txmEditor.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
-							//													txmEditor.autoUpdateResultFromEditorParameters(); // auto updating result from Parameter annotations in result <=> editor
-							//													//txmEditor.compute(false);
-							//													//txmEditor.updateEditorFromResult(true);
-
-							txmEditor.synchronizeResultFromEditor();
-
-							txmEditor.refresh(true);
-						}
-					}
-				}
-
-			}
 		}
-
+		
 		notifyExtensions("notifyEndOfRefresh"); //$NON-NLS-1$
 	}
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMMultiPageEditor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMMultiPageEditor.java	(revision 1443)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMMultiPageEditor.java	(revision 1444)
@@ -27,16 +27,15 @@
 //
 package org.txm.rcp.editors;
 
+import java.util.Iterator;
 import java.util.List;
 
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.osgi.util.NLS;
 import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.part.EditorPart;
 import org.eclipse.ui.part.MultiPageEditorPart;
 import org.txm.rcp.editors.input.IProvidingMultiPageEditorInput;
-import org.txm.rcp.messages.TXMUIMessages;
 
 /**
  * A GenericMultiPageEditor is a MultiPageEditor whose content and behavior is
@@ -46,7 +45,7 @@
  */
 //FIXME: the editors should not be retrieve from the editor input that should not itself store or create some UI components
 @Deprecated
-public abstract class TXMMultiPageEditor extends MultiPageEditorPart implements ITXMPartEditor {
+public abstract class TXMMultiPageEditor extends MultiPageEditorPart {
 
 	/** The Constant ID. */
 	public static final String ID = "org.txm.rcp.editors.GenericMultiPageEditor"; //$NON-NLS-1$
@@ -63,6 +62,11 @@
 	/** The names. */
 	protected List<String> names;
 
+	/**
+	 * A main editor can be defined and accessed if needed.
+	 */
+	protected EditorPart mainEditor;
+
 //
 //
 //	/* (non-Javadoc)
@@ -142,6 +146,7 @@
 	 */
 	@Override
 	public void dispose() {
+		// FIXME: SJ: useless? the parent method should already do that, need to test furthermore
 		for (int i = 0; i < editors.size(); i++) {
 			editors.get(i).dispose();
 		}
@@ -163,4 +168,35 @@
 	public List<EditorPart> getEditors() {
 		return editors;
 	}
+	
+	
+	@Override
+	public boolean isDirty() {
+		// return true if one of the editors is dirty
+		for (Iterator i = this.editors.iterator(); i.hasNext();) {
+			IEditorPart editor = (IEditorPart) i.next();
+			if (editor.isDirty()) {
+				return true;
+			}
+		}
+		return super.isDirty();
+	}
+
+	
+	/**
+	 * Gets the main editor if defined otherwise null.
+	 * @return the main editor if defined otherwise null
+	 */
+	public EditorPart getMainEditorPart() {
+		return this.mainEditor;
+	}
+	
+
+	/**
+	 * Sets the part name.
+	 */
+	public void setPartName(String partName) {
+		super.setPartName(partName);
+	}
+	
 }
\ No newline at end of file
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java	(revision 1443)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java	(revision 1444)
@@ -3,6 +3,8 @@
  */
 package org.txm.rcp.utils;
 
+import java.util.ArrayList;
+
 import org.eclipse.e4.ui.model.application.ui.MUIElement;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
 import org.eclipse.e4.ui.model.application.ui.basic.MPartSashContainerElement;
@@ -18,6 +20,8 @@
 import org.eclipse.ui.PlatformUI;
 import org.eclipse.ui.part.EditorPart;
 import org.txm.core.results.TXMResult;
+import org.txm.rcp.editors.TXMEditor;
+import org.txm.rcp.editors.TXMMultiPageEditor;
 import org.txm.rcp.editors.TXMResultEditorInput;
 
 /**
@@ -32,22 +36,77 @@
 	
 	/**
 	 * Gets an editor for the specified result if its opened.
-	 * @param result
+	 * @param result the result used by the editor to find
 	 * @return the editor if its opened otherwise null
 	 */
 	public static IEditorPart getEditor(TXMResult result)	{
 
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 		IWorkbenchPage page = window.getActivePage();
-//		IEditorReference[] editorsReferences = page.findEditors(editorInput, editorId, IWorkbenchPage.MATCH_INPUT | IWorkbenchPage.MATCH_ID);
-//		if(editorsReferences.length > 0)	{
-//			return editorsReferences[0].getEditor(false);
-//		}
-//		return null;
-
+		
 		return page.findEditor(new TXMResultEditorInput<TXMResult>(result));
 	}
 	
+	
+	public static ArrayList<TXMEditor> getEditors(TXMResult result)	{
+		
+		ArrayList<TXMEditor> editors = new ArrayList<TXMEditor>();
+		
+		for (IEditorReference reference : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()) {
+			IEditorPart tmpEditor = reference.getEditor(false);
+	
+			if(tmpEditor instanceof TXMEditor && ((TXMEditor)tmpEditor).getResult() == result)	{
+				editors.add((TXMEditor) tmpEditor);
+			}
+			else if(tmpEditor instanceof TXMMultiPageEditor)	{
+				TXMMultiPageEditor txmMultipageEditor = ((TXMMultiPageEditor)tmpEditor);
+				for (int i = 0; i < txmMultipageEditor.getEditors().size(); i++) {
+					if(txmMultipageEditor.getEditors().get(i) instanceof TXMEditor)	{
+						TXMEditor txmEditor = ((TXMEditor)txmMultipageEditor.getEditors().get(i));
+						if(txmEditor.getResult() == result)	{
+							editors.add(txmEditor);
+						}
+					}
+				}
+				
+			}
+		}
+		
+		return editors;
+		
+	}
+	
+//	// FIXME: SJ: seems useless since page.findEditor() seem to return the multipage editor if a nested editor exists? 
+//	/***
+//	 * Gets an editor for the specified result if its opened inside a TXMMultiPageEditor.
+//	 * @param result the result used by the editor to find
+//	 * @return the editor if its opened otherwise null
+//	 */
+//	public static IEditorPart getEditorInMultiPageEditor(TXMResult result)	{
+//		
+//		IEditorPart editor = null;
+//		
+//		for (IEditorReference reference : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()) {
+//			IEditorPart tmpEditor = reference.getEditor(false);
+//
+//			if(tmpEditor instanceof TXMMultiPageEditor)	{
+//				TXMMultiPageEditor txmMultipageEditor = ((TXMMultiPageEditor)tmpEditor);
+//				for (int i = 0; i < txmMultipageEditor.getEditors().size(); i++) {
+//					if(txmMultipageEditor.getEditors().get(i) instanceof TXMEditor)	{
+//						TXMEditor txmEditor = ((TXMEditor)txmMultipageEditor.getEditors().get(i));
+//						if(txmEditor.getResult() == result)	{
+//							editor = txmEditor;
+//							break;
+//						}
+//					}
+//				}
+//				
+//			}
+//		}
+//		
+//		return editor;
+//	}
+	
 	/**
 	 * Checks if the editor specified by its editor input is already open in the active page.
 	 * @param editorInput
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java	(revision 1443)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java	(revision 1444)
@@ -43,7 +43,11 @@
 		String label = ((TXMResult) result).getCurrentName();
 
 		IEditorPart editor = SWTEditorsUtils.getEditor((TXMResult) result);
-
+//		// also look in multipage editors
+//		if(editor == null)	{
+//			editor = SWTEditorsUtils.getEditorInMultiPageEditor(((TXMResult) result));
+//		}
+		
 		if(editor != null && editor.isDirty())	{
 			label += " *";
 		}
