Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/macro/prototypes/r/PrintTableRSymbolAndSelectedLinesNamesMacro.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/macro/prototypes/r/PrintTableRSymbolAndSelectedLinesNamesMacro.groovy	(revision 3971)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/macro/prototypes/r/PrintTableRSymbolAndSelectedLinesNamesMacro.groovy	(revision 3972)
@@ -25,7 +25,7 @@
 
 monitor.syncExec(new Runnable() {
 	public void run() {
-		def selection = editor.getlineTableViewer().getSelection()
+		def selection = editor.getTableViewer().getSelection()
 		def names = table.getRowNames().asStringsArray()
 		println "Selection: "+selection.toList()
 		println "Names: "+names[selection.toList()]
Index: TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/macro/r/PrintTableRSymbolAndSelectedLinesNamesMacro.groovy
===================================================================
--- TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/macro/r/PrintTableRSymbolAndSelectedLinesNamesMacro.groovy	(revision 3971)
+++ TXM/trunk/bundles/org.txm.groovy.core/src/groovy/org/txm/macro/r/PrintTableRSymbolAndSelectedLinesNamesMacro.groovy	(revision 3972)
@@ -25,7 +25,7 @@
 
 monitor.syncExec(new Runnable() {
 	public void run() {
-		def selection = editor.getlineTableViewer().getSelection()
+		def selection = editor.getTableViewer().getSelection()
 		def names = table.getRowNames().asStringsArray()
 		println "Selection: "+selection.toList()
 		println "Names: "+names[selection.toList()]
Index: TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ToggleShowParts.java
===================================================================
--- TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ToggleShowParts.java	(revision 0)
+++ TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ToggleShowParts.java	(revision 3972)
@@ -0,0 +1,128 @@
+// Copyright © 2010-2023 ENS de Lyon., University of Franche-Comté
+// Copyright © 2007-2010 ENS de Lyon, CNRS, INRP, University of
+// Lyon 2, University of Franche-Comté, University of Nice
+// Sophia Antipolis, University of Paris 3.
+// 
+// The TXM platform is free software: you can redistribute it
+// and/or modify it under the terms of the GNU General Public
+// License as published by the Free Software Foundation,
+// either version 2 of the License, or (at your option) any
+// later version.
+// 
+// The TXM platform is distributed in the hope that it will be
+// useful, but WITHOUT ANY WARRANTY; without even the implied
+// warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+// PURPOSE. See the GNU General Public License for more
+// details.
+// 
+// You should have received a copy of the GNU General
+// Public License along with the TXM platform. If not, see
+// http://www.gnu.org/licenses.
+// 
+// 
+// 
+// $LastChangedDate:$
+// $LastChangedRevision:$
+// $LastChangedBy:$ 
+//
+package org.txm.searchengine.cqp.rcp.handlers.base;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.SubMonitor;
+import org.eclipse.osgi.util.NLS;
+import org.txm.objects.CorpusBuild;
+import org.txm.objects.Partition;
+import org.txm.rcp.handlers.BaseAbstractHandler;
+import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.rcp.utils.JobHandler;
+import org.txm.rcp.views.corpora.CorporaView;
+import org.txm.utils.logger.Log;
+
+/**
+ * Command that toggle the visibility of a Partition parts
+ * 
+ * @author mdecorde
+ */
+public class ToggleShowParts extends BaseAbstractHandler {
+	
+	
+	/*
+	 * (non-Javadoc)
+	 * @see
+	 * org.eclipse.core.commands.AbstractHandler#execute(org.eclipse.core.commands
+	 * .ExecutionEvent)
+	 */
+	@Override
+	public Object execute(ExecutionEvent event) throws ExecutionException {
+		
+		Object selection = this.getCorporaViewSelectedObject(event);
+		
+		if (selection instanceof Partition) {
+			return togglePartsDisplay((Partition)selection);
+		}
+		return null;
+	}
+	
+	/**
+	 * 
+	 * @param partition the partition parts to display or not
+	 * @return
+	 * @throws ExecutionException
+	 */
+	public JobHandler togglePartsDisplay(Partition partition) throws ExecutionException {
+		
+		try {
+			JobHandler jobhandler = new JobHandler(NLS.bind("Toggle visibility of {0} parts", partition.getName())) {
+				
+				@Override
+				protected IStatus run(IProgressMonitor monitor) {
+					
+					// convert the monitor into sub-monitor
+					SubMonitor subMonitor = SubMonitor.convert(monitor, NLS.bind("Toggle visibility of {0} parts", partition.getName()), 100);
+					
+					this.runInit(subMonitor);
+					
+					try {
+						subMonitor.subTask("Toggle parts...");
+						for (CorpusBuild part : partition.getParts()) {
+							part.setVisible(!part.isVisible());
+						}
+						
+						subMonitor.subTask(TXMUIMessages.refreshingCorpora);
+						syncExec(new Runnable() {
+							
+							@Override
+							public void run() {
+								CorporaView.refresh();
+								CorporaView.expand(partition);
+							}
+						});
+					}
+					catch (ThreadDeath e) { // for user direct canceling
+						return Status.CANCEL_STATUS;
+					}
+					catch (Exception e) {
+						Log.printStackTrace(e);
+						return Status.CANCEL_STATUS;
+					}
+					finally {
+						subMonitor.done();
+					}
+					return Status.OK_STATUS;
+				}
+			};
+			
+			jobhandler.startJob();
+			return jobhandler;
+			
+		}
+		catch (Exception e) {
+			Log.severe(NLS.bind(TXMUIMessages.errorWhileCreatingAPartitionColonP0, e));
+		}
+		return null;
+	}
+}

Property changes on: TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ToggleShowParts.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/plugin.xml
===================================================================
--- TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/plugin.xml	(revision 3971)
+++ TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/plugin.xml	(revision 3972)
@@ -79,6 +79,11 @@
                optional="true">
          </commandParameter>
       </command>
+      <command
+            defaultHandler="org.txm.searchengine.cqp.rcp.handlers.base.ToggleShowParts"
+            id="org.txm.searchengine.cqp.rcp.handlers.base.ToggleShowParts"
+            name="Toggle parts visibility">
+      </command>
    </extension>
    <extension
          point="org.eclipse.ui.preferencePages">
@@ -280,6 +285,18 @@
                </reference>
             </visibleWhen>
          </command>
+         <command
+               commandId="org.txm.searchengine.cqp.rcp.handlers.base.ToggleShowParts"
+               style="push">
+            <visibleWhen
+                  checkEnabled="false">
+               <and>
+                  <reference
+                        definitionId="OnePartitionSelected">
+                  </reference>
+               </and>
+            </visibleWhen>
+         </command>
       </menuContribution>
       <menuContribution
             locationURI="menu:menu.file.export.corpus">
@@ -389,6 +406,18 @@
                </reference>
             </visibleWhen>
          </command>
+         <command
+               commandId="org.txm.searchengine.cqp.rcp.handlers.base.ToggleShowParts"
+               style="push">
+            <visibleWhen
+                  checkEnabled="false">
+               <and>
+                  <reference
+                        definitionId="OnePartitionSelected">
+                  </reference>
+               </and>
+            </visibleWhen>
+         </command>
       </menuContribution>
       <menuContribution
             allPopups="true"
Index: TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java
===================================================================
--- TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/KRAnnotation.java	(revision 3972)
@@ -155,7 +155,7 @@
 		annotations.computeLines(this.editor.getConcordance().getLines()); // pre-compute the annotation lines ot avoid breaking the sort and co.
 		this.annotManager = KRAnnotationEngine.getAnnotationManager(corpus);
 		
-		TableViewer viewer = this.editor.getLineTableViewer();
+		TableViewer viewer = this.editor.getTableViewer();
 		
 		// RESULT
 		if (position < 0) {
@@ -486,7 +486,7 @@
 			@Override
 			public void keyReleased(KeyEvent e) {
 				if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
-					affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+					affectAnnotationToSelection(editor.getTableViewer().getSelection());
 				}
 			}
 			
@@ -572,7 +572,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				int isel = affectCombo.getSelectionIndex();
 				if (isel == 0) { // selected line
-					affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+					affectAnnotationToSelection(editor.getTableViewer().getSelection());
 				}
 				else { // all
 					try {
Index: TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java
===================================================================
--- TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/WordAnnotationToolbar.java	(revision 3972)
@@ -419,7 +419,7 @@
 		//annotations.computeLines(this.editor.getConcordance().getLines()); // pre-compute the annotation lines ot avoid breaking the sort and co.
 		this.annotManager = KRAnnotationEngine.getAnnotationManager(corpus);
 		
-		TableViewer viewer = this.editor.getLineTableViewer();
+		TableViewer viewer = this.editor.getTableViewer();
 		
 		// RESULT
 		if (position < 0) {
@@ -678,7 +678,7 @@
 			@Override
 			public void keyReleased(KeyEvent e) {
 				if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
-					affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+					affectAnnotationToSelection(editor.getTableViewer().getSelection());
 				}
 			}
 			
@@ -750,7 +750,7 @@
 			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+				affectAnnotationToSelection(editor.getTableViewer().getSelection());
 			}
 			
 			@Override
@@ -765,7 +765,7 @@
 			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				deleteAnnotationValues(editor.getLineTableViewer().getSelection());
+				deleteAnnotationValues(editor.getTableViewer().getSelection());
 			}
 			
 			@Override
@@ -806,7 +806,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				try {
 					// int position = -1;
-					// TableColumn[] columns = editor.getLineTableViewer().getTable().getColumns();
+					// TableColumn[] columns = editor.getTableViewer().getTable().getColumns();
 					// TableColumn column = annotationColumnViewer.getColumn();
 					// for (int i = 0 ; i < columns.length ; i++) {
 					// if (columns[i] == column) {
Index: TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java
===================================================================
--- TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.annotation.kr.rcp/src/org/txm/annotation/kr/rcp/concordance/SimpleKRAnnotation.java	(revision 3972)
@@ -143,7 +143,7 @@
 		annotations.computeLines(this.editor.getConcordance().getLines()); // pre-compute the annotation lines ot avoid breaking the sort and co.
 		this.annotManager = KRAnnotationEngine.getAnnotationManager(corpus);
 		
-		TableViewer viewer = this.editor.getLineTableViewer();
+		TableViewer viewer = this.editor.getTableViewer();
 		
 		// RESULT
 		
@@ -276,7 +276,7 @@
 			@Override
 			public void keyReleased(KeyEvent e) {
 				if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
-					affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+					affectAnnotationToSelection(editor.getTableViewer().getSelection());
 				}
 			}
 			
@@ -359,7 +359,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				int isel = affectCombo.getSelectionIndex();
 				if (isel == 0) { // selected line
-					affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+					affectAnnotationToSelection(editor.getTableViewer().getSelection());
 				}
 				else { // all
 					try {
Index: TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/MergeLines.java
===================================================================
--- TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/MergeLines.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/MergeLines.java	(revision 3972)
@@ -60,7 +60,7 @@
 		
 		if (editor instanceof LexicalTableEditor) {
 			LexicalTableEditor LTeditor = (LexicalTableEditor) editor;
-			int[] selection = LTeditor.getlineTableViewer().getTable().getSelectionIndices();
+			int[] selection = LTeditor.getTableViewer().getTable().getSelectionIndices();
 			
 			if (selection.length == 0) {
 				return null;
Index: TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/DeleteLines.java
===================================================================
--- TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/DeleteLines.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/DeleteLines.java	(revision 3972)
@@ -79,7 +79,7 @@
 	 * @throws Exception
 	 */
 	public static void deleteLexicalTableLines(LexicalTableEditor editor) throws Exception {
-		int[] selection = editor.getlineTableViewer().getTable().getSelectionIndices();
+		int[] selection = editor.getTableViewer().getTable().getSelectionIndices();
 		if (selection.length == 0)
 			return;
 		
Index: TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/___MergeCols.java
===================================================================
--- TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/___MergeCols.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/___MergeCols.java	(revision 3972)
@@ -62,7 +62,7 @@
 				.getActivePage().getActivePart();
 		if (editor instanceof LexicalTableEditor) {
 			LexicalTableEditor LTeditor = (LexicalTableEditor) editor;
-			int[] selection = LTeditor.getlineTableViewer().getTable()
+			int[] selection = LTeditor.getTableViewer().getTable()
 					.getSelectionIndices();
 			if (selection.length == 0)
 				return null;
Index: TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/CopyLines.java
===================================================================
--- TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/CopyLines.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/handlers/CopyLines.java	(revision 3972)
@@ -62,7 +62,7 @@
 
 	public static void copyLines(LexicalTableEditor editor) {
 		
-		TableViewer viewer = editor.getlineTableViewer();
+		TableViewer viewer = editor.getTableViewer();
 		TableKeyListener.copyLinesToClipboard(new TableViewer[] {viewer});
 	}
 }
Index: TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java
===================================================================
--- TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java	(revision 3972)
@@ -638,14 +638,12 @@
 		return null;
 	}
 
-
-
 	/**
 	 * Gets the line table viewer.
 	 *
 	 * @return the line table viewer
 	 */
-	public TableViewer getlineTableViewer() {
+	public TableViewer getTableViewer() {
 		return viewer;
 	}
 
Index: TXM/trunk/bundles/org.txm.progression.rcp/src/org/txm/progression/rcp/chartsengine/events/ProgressionEventCallBack.java
===================================================================
--- TXM/trunk/bundles/org.txm.progression.rcp/src/org/txm/progression/rcp/chartsengine/events/ProgressionEventCallBack.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.progression.rcp/src/org/txm/progression/rcp/chartsengine/events/ProgressionEventCallBack.java	(revision 3972)
@@ -311,7 +311,7 @@
 	 */
 	public void updateLinkedConcordanceEditor(final ConcordanceEditor linkedEditor, final ArrayList<Integer> selectedPointPositions, boolean loadLines) {
 		
-		final TableViewer linesTableViewer = linkedEditor.getLineTableViewer();
+		final TableViewer linesTableViewer = linkedEditor.getTableViewer();
 		final TableViewer refTableViewer = linkedEditor.getReferenceTableViewer();
 		
 		if (linesTableViewer.getTable().isDisposed()) {
Index: TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 3972)
@@ -2146,7 +2146,7 @@
 	 *
 	 * @return the line table viewer
 	 */
-	public TableViewer getLineTableViewer() {
+	public TableViewer getTableViewer() {
 		
 		return viewerRight;
 	}
Index: TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/CopyLines.java
===================================================================
--- TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/CopyLines.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/CopyLines.java	(revision 3972)
@@ -61,7 +61,7 @@
 
 
 	public static void copyLines(ConcordanceEditor editor) {
-		TableViewer viewer = editor.getLineTableViewer();
+		TableViewer viewer = editor.getTableViewer();
 		TableViewer viewer2 = editor.getReferenceTableViewer();
 		
 		TableKeyListener.copyLinesToClipboard(new TableViewer[] {viewer, viewer2});
Index: TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/DeleteLines.java
===================================================================
--- TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/DeleteLines.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/DeleteLines.java	(revision 3972)
@@ -69,7 +69,7 @@
 
 
 	public static void deleteConcordanceLines(ConcordanceEditor editor) {
-		TableViewer viewer = editor.getLineTableViewer();
+		TableViewer viewer = editor.getTableViewer();
 		Concordance concordance = editor.getConcordance();
 		if (concordance == null) return;
 		IStructuredSelection sel = (IStructuredSelection) viewer.getSelection();
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitConcordanceToolbar.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitConcordanceToolbar.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/toolbar/UnitConcordanceToolbar.java	(revision 3972)
@@ -148,7 +148,7 @@
 		this.annotManager = URSCorpora.getCorpus(corpus);
 		this.vue = URSCorpora.getVue(corpus);
 		
-		TableViewer viewer = this.editor.getLineTableViewer();
+		TableViewer viewer = this.editor.getTableViewer();
 		
 		// RESULT
 		if (position < 0) {
@@ -327,7 +327,7 @@
 			@Override
 			public void keyReleased(KeyEvent e) {
 				if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
-					affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+					affectAnnotationToSelection(editor.getTableViewer().getSelection());
 				}
 			}
 			
@@ -344,7 +344,7 @@
 			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				affectAnnotationToSelection(editor.getLineTableViewer().getSelection());
+				affectAnnotationToSelection(editor.getTableViewer().getSelection());
 			}
 			
 			@Override
@@ -380,7 +380,7 @@
 			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				deleteAnnotationValues(editor.getLineTableViewer().getSelection());
+				deleteAnnotationValues(editor.getTableViewer().getSelection());
 			}
 			
 			@Override
@@ -475,11 +475,11 @@
 						}
 					}
 					
-					editor.getLineTableViewer().getTable().getDisplay().syncExec(new Runnable() {
+					editor.getTableViewer().getTable().getDisplay().syncExec(new Runnable() {
 						
 						@Override
 						public void run() {
-							editor.getLineTableViewer().refresh();
+							editor.getTableViewer().refresh();
 						}
 					});
 					
@@ -525,7 +525,7 @@
 			}
 		}
 		
-		editor.getLineTableViewer().refresh();
+		editor.getTableViewer().refresh();
 	}
 	
 	protected void affectAnnotationToSelection(ISelection selection) {
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/view/ElementSearchView.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/view/ElementSearchView.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/view/ElementSearchView.java	(revision 3972)
@@ -610,7 +610,7 @@
 			@Override
 			public void run() {
 				if (concordanceEditor == null || // no editor opened
-						concordanceEditor.getLineTableViewer().getTable().isDisposed() // editor was closed
+						concordanceEditor.getTableViewer().getTable().isDisposed() // editor was closed
 						|| !concordanceEditor.getCorpus().equals(corpus)) { // editor opened but with different corpus
 					
 					IEditorPart editor = ComputeConcordance.openEditor(concordance);
Index: TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/results/TXMResult.java
===================================================================
--- TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 3971)
+++ TXM/trunk/bundles/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 3972)
@@ -1591,6 +1591,7 @@
 	 * @return
 	 */
 	public List<TXMResult> getChildren() {
+		
 		return this.children;
 	}
 
@@ -1599,17 +1600,81 @@
 	 * 
 	 * @return
 	 */
-	public List<TXMResult> getChildren(boolean onlyVisible) {
+	public final List<TXMResult> getChildren(boolean onlyVisible) {
+		
 		return this.getChildren(null, onlyVisible);
 	}
+	
+	/**
+	 * Gets the children resultsby name and class
+	 * 
+	 * @param name filter using c.getName()
+	 * @param clazz filter by c.getClass()
+	 * @return list of results
+	 */
+	public final List<TXMResult> getChildrenByName(String name, Class<? extends TXMResult> clazz) {
+		
+		ArrayList<TXMResult> rez = new ArrayList<TXMResult>();
+		for (TXMResult c : children) {
+			if (c.getName().equals(name) && c.getClass().equals(clazz)) rez.add(c);
+		}
+		return rez;
+	}
+	
+	/**
+	 * Gets the children results by name
+	 * 
+	 * @param name filter using c.getName()
+	 * @return list of results
+	 */
+	public final List<TXMResult> getChildrenByName(String name) {
+		
+		ArrayList<TXMResult> rez = new ArrayList<TXMResult>();
+		for (TXMResult c : children) {
+			if (c.getName().equals(name)) rez.add(c);
+		}
+		return rez;
+	}
+	
+	/**
+	 * Gets the children resultsby name and class
+	 * 
+	 * @param name filter using c.getSimpleName()
+	 * @param clazz filter by c.getClass()
+	 * @return list of results
+	 */
+	public final List<TXMResult> getChildrenBySimpleName(String name, Class<? extends TXMResult> clazz) {
+		
+		ArrayList<TXMResult> rez = new ArrayList<TXMResult>();
+		for (TXMResult c : children) {
+			if (c.getSimpleName().equals(name) && c.getClass().equals(clazz)) rez.add(c);
+		}
+		return rez;
+	}
+	
+	/**
+	 * Gets the children results by name
+	 * 
+	 * @param name filter using c.getSimpleName()
+	 * @return list of results
+	 */
+	public final List<TXMResult> getChildrenBySimpleName(String name) {
+		
+		ArrayList<TXMResult> rez = new ArrayList<TXMResult>();
+		for (TXMResult c : children) {
+			if (c.getSimpleName().equals(name)) rez.add(c);
+		}
+		return rez;
+	}
 
 	/**
 	 * Gets the children results specified by their class.
 	 * 
-	 * @param clazz
+	 * @param clazz filter by c.getClass()
 	 * @return
 	 */
-	public <T extends TXMResult> List<T> getChildren(Class<T> clazz) {
+	public final <T extends TXMResult> List<T> getChildren(Class<T> clazz) {
+		
 		return TXMResult.getNodes(this.children, clazz, false);
 	}
 
@@ -1619,7 +1684,7 @@
 	 * @param clazz
 	 * @return
 	 */
-	public <T extends TXMResult> List<T> getChildren(Class<T> clazz, boolean onlyVisible) {
+	public final <T extends TXMResult> List<T> getChildren(Class<T> clazz, boolean onlyVisible) {
 		return TXMResult.getNodes(this.children, clazz, onlyVisible);
 	}
 
@@ -1629,7 +1694,7 @@
 	 * @param clazz
 	 * @return the first child if exists otherwise null
 	 */
-	public <T extends TXMResult> T getFirstChild(Class<T> clazz) {
+	public final <T extends TXMResult> T getFirstChild(Class<T> clazz) {
 		List<T> children = this.getChildren(clazz, false);
 		try {
 			return children.get(0);
@@ -1643,7 +1708,7 @@
 	 * Deletes all the children
 	 * 
 	 */
-	public void deleteChildren() {
+	public final void deleteChildren() {
 		deleteChildren(null);
 	}
 
