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 1479)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 1480)
@@ -332,24 +332,19 @@
 	}
 	
 	/**
-	 * Locks the result -> cannot be recomputed.
-	 */
-	public void lock() {
-		this.locked = true;
-	}
-	
-	/**
-	 * Unlocks the result -> can be recomputed.
-	 */
-	public void unLock() {
-		this.locked = false;
-	}
-
-	/**
 	 * Locks/unlocks the result.
 	 */
 	public void setLocked(boolean state) {
 		this.locked = state;
+		
+		if (locked && this.parent != null) {
+			this.parent.setLocked(true);
+		}
+		if (!locked) {
+			for (TXMResult child : getChildren()) {
+				child.setUserPersistable(false);
+			}
+		}
 	}
 	
 	/**
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMEditorSWTDebugView.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMEditorSWTDebugView.java	(revision 1479)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMEditorSWTDebugView.java	(revision 1480)
@@ -38,15 +38,23 @@
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerCell;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.MouseEvent;
+import org.eclipse.swt.events.MouseListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Color;
+import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.layout.RowLayout;
 import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Layout;
+import org.eclipse.swt.widgets.Spinner;
 import org.eclipse.swt.widgets.ToolBar;
 import org.eclipse.ui.IPartListener;
 import org.eclipse.ui.IPartService;
@@ -70,6 +78,10 @@
 	 * Display area.
 	 */
 	protected TreeViewer treeViewer;
