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 2578)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 2579)
@@ -9,8 +9,6 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.Timer;
-import java.util.TimerTask;
 
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IProgressMonitor;
@@ -22,8 +20,6 @@
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
@@ -43,6 +39,7 @@
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Group;
 import org.eclipse.swt.widgets.Menu;
+import org.eclipse.swt.widgets.ProgressBar;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.swt.widgets.Spinner;
 import org.eclipse.swt.widgets.Table;
@@ -393,25 +390,6 @@
 		
 		try {
 			
-			// since some editor fields need some values of their parent,
-			// ensure the parents branch is ready (e.g. Sub-corpus properties in Cooccurrence editor, etc.)
-			// show modal blocking cancelable progression dialog
-			try {
-				if (!this.getResult().getParent().hasBeenComputedOnce()) {
-					AdvancedProgressMonitorDialog dialog = new AdvancedProgressMonitorDialog(this.getSite().getShell(), TXMEditor.this.getResult().getParent());
-					dialog.runComputingProcess(true);
-				}
-			}
-			// Canceling
-			catch (InterruptedException e) {
-				
-				CorporaView.refresh();
-				this.close();
-				
-				return;
-			}
-			
-			
 			this.parent = parent;
 			
 			// disable the rendering while creating the widgets
@@ -900,6 +878,8 @@
 		
 		StatusLine.setMessage(this.getResult().getComputingStartMessage());
 		
+		// FIXME: SJ: tests to hide/display the result area while computing
+		// this.resultArea.setVisible(false);
 		
 		this.computingJob = new JobHandler(TXMCoreMessages.bind(TXMUIMessages.computing, this.getResult().getName())) {
 			
@@ -1015,9 +995,11 @@
 								
 								StatusLine.setMessage(TXMEditor.this.getResult().getComputingDoneMessage());
 								
-								// FIXME: SJ: tests to enable/disable the editor widgets when computing
+								// FIXME: SJ: tests to enable/disable the editor widgets while computing
 								// recursiveSetEnabled(true);
 								
+								// FIXME: SJ: tests to hide/display the result area while computing
+								// resultArea.setVisible(true);
 							}
 							catch (Exception e) {
 								Log.finer("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": Error while refreshing the editor: " + e); //$NON-NLS-1$
@@ -1030,8 +1012,6 @@
 				catch (ThreadDeath | InterruptedException e) {
 					// FIXME: SJ: should call clean() and/or set the result as dirty?
 					return Status.CANCEL_STATUS;
-					// FIXME: SJ tests, but it doesn't seem to improve the canceling, need to check more
-					// throw td;
 				}
 				catch (Exception e) {
 					TXMEditor.this.getResult().resetComputingState();
@@ -1045,17 +1025,10 @@
 			}
 		};
 		
-		// FIXME: SJ: tests to show busy cursor
-		// IProgressService ps = PlatformUI.getWorkbench().getProgressService();
-		// ps.showInDialog(null, job);
-		// ps.busyCursorWhile(job);
+		this.computingJob.setPriority(Job.DECORATE);
+		this.computingJob.setUser(true);
+		this.computingJob.schedule();
 		
-		computingJob.setPriority(Job.DECORATE);
-		// FIXME: SJ tests
-		// job.setPriority(Job.INTERACTIVE);
-		computingJob.setUser(true);
-		computingJob.schedule();
-		
 		return computingJob;
 	}
 	
@@ -1091,6 +1064,27 @@
 			// editorInput.getResult().compute(false);
 			// }
 			
+			
+			// since some editor fields need some values of their parent,
+			// ensure the parents branch is ready (e.g. Sub-corpus properties in Cooccurrence editor, etc.)
+			// show modal blocking cancelable progression dialog
+			if (!wasAlreadyOpened) {
+				try {
+					if (!editorInput.getResult().getParent().hasBeenComputedOnce()) {
+						AdvancedProgressMonitorDialog dialog = new AdvancedProgressMonitorDialog(window.getShell(), editorInput.getResult().getParent());
+						dialog.runComputingProcess(true);
+					}
+				}
+				// Canceling
+				catch (InterruptedException e) {
+					
+					CorporaView.refresh();
+					
+					return null;
+				}
+			}
+			
+			
 			// opening the editor
 			IEditorPart e = page.openEditor(editorInput, editorId, true, IWorkbenchPage.MATCH_INPUT | IWorkbenchPage.MATCH_ID);
 			if (e instanceof TXMEditor) {
