Index: TXM/trunk/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java
===================================================================
--- TXM/trunk/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java	(revision 3432)
+++ TXM/trunk/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java	(revision 3433)
@@ -32,6 +32,7 @@
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
+import java.io.PrintWriter;
 import java.io.Writer;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -204,7 +205,7 @@
 		@Override
 		public String toString() {
 			return occ + CooccurrenceCoreMessages.fColon + freq + CooccurrenceCoreMessages.occColon + nbocc + CooccurrenceCoreMessages.scoreColon + score + CooccurrenceCoreMessages.meanDistColon
-					+ distmoyenne + CooccurrenceCoreMessages.propertiesColon + props;
+					+ distmoyenne + CooccurrenceCoreMessages.propertiesColon + props+debug;
 		}
 	}
 
@@ -1347,7 +1348,7 @@
 	 */
 	public boolean stepCount() {
 		// ArrayList<Integer> keepedPosition = new ArrayList<>();
-
+		//PrintWriter debugWriter = new PrintWriter(new File("/home/mdecorde/debugcooc.txt"));
 		int startsearchM2 = 0; // optimisation: m2 is ordered
 		int startsearchM3 = 0; // optimisation: m3 is ordered
 		// time = System.currentTimeMillis();
@@ -1411,7 +1412,7 @@
 					continue;
 				}
 
-				if (allsignaturesstr.get(position).equals("[succès]")) {
+				if (allsignaturesstr.get(position).equals("[1308]")) {
 					int a = 1+1;
 				}
 				
@@ -1464,12 +1465,12 @@
 				counts.put(signaturestr, 1);
 			}
 			
-			if (allsignaturesstr.get(position).equals("[succès]")) {
-				int b = 1+1;
+			if (allsignaturesstr.get(position).equals("[1308]")) {
+				System.out.println("dist= "+dist+" distances="+distances.get(signaturestr)+" counts="+counts.get(signaturestr));
 			}
 
 			// if ("[1599]".equals(signaturestr)) {
-			//System.out.println("sign="+allsignaturesstr.get(position)+" p=" + position + " c=" + counts.get(signaturestr) + " d=" + dist + " total(d)=" + distances.get(signaturestr)); 
+			//	System.out.println("sign="+allsignaturesstr.get(position)+" p=" + position + " c=" + counts.get(signaturestr) + " d=" + dist + " total(d)=" + distances.get(signaturestr)); 
 			// }
 			// }
 
@@ -1589,7 +1590,7 @@
 						indexfreqs.get(specifrownames[ii]), scores[ii][1], // freq
 						((float) (distances.get(signaturestr) / counts.get(signaturestr))), // mean distance
 						-1);
-				cline.debug = ""+this;
+				cline.debug = "";//" "+signaturestr;
 				// System.out.println("Line: "+specifrownames[ii]+" dists="+distances.get(signaturestr)+" counts="+counts.get(signaturestr)+" mean="+((float) (distances.get(signaturestr) / counts.get(signaturestr))));
 				// select the line
 				if (cline.freq >= this.pFminFilter && cline.nbocc >= this.pFCoocFilter && cline.score >= this.pScoreMinFilter) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchWindowAdvisor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchWindowAdvisor.java	(revision 3432)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchWindowAdvisor.java	(revision 3433)
@@ -54,7 +54,9 @@
 import org.txm.annotation.core.AnnotationEngine;
 import org.txm.annotation.core.AnnotationEnginesManager;
 import org.txm.core.engines.EngineType;
+import org.txm.core.results.TXMResult;
 import org.txm.objects.CorpusBuild;
+import org.txm.objects.Project;
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.utils.logger.Log;
 
@@ -175,18 +177,38 @@
 	 * @see WorkbenchAdvisor#preShutdown()
 	 */
 	public boolean preWindowShellClose() {
+		
+		ArrayList<TXMResult> altered = new ArrayList<>();
+		for (Project project : Toolbox.workspace.getProjects()) {
+			for (TXMResult result : project.getDeepChildren()) {
+				if (result.isAltered()) {
+					altered.add(result);
+				}
+			}
+		}
+		
+		if (altered.size() > 0) {
+			StringBuilder mess = new StringBuilder();
+			mess.append("Some result have been manually modified: ");
+			for (TXMResult result : altered) {
+				mess.append("\n- "+result.getName()+ " ("+result.getResultType()+") : "+result.getSimpleDetails());
+			}
+			mess.append("\n\nYou're going to lost those modifications. Continue?");
+			return MessageDialog.openConfirm(this.getWindowConfigurer().getWindow().getShell(), "Some result are modified", mess.toString());
+		}
+		
 		AnnotationEnginesManager aem = (AnnotationEnginesManager) Toolbox.getEngineManager(EngineType.ANNOTATION);
 		HashMap<CorpusBuild, ArrayList<AnnotationEngine>> notSaved = aem.getEnginesWithSaveNeededPerCorpus();
 		if (notSaved.size() > 0) {
 			StringBuilder mess = new StringBuilder();
 			mess.append( "Some annotations are not saved for corpus and engines:");
 			for (CorpusBuild corpus : notSaved.keySet())  {
-				mess.append("\n- "+corpus+":");
+				mess.append("\n- "+corpus.getName()+": "+corpus.getSimpleDetails());
 				for (AnnotationEngine a: notSaved.get(corpus)) {
 					mess.append("\n  - "+a.getName());
 				}
 			}
-			mess.append("\n\nContinue and lost the unsaved annotations ?");
+			mess.append("\n\nContinue and lost the unsaved annotations ");
 			return MessageDialog.openConfirm(this.getWindowConfigurer().getWindow().getShell(), "Some annotations are not saved", mess.toString());
 		} else {
 			return true;
Index: TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java
===================================================================
--- TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 3432)
+++ TXM/trunk/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java	(revision 3433)
@@ -33,6 +33,9 @@
 
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.ColumnViewerToolTipSupport;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
@@ -344,6 +347,16 @@
 		
 		viewer.setLabelProvider(new LineLabelProvider());
 		viewer.setContentProvider(new LineContentProvider());
+		viewer.getTable().setToolTipText("");
+		viewer.addPostSelectionChangedListener(new ISelectionChangedListener() {
+			
+			@Override
+			public void selectionChanged(SelectionChangedEvent event) {
+				
+				viewer.getTable().setToolTipText(viewer.getStructuredSelection().toList().toString());
+			}
+		});
+		//ColumnViewerToolTipSupport.enableFor(viewer);
 		
 		nColumn = new TableColumn(viewer.getTable(), SWT.RIGHT);
 		nColumn.setText(" "); //$NON-NLS-1$
