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 1528)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1529)
@@ -821,16 +821,17 @@
 							if(update)	{
 
 								// popup alert to inform user that the result has been manually edited
-								if (TXMEditor.this.getResult().isAltered() && !MessageDialog.openQuestion(getShell(), "Warning", "The result have been edited. Changes will be lost. Do you want to continue?")) {
+								if (TXMEditor.this.getResult().isAltered() && !MessageDialog.openQuestion(getShell(), "Warning", TXMCoreMessages.bind("The {0} has been edited. Its changes will be lost. Do you want to continue?", TXMEditor.this.getResult().getResultype()))) {
 										setCanceled(true);
 								}
 								else	{
-									
+
+									// FIXME: SJ: this code doesn't work well, commented because a rendering parameter change in CA display the popup because of the Eigenvalues children
 									// popup alert to inform user that children results will be recomputed
-									if(!TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)
-											&& TXMEditor.this.getResult().hasChildren() && !MessageDialog.openQuestion(getShell(), "Warning", "All children results based on this one will be recomputed. Do you want to continue?"))	{
-										setCanceled(true);
-									}
+//									if(!TBXPreferences.getInstance().getBoolean(TBXPreferences.EXPERT_USER)
+//											&& TXMEditor.this.getResult().hasChildren() && !MessageDialog.openQuestion(getShell(), "Warning", "All descendant results will be updated. Do you want to continue?"))	{
+//										setCanceled(true);
+//									}
 									
 
 									// subclasses manual result updating from editor fields
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 1528)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/CAEditor.java	(revision 1529)
@@ -78,12 +78,7 @@
 	 */
 	private CA ca;
 
-	public static String SEPARATOR = ""; //$NON-NLS-1$
 
-	public static String COL_TYPE = "Double"; //$NON-NLS-1$
-
-
-
 	@Override
 	protected void createPages() {
 		
@@ -136,8 +131,7 @@
 		editors = new ArrayList<EditorPart>();
 		inputs = new ArrayList<IEditorInput>();
 
-		TXMResultEditorInput caInput = (TXMResultEditorInput) this.getEditorInput();
-		this.ca = (CA) caInput.getResult();
+		this.ca = ((TXMResultEditorInput<CA>) this.getEditorInput()).getResult();
 
 		// Initialize the editor parts and editor inputs
 		this.initCAFactorialMapEditor();
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 1528)
+++ tmp/org.txm.ca.rcp/src/org/txm/ca/rcp/editors/ColsRowsInfosEditor.java	(revision 1529)
@@ -27,44 +27,21 @@
 //
 package org.txm.ca.rcp.editors;
 
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.IStructuredContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.TableViewerColumn;
-import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.FillLayout;
 import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
 import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorSite;
-import org.eclipse.ui.PartInitException;
 import org.txm.Toolbox;
-import org.txm.ca.core.functions.CA;
 import org.txm.ca.rcp.messages.CAUIMessages;
 import org.txm.core.results.TXMResult;
-import org.txm.rcp.StatusLine;
-import org.txm.rcp.editors.ITablableEditorInput;
 import org.txm.rcp.editors.TXMEditor;
 import org.txm.rcp.editors.TXMResultEditorInput;
 import org.txm.rcp.editors.TableKeyListener;
 import org.txm.rcp.editors.TableLinesViewerComparator;
-import org.txm.rcp.editors.TableSorter;
-import org.txm.rcp.editors.input.AbstractTablableEditorInput;
-import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.GLComposite;
 
 /**
@@ -115,29 +92,29 @@
 
 		String[] titles = this.getTableTitles();
 		
-		List<String> coltypes = new ArrayList<String>();
-		coltypes.add(TXMUIMessages.integer);
-		coltypes.add("");
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.COL_TYPE);
-		for (int c = 0; c < 3; c++)// seulement les 3 premiers axes
-		{
-			coltypes.add(CAEditor.SEPARATOR);
-			coltypes.add(CAEditor.COL_TYPE);
-			coltypes.add(CAEditor.COL_TYPE);
-		}
-		coltypes.add(CAEditor.SEPARATOR);
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.COL_TYPE);
-		coltypes.add(CAEditor.SEPARATOR);
+		//List<String> coltypes = new ArrayList<String>();
+//		coltypes.add(TXMUIMessages.integer);
+//		coltypes.add("");
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		for (int c = 0; c < 3; c++)// seulement les 3 premiers axes
+//		{
+//			coltypes.add(CAEditor.SEPARATOR);
+//			coltypes.add(CAEditor.COL_TYPE);
+//			coltypes.add(CAEditor.COL_TYPE);
+//		}
+//		coltypes.add(CAEditor.SEPARATOR);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.COL_TYPE);
+//		coltypes.add(CAEditor.SEPARATOR);
+//		
+		//String[] types = coltypes.toArray(new String[] {});
 		
-		String[] types = coltypes.toArray(new String[] {});
 		
-		
 		for (int i = 0; i < titles.length; i++) {
 			final int index = i;
 			final TableViewerColumn column;
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 1528)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 1529)
@@ -135,7 +135,8 @@
 	private Semaphore progressSemaphore = new Semaphore(1);
 
 	/**
-	 * To keep track of the parameters used for the last computing and to determine if the result is dirty. 
+	 * To keep track of the parameters used for the last computing and to determine if the result is dirty.
+	 * Also permits to optimize computing by testing if a specific parameter value has changed since last computing and skip or not some computing steps. 
 	 */
 	// FIXME: SJ: actually only used by the chart results. Purpose here is that the chart creators need to know if a computing parameter has changed to recreate or not some entity.
 	// The problem is since the result is already computing, the parameters are already updated and the method hasParameterChanged() will always return false. Using this stack fix the problem.
@@ -2196,9 +2197,7 @@
 			this.updateLastParameters();
 
 
-			if(!skipComputing
-					|| this.altered // FIXME: SJ: fix for computing LexicalTable children even if the LT is not dirty but only altered, need to define if it's a temporary fix or not
-					)	{
+			if(!skipComputing)	{
 
 				// store last used parameters
 //				this.updateLastParameters();
@@ -2228,30 +2227,38 @@
 				this.altered = false;
 				
 				Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing of result type " + this.getClass() + " done.");
-
+			}
+			
+			
+			// Children computing
+			if(!skipComputing
+					|| this.altered // FIXME: SJ: fix for computing LexicalTable children even if the LT is not dirty but only altered, need to define if it's a temporary fix or not
+					)	{
+			
 				// set the children as dirty since the result has changed
 				for (int i = 0; i < this.children.size(); i++) {
 					this.children.get(i).setDirty();
 				}
-
+	
 				// Children cascade computing (if parent == null then it is the Workspace (Tree root))
 				if (deepComputing && this.parent != null) {
-
+	
 					Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": cascade computing of " + this.children.size() + " child(ren).");
-
+	
 					for (int i = 0; i < this.children.size(); i++) {
 						this.children.get(i).compute(monitor, deepComputing);
 					}
-
+	
 					// FIXME: SJ: this code generates concurrent modification exceptions when deep computing
 					// here for tests purpose, the code above does not generates exceptions
 					//				for (TXMResult child : this.getChildren()) {
 					//					// recompute only children that has been opened once
 					//					child.compute(monitor, deepComputing);
 					//				}
-
+	
 				}
 			}
+			
 		}
 		catch (Exception e) {
 			e.printStackTrace();
Index: tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/DeleteLines.java
===================================================================
--- tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/DeleteLines.java	(revision 1528)
+++ tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/DeleteLines.java	(revision 1529)
@@ -38,8 +38,9 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.lexicaltable.rcp.editors.LexicalTableEditor;
 import org.txm.rcp.messages.TXMUIMessages;
+
 /**
- * Allow the user to delete lines in a Lexical Table.
+ * Allows the user to delete lines in a Lexical Table.
  * 
  * @author mdecorde
  * @author sjacquot
@@ -70,13 +71,17 @@
 		return null;
 	}
 
-	public static void deleteLexicalTableLines(LexicalTableEditor LTeditor) throws Exception {
-		int[] selection = LTeditor.getlineTableViewer().getTable()
-				.getSelectionIndices();
+	/**
+	 * 
+	 * @param editor
+	 * @throws Exception
+	 */
+	public static void deleteLexicalTableLines(LexicalTableEditor editor) throws Exception {
+		int[] selection = editor.getlineTableViewer().getTable().getSelectionIndices();
 		if (selection.length == 0)
 			return;
 
-		if (selection.length == LTeditor.getLexicalTable().getNRows()) {
+		if (selection.length == editor.getLexicalTable().getNRows()) {
 			System.out.println(TXMUIMessages.theTableMustContainAtLeastOneLine);
 			return;
 		}
@@ -84,17 +89,15 @@
 		Display d = Display.getCurrent();
 		if (d != null) {
 			Shell shell = d.getActiveShell();
-			MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION
-					| SWT.YES | SWT.NO);
+			MessageBox messageBox = new MessageBox(shell, SWT.ICON_QUESTION | SWT.YES | SWT.NO);
 			messageBox.setMessage(TXMUIMessages.common_areYouSure);
-			int response = messageBox.open();
-			if (response != SWT.YES)
+			if (messageBox.open() != SWT.YES)
 				return;
 		}
 
-		LTeditor.getLexicalTable().getData().removeRows(selection);
-		LTeditor.getLexicalTable().setAltered();
-		LTeditor.compute(false);
+		editor.getLexicalTable().getData().removeRows(selection);
+		editor.getLexicalTable().setAltered();
+		editor.compute(false);
 	}
 
 }
\ No newline at end of file