+	private TreeViewerColumn layoutDataColumn;
+	private TreeViewerColumn layoutColumn;
+	private TreeViewerColumn nameColumn;
+	protected Point mousePosition;
 
 	/**
 	 * Instantiates a new queries view.
@@ -89,13 +101,13 @@
 	public void createPartControl(Composite parent) {
 		treeViewer = new TreeViewer (parent, SWT.NONE);
 		treeViewer.setContentProvider(new ITreeContentProvider() {
-			
+
 			@Override
 			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { }
-			
+
 			@Override
 			public void dispose() { }
-			
+
 			@Override
 			public boolean hasChildren(Object element) {
 				if (element instanceof Composite) {
@@ -105,7 +117,7 @@
 				}
 				return false;
 			}
-			
+
 			@Override
 			public Object getParent(Object element) {
 				if (element instanceof Composite) {
@@ -115,12 +127,12 @@
 				}
 				return null;
 			}
-			
+
 			@SuppressWarnings("rawtypes")
 			@Override
 			public Object[] getElements(Object inputElement) {
 				if (inputElement == null) return new Object[0];
-				
+
 				if (inputElement instanceof TXMEditor) {
 					Object[] o = new Object[1];
 					o[0] = ((TXMEditor)inputElement).getContainer();
@@ -128,7 +140,7 @@
 				}
 				return null;
 			}
-			
+
 			@Override
 			public Object[] getChildren(Object element) {
 				if (element instanceof Composite) {
@@ -141,38 +153,18 @@
 				return new Object[0];
 			}
 		});
-		
-		
-		treeViewer.addDoubleClickListener(new IDoubleClickListener() {
-			
-			@Override
-			public void doubleClick(DoubleClickEvent event) {
-				Object o = ((StructuredSelection)event.getSelection()).getFirstElement();
-				if (o != null && o instanceof Control) {
-					Control w = (Control) o;
-					Color b = w.getDisplay().getSystemColor(SWT.COLOR_BLUE);
-					
-					if (isHighlighted(w)) {
-						w.setBackground(null);
-					} else {
-						w.setBackground(b);
-					}
-				}
-				treeViewer.refresh();
-			}
-		});
-		
+
 		treeViewer.getTree().setHeaderVisible(true);
 		treeViewer.getTree().setLinesVisible(true);
-		
-		TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
+
+		nameColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
 		nameColumn.getColumn().setText("Element");
 		nameColumn.getColumn().pack();
 		nameColumn.setLabelProvider(new CellLabelProvider() {
 			@Override
 			public void update(ViewerCell cell) {
 				Object element = cell.getElement();
-				
+
 				if (element instanceof GLComposite) {
 					GLComposite c = (GLComposite)element;
 					String s = c.getName();
@@ -184,20 +176,86 @@
 				} else if(element instanceof Label) {
 					Label c = (Label) element;
 					cell.setText(c.getClass().getSimpleName()+" '"+c.getText()+"'");
+				} else if(element instanceof Spinner) {
+					Spinner c = (Spinner) element;
+					cell.setText(c.getClass().getSimpleName()+" '"+c.getSelection()+"'\n\tmin="+c.getMinimum()+" max="+c.getMaximum());
 				} else {
 					cell.setText(element.getClass().getSimpleName());
 				}
 			}
 		});
-		
-		TreeViewerColumn layoutColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
+
+		treeViewer.getTree().addMouseListener(new MouseListener() {
+
+			@Override
+			public void mouseUp(MouseEvent e) {}
+
+			@Override
+			public void mouseDown(MouseEvent e) {
+				mousePosition = new Point(e.x, e.y);
+			}
+
+			@Override
+			public void mouseDoubleClick(MouseEvent e) {}
+		});
+
+		treeViewer.addDoubleClickListener(new IDoubleClickListener() {
+
+			@Override
+			public void doubleClick(DoubleClickEvent event) {
+
+
+				Object o = ((StructuredSelection)event.getSelection()).getFirstElement();
+
+				int col = getPointedColumn();
+
+				if (col == 0) {
+					if (o != null && o instanceof Control) {
+						Control w = (Control) o;
+						Color b = w.getDisplay().getSystemColor(SWT.COLOR_BLUE);
+						if (isHighlighted(w)) {
+							w.setBackground(null);
+						} else {
+							w.setBackground(b);
+						}
+						treeViewer.refresh();
+					}
+				} else if (col == 1) { // open layout editor
+					if (o != null && o instanceof Composite) {
+						Composite w = (Composite) o;
+						Layout l = w.getLayout();
+						if (l instanceof GridLayout) {
+							
+						} else if (l instanceof RowLayout) {
+							
+						} else if (l instanceof FormLayout) {
+							
+						} 
+					}
+				} else {  // open layout data editor
+					if (o != null && o instanceof Control) {
+						Control w = (Control) o;
+						Object ld = w.getLayoutData();
+						if (ld instanceof GridLayout) {
+							
+						} else if (ld instanceof RowLayout) {
+							
+						} else if (ld instanceof FormLayout) {
+							
+						} 
+					}
+				}
+			}
+		});
+
+		layoutColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
 		layoutColumn.getColumn().setText("Layout");
 		layoutColumn.getColumn().pack();
 		layoutColumn.setLabelProvider(new CellLabelProvider() {
 			@Override
 			public void update(ViewerCell cell) {
 				Object element = cell.getElement();
-				
+
 				if (element instanceof Composite) {
 					String s = getLayoutDetails(((Composite)element).getLayout());
 					cell.setText(s);
@@ -206,15 +264,15 @@
 				}
 			}
 		});
-		
-		TreeViewerColumn layoutDataColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
+
+		layoutDataColumn = new TreeViewerColumn(treeViewer, SWT.NONE);
 		layoutDataColumn.getColumn().setText("L-data");
 		layoutDataColumn.getColumn().pack();
 		layoutDataColumn.setLabelProvider(new CellLabelProvider() {
 			@Override
 			public void update(ViewerCell cell) {
 				Object element = cell.getElement();
-				
+
 				if (element instanceof Control) {
 					String s = getLayoutDataDetails(((Control)element).getLayoutData());
 					cell.setText(s);
@@ -223,11 +281,11 @@
 				}
 			}
 		});	
-		
+
 	}
 	protected String getLayoutDataDetails(Object layoutData) {
 		if (layoutData == null) return "no layout data";
-		
+
 		if (layoutData instanceof GridData) {
 			GridData data = (GridData)layoutData;
 			return "GD: "+data.heightHint+" "+data.widthHint
@@ -242,15 +300,33 @@
 		return layoutData.toString();
 	}
 
+	public int getPointedColumn() {
+		Point p = mousePosition;
+		if (p == null) return 0;
+
+		int x = p.x; // + lineTableViewer.getTable().get;
+		int sumWidthColumn = 0;
+
+		sumWidthColumn += this.nameColumn.getColumn().getWidth();
+		if (x < sumWidthColumn)
+			return 0;
+
+		sumWidthColumn += this.layoutColumn.getColumn().getWidth();
+		if (x < sumWidthColumn)
+			return 1;
+
+		return 2;
+	}
+
 	public static String getLayoutDetails(Layout layout) {
 		if (layout == null) return "no layout";
-		
+
 		if (layout instanceof GridLayout) {
 			GridLayout gl = (GridLayout)layout;
 			return "GL: "+gl.horizontalSpacing+" "+gl.verticalSpacing+" "+gl.marginHeight+" "+gl.marginWidth
 					+"\n "+gl.marginBottom+" "+gl.marginLeft+" "+gl.marginRight+" "+gl.marginTop
 					+"\n "+gl.numColumns+" "+gl.makeColumnsEqualWidth;
-					
+
 		} else {
 			return layout.toString();
 		}
@@ -276,13 +352,13 @@
 		if (c == null) return false;
 		Color b = c.getDisplay().getSystemColor(SWT.COLOR_BLUE);
 		Color current = c.getBackground();
-		
+
 		return current != null 
 				&& current.getGreen() == b.getGreen()
 				&& current.getBlue() == b.getBlue()
 				&& current.getRed() == b.getRed();
 	}
-	
+
 	@Override
 	public void propertyChanged(Object source, int propId) { }
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java	(revision 1479)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java	(revision 1480)
@@ -260,10 +260,13 @@
 //		}
 //		// FIXME: when TXMResult will be implemented, only this code must be left
 		if (o instanceof TXMResult) {
-			if (o instanceof MainCorpus) {
+			TXMResult r = (TXMResult)o;
+			if (r.isLocked()) return deleted;
+			
+			if (r instanceof MainCorpus) {
 				((MainCorpus)o).getProject().delete();
 			} else {
-				((TXMResult) o).delete();
+				r.delete();
 			}
 			Log.info(NLS.bind(TXMUIMessages.deletedColonP0, ((TXMResult) o)));
 			deleted.add(o);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/SetTXMResultLockState.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/SetTXMResultLockState.java	(revision 1479)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/SetTXMResultLockState.java	(revision 1480)
@@ -54,7 +54,7 @@
 			TXMResult result = ((TXMResult)object);
 			result.setLocked(!result.isLocked());
 			
-			CorporaView.refreshObject(result);
+			CorporaView.refresh();
 			
 			return null;
 		}
