Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/TableLinesViewerComparator.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/TableLinesViewerComparator.java	(revision 3984)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/editors/TableLinesViewerComparator.java	(revision 3985)
@@ -7,6 +7,9 @@
 import java.util.Date;
 import java.util.List;
 
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TableViewer;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.jface.viewers.ViewerComparator;
@@ -154,6 +157,7 @@
 	 * @param index
 	 */
 	public void addSelectionAdapter(final TableViewer viewer, final TableColumn column, final int index) {
+		
 		column.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
@@ -164,6 +168,8 @@
 				} else {
 					setColumn(index);
 
+					IStructuredSelection sel = viewer.getStructuredSelection();
+					
 					viewer.getTable().setSortDirection(getDirection());
 					viewer.getTable().setSortColumn(column);
 
@@ -173,6 +179,8 @@
 					else	{
 						viewer.refresh();
 					}
+					
+					viewer.setSelection(sel);
 				}
 			}
 		});
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/SimpleSubcorpusPanel.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/SimpleSubcorpusPanel.java	(revision 3984)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/SimpleSubcorpusPanel.java	(revision 3985)
@@ -57,8 +57,7 @@
 
 		Label propertyLabel = new Label(this, SWT.NONE);
 		propertyLabel.setText(TXMUIMessages.ampPropertyColon);
-		propertyLabel.setLayoutData(new GridData(GridData.END, GridData.CENTER,
-				false, false));
+		propertyLabel.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
 
 		propertyCombo = new Combo(this, SWT.READ_ONLY);
 		propertyCombo.setLayoutData(new GridData(GridData.FILL,GridData.FILL, true, false));
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/PropertiesSelector.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/PropertiesSelector.java	(revision 3984)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/PropertiesSelector.java	(revision 3985)
@@ -86,9 +86,11 @@
 	Label propLabel;
 	
 	/** The prop separator. */
-	String propSeparator = " ; "; //$NON-NLS-1$
+	String propSeparator = ", "; //$NON-NLS-1$
 	
 	ArrayList<Listener> listeners = new ArrayList<>();
+
+	private boolean showSimpleNames = false;
 	
 
 	/**
@@ -212,7 +214,12 @@
 			}
 			
 			if (p instanceof StructuralUnitProperty) {
-				buffer.append(((StructuralUnitProperty)p).getFullName());
+				if (showSimpleNames) {
+					buffer.append(((StructuralUnitProperty)p).getName());
+				} else {
+					buffer.append(((StructuralUnitProperty)p).getFullName());
+				}
+				
 			} else if (p instanceof VirtualProperty) {
 				buffer.append(((VirtualProperty)p).getFullName());
 			} else if (p instanceof Property) {
@@ -409,4 +416,9 @@
 	public void addValueChangeListener(Listener listener) {
 		listeners.add(listener);
 	}
+
+	public void setShowSimpleNames() {
+		
+		this.showSimpleNames  = true;
+	}
 }
Index: TXM/trunk/bundles/org.txm.texts.rcp/src/org/txm/texts/rcp/TextViewColumnLabelProvider.java
===================================================================
--- TXM/trunk/bundles/org.txm.texts.rcp/src/org/txm/texts/rcp/TextViewColumnLabelProvider.java	(revision 3984)
+++ TXM/trunk/bundles/org.txm.texts.rcp/src/org/txm/texts/rcp/TextViewColumnLabelProvider.java	(revision 3985)
@@ -21,6 +21,9 @@
 	public String getText(Object element) {
 		
 		Text text = (Text)element;
-		return editor.getResult().getLines().get(text.getName()).get(n);
+		return editor.getResult()
+				.getLines()
+				.get(text.getName())
+				.get(n);
 	}
 }
Index: TXM/trunk/bundles/org.txm.texts.rcp/src/org/txm/texts/rcp/TextsViewEditor.java
===================================================================
--- TXM/trunk/bundles/org.txm.texts.rcp/src/org/txm/texts/rcp/TextsViewEditor.java	(revision 3984)
+++ TXM/trunk/bundles/org.txm.texts.rcp/src/org/txm/texts/rcp/TextsViewEditor.java	(revision 3985)
@@ -16,10 +16,15 @@
 import org.eclipse.jface.viewers.TableViewerColumn;
 import org.eclipse.jface.viewers.Viewer;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.KeyEvent;
+import org.eclipse.swt.events.KeyListener;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.graphics.Point;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
 import org.eclipse.swt.widgets.TableColumn;
 import org.txm.Toolbox;
 import org.txm.core.results.Parameter;
@@ -35,7 +40,14 @@
 import org.txm.rcp.swt.HashMapWidget;
 import org.txm.rcp.swt.widget.PropertiesSelector;
 import org.txm.rcp.utils.SWTEditorsUtils;
+import org.txm.rcp.views.corpora.CorporaView;
+import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
+import org.txm.searchengine.cqp.corpus.Partition;
+import org.txm.searchengine.cqp.corpus.StructuralUnit;
 import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
+import org.txm.searchengine.cqp.corpus.Subcorpus;
+import org.txm.searchengine.cqp.corpus.query.CQLQuery;
+import org.txm.searchengine.cqp.corpus.query.SubcorpusCQLQuery;
 import org.txm.texts.core.TextsView;
 
 public class TextsViewEditor extends TXMEditor<TextsView> {
@@ -72,7 +84,25 @@
 		propertiesSelector = new PropertiesSelector<>(this.getMainParametersComposite(), "Metadata");
 		propertiesSelector.setProperties(properties);
 		propertiesSelector.addSelectionListener(computeSelectionListener);
+		propertiesSelector.setShowSimpleNames();
+		
+		Button deleteButton = new Button(this.getMainParametersComposite(), SWT.PUSH);
+		deleteButton.setImage(IImageKeys.getImage(IImageKeys.ACTION_DELETE));
+		deleteButton.setToolTipText("Remove selected texts from the view");
+		deleteButton.addSelectionListener(new SelectionListener() {
+			
+			@Override
+			public void widgetSelected(SelectionEvent e) {
 				
+				deleteSelection();
+				
+			}
+			
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) { }
+		});
+		
+				
 		negativeFiltersText = new HashMapWidget(this.getMainParametersComposite(), SWT.NONE, "Negative filters: ");
 		//negativeFiltersText.addSelectionListener(computeSelectionListener);
 		GridData gdata = new GridData(GridData.FILL, GridData.FILL, false, false);
@@ -83,12 +113,116 @@
 		}
 		negativeFiltersText.setDefaultValues(defaultValues);
 		
+		Button subcorpusButton = new Button(this.getMainParametersComposite(), SWT.PUSH);
+		subcorpusButton.setImage(IImageKeys.getImage(IImageKeys.ACTION_SUBCORPUS));
+		subcorpusButton.setToolTipText("Create a subcorpus of the shown texts");
+		subcorpusButton.addSelectionListener(new SelectionListener() {
+			
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				
+				try {
+					Subcorpus subcorpus = new Subcorpus(getResult().getCorpus());
+					subcorpus.setName("subcorpus");
+					
+					ArrayList<String> selectedValues = null;
+					if (viewer.getSelection().isEmpty()) {
+						selectedValues = new ArrayList<String>(getResult().getLines().keySet());
+					} else {
+						selectedValues = new ArrayList<String>();
+						for (Object o : viewer.getStructuredSelection().toList()) {
+							Text l = (Text) o;
+							selectedValues.add(l.getName());
+						}
+					}
+					
+					String regexp = ""; //$NON-NLS-1$
+					for (String v : selectedValues) {
+						regexp += CQLQuery.addBackSlash(v) + "|"; //$NON-NLS-1$
+					}
+					regexp = regexp.substring(0, regexp.length() - 1);
+					
+					StructuralUnit su = getResult().getCorpus().getStructuralUnit("text");
+					
+					StructuralUnitProperty sup = su.getProperty("id");
+					SubcorpusCQLQuery query = new SubcorpusCQLQuery(su, sup, regexp, selectedValues);
+					
+					subcorpus.setQuery(query);
+					
+					subcorpus.compute();
+					
+					CorporaView.refreshObject(subcorpus);
+				}
+				catch (Exception e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+				
+			}
+			
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) { }
+		});
+		
+		Button partitionButton = new Button(this.getMainParametersComposite(), SWT.PUSH);
+		partitionButton.setImage(IImageKeys.getImage("platform:/plugin/org.txm.searchengine.cqp.rcp/icons/functions/partition.png"));
+		partitionButton.setToolTipText("Create a partition of the shown texts");
+		partitionButton.addSelectionListener(new SelectionListener() {
+			
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				try {
+					Partition partition = new Partition(getResult().getCorpus());
+					
+					StructuralUnit su = getResult().getCorpus().getStructuralUnit("text");
+					StructuralUnitProperty sup = su.getProperty("id");
+					
+					ArrayList<String> selectedValues = null;
+					if (viewer.getSelection().isEmpty()) {
+						selectedValues = new ArrayList<String>(getResult().getLines().keySet());
+					} else {
+						selectedValues = new ArrayList<String>();
+						for (Object o : viewer.getStructuredSelection().toList()) {
+							Text l = (Text) o;
+							selectedValues.add(l.getName());
+						}
+					}
+					partition.setParameters("text@id", sup, selectedValues);
+							
+					partition.compute();
+					CorporaView.refreshObject(partition);
+				}
+				catch (Exception e1) {
+					// TODO Auto-generated catch block
+					e1.printStackTrace();
+				}
+			}
+			
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) { }
+		});
+
 		viewer = new TableViewer(this.getResultArea(), SWT.MULTI|SWT.VIRTUAL);
 		viewer.getTable().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
 		viewer.getTable().setHeaderVisible(true);
 		viewer.getTable().setLinesVisible(true);
 		viewer.getTable().addKeyListener(new TableKeyListener(viewer));
 		
+		viewer.getTable().addKeyListener(new KeyListener() {
+			
+			@Override
+			public void keyReleased(KeyEvent e) {
+				
+				if (e.keyCode == SWT.DEL) {
+					deleteSelection();
+				}
+				
+			}
+			
+			@Override
+			public void keyPressed(KeyEvent e) { }
+		});
+		
 		viewerComparator = new TableLinesViewerComparator(Toolbox.getCollator(this.getResult())) {
 			@Override
 			public int compare(Viewer viewer, Object e1, Object e2) {
@@ -146,6 +280,30 @@
 
 	}
 
+	protected void deleteSelection() {
+		
+		try {
+			ArrayList<String> selectedValues = null;
+			if (viewer.getSelection().isEmpty()) {
+				return;
+			}
+			
+			TextsView result = getResult();
+			for (Object o : viewer.getStructuredSelection().toList()) {
+				Text t = (Text)o;
+				result.getLines().remove(t.getName());
+			}
+			result.setAltered();
+			result.setDirty();
+			updateEditorFromResult(false);
+		}
+		catch (Exception e1) {
+			// TODO Auto-generated catch block
+			e1.printStackTrace();
+		}
+		
+	}
+
 	@Override
 	public void updateResultFromEditor() {
 
Index: TXM/trunk/bundles/org.txm.texts.core/src/org/txm/texts/core/TextsView.java
===================================================================
--- TXM/trunk/bundles/org.txm.texts.core/src/org/txm/texts/core/TextsView.java	(revision 3984)
+++ TXM/trunk/bundles/org.txm.texts.core/src/org/txm/texts/core/TextsView.java	(revision 3985)
@@ -1,12 +1,10 @@
 package org.txm.texts.core;
 
 import java.io.File;
-import java.io.ObjectOutputStream;
 import java.io.PrintWriter;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Properties;
@@ -14,15 +12,11 @@
 import org.apache.commons.lang.StringUtils;
 import org.eclipse.osgi.util.NLS;
 import org.txm.core.results.Parameter;
-import org.txm.core.results.TXMParameters;
 import org.txm.core.results.TXMResult;
 import org.txm.searchengine.cqp.CQPSearchEngine;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.searchengine.cqp.corpus.MainCorpus;
-import org.txm.searchengine.cqp.corpus.Property;
-import org.txm.searchengine.cqp.corpus.QueryResult;
 import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
-import org.txm.searchengine.cqp.corpus.query.CQLQuery;
 import org.txm.utils.TXMProgressMonitor;
 import org.txm.utils.logger.Log;
 
@@ -58,7 +52,6 @@
 	@Override
 	public boolean saveParameters() throws Exception {
 
-		
 		String s = "";
 		for (StructuralUnitProperty sup : pColumns) {
 			if (s.length() > 0) s += "\t";
