Index: TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/editor/SubcorpusEditor.java
===================================================================
--- TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/editor/SubcorpusEditor.java	(revision 3976)
+++ TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/editor/SubcorpusEditor.java	(revision 3977)
@@ -26,7 +26,7 @@
 import org.txm.rcp.editors.listeners.ComputeKeyListener;
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.widget.AssistedChoiceQueryWidget;
-import org.txm.rcp.swt.widget.ComplexSubcorpusPanel;
+import org.txm.rcp.swt.widget.structures.ComplexSubcorpusPanel;
 import org.txm.rcp.swt.widget.structures.SimpleSubcorpusPanel;
 import org.txm.rcp.views.corpora.CorporaView;
 import org.txm.searchengine.cqp.corpus.Subcorpus;
Index: TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ComputeSubCorpus.java
===================================================================
--- TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ComputeSubCorpus.java	(revision 3976)
+++ TXM/trunk/bundles/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ComputeSubCorpus.java	(revision 3977)
@@ -172,7 +172,7 @@
 						monitor.beginTask(TXMUIMessages.creatingASubcorpusInTheSearchEngine, 100);
 						final Subcorpus subcorpus;
 						
-						if (d.getMode() == 1 || d.getMode() == 2 || d.getMode() == 3) {
+						if (d.isQueryBased()) {
 							
 							// test if a query has been set
 							if (d.getQuery().length() == 0) {
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreateSubcorpusDialog.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreateSubcorpusDialog.java	(revision 3976)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreateSubcorpusDialog.java	(revision 3977)
@@ -48,12 +48,10 @@
 import org.eclipse.swt.widgets.TabItem;
 import org.eclipse.swt.widgets.Text;
 import org.txm.rcp.messages.TXMUIMessages;
-import org.txm.rcp.swt.widget.ComplexSubcorpusPanel;
-import org.txm.rcp.swt.widget.ContextsSubcorpusPanel;
-import org.txm.rcp.swt.widget.QueryWidget;
+import org.txm.rcp.swt.widget.structures.AdvancedSubcorpusPanel;
+import org.txm.rcp.swt.widget.structures.ComplexSubcorpusPanel;
+import org.txm.rcp.swt.widget.structures.ContextsSubcorpusPanel;
 import org.txm.rcp.swt.widget.structures.SimpleSubcorpusPanel;
-import org.txm.searchengine.cqp.CQPSearchEngine;
-import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.searchengine.cqp.corpus.StructuralUnit;
 import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
@@ -65,34 +63,10 @@
  * query to build the sub-corpus @ author mdecorde.
  */
 public class CreateSubcorpusDialog extends Dialog {
-	// For the "simple" tab
-	/** The selected structural unit. */
-	// private StructuralUnit selectedStructuralUnit;
-	// List<StructuralUnitProperty> selectableStructuralUnitProperties = null;
-	/** The selected structural unit property. */
-	// private StructuralUnitProperty selectedStructuralUnitProperty;
 
-	/** The selected values. */
-	// private List<String> selectedValues;
-
-	// For the assisted tab
-	/** The simple and complex panels. */
-	SimpleSubcorpusPanel simplePanel;
-
-	ComplexSubcorpusPanel complexPanel;
-
-	ContextsSubcorpusPanel contextsPanel;
-
-	// For the "advanced" tab
-	/** The query text. */
-	private QueryWidget queryText;
-
-	/** The query string. */
-	private String queryString;
-
-	// for both tab
+	// for all tabs
 	/** The name. */
-	private Text name;
+	private Text nameField;
 
 	/** The name string. */
 	private String nameString;
@@ -100,9 +74,22 @@
 	/** The corpus. */
 	private CQPCorpus corpus;
 
-	/** The assisted selected. */
-	private int subcorpusMode = 0;
+	/** The selected subcorpus mode */
+	private TabItem subcorpusMode = null;
 
+	private TabItem simpleTab;
+	private TabItem complexTab;
+	private TabItem contextsTab;
+	private TabItem advancedTab;
+	
+	SimpleSubcorpusPanel simplePanel;
+	ComplexSubcorpusPanel complexPanel;
+	ContextsSubcorpusPanel contextsPanel;
+	AdvancedSubcorpusPanel advancedPanel;
+
+	/** The query string. */
+	private String queryString;
+
 	/**
 	 * Instantiates a new creates the subcorpus dialog.
 	 *
@@ -126,18 +113,6 @@
 		newShell.setMinimumSize(300, 300);
 	}
 
-	/** The structural units final. */
-	List<StructuralUnit> structuralUnitsFinal;
-
-	/** The structural units combo. */
-	Combo structuralUnitsCombo;
-
-	/** The property combo. */
-	Combo propertyCombo;
-
-	/** The value combo. */
-	org.eclipse.swt.widgets.List valueCombo;
-
 	/*
 	 * (non-Javadoc)
 	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
@@ -146,8 +121,7 @@
 	protected Control createDialogArea(Composite parent) {
 
 		Composite inclosing = new Composite(parent, SWT.NONE);
-		// TODO : we just put a composite into another composite. Everything
-		// should be directly put into parent
+		
 		GridLayout layout4inclosing = new GridLayout(1, true);
 		layout4inclosing.verticalSpacing = 0;
 		layout4inclosing.horizontalSpacing = 0;
@@ -164,51 +138,40 @@
 		nameLabel.setText(TXMUIMessages.ampNameColon);
 		nameLabel.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
 
-		name = new Text(nameComposite, SWT.BORDER);
-		name.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
+		nameField = new Text(nameComposite, SWT.BORDER);
+		nameField.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
 
 		// Param panel
 		final TabFolder tabFolder = new TabFolder(inclosing, SWT.NONE);
 		tabFolder.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true));
 
 		// First tab
-		TabItem simpleTab = new TabItem(tabFolder, SWT.NONE);
+		simpleTab = new TabItem(tabFolder, SWT.NONE);
 		simpleTab.setText(TXMUIMessages.simple);
 		simplePanel = new SimpleSubcorpusPanel(tabFolder, SWT.NONE, this.getButton(IDialogConstants.OK_ID), corpus);
 		simpleTab.setControl(simplePanel);
 
 		// Second tab: assisted mode
-		TabItem secondTab = new TabItem(tabFolder, SWT.NONE);
-		secondTab.setText(TXMUIMessages.assisted);
+		complexTab = new TabItem(tabFolder, SWT.NONE);
+		complexTab.setText(TXMUIMessages.assisted);
 		this.complexPanel = new ComplexSubcorpusPanel(tabFolder, SWT.NONE, this.corpus);
-		secondTab.setControl(complexPanel);
+		complexTab.setControl(complexPanel);
 
 		// Third tab: assisted mode
-		TabItem thirdTab = new TabItem(tabFolder, SWT.NONE);
-		thirdTab.setText(TXMUIMessages.contexts);
+		contextsTab = new TabItem(tabFolder, SWT.NONE);
+		contextsTab.setText(TXMUIMessages.contexts);
 		this.contextsPanel = new ContextsSubcorpusPanel(tabFolder, SWT.NONE, this.corpus);
-		thirdTab.setControl(contextsPanel);
+		contextsTab.setControl(contextsPanel);
 
 		// Third tab: advanced mode
-		TabItem advancedTab = new TabItem(tabFolder, SWT.NONE);
+		advancedTab = new TabItem(tabFolder, SWT.NONE);
 		advancedTab.setText(TXMUIMessages.advanced);
+		
+		this.advancedPanel = new AdvancedSubcorpusPanel(tabFolder, SWT.NONE, this.corpus);
+		advancedTab.setControl(advancedPanel);
+		
+		subcorpusMode = simpleTab;
 
-		Composite compositeForAdvanced = new Composite(tabFolder, SWT.NONE);
-		advancedTab.setControl(compositeForAdvanced);
-
-		GridLayout layoutForAdvanced = new GridLayout(3, false);
-		compositeForAdvanced.setLayout(layoutForAdvanced);
-
-		Label advancedPartLabel = new Label(compositeForAdvanced, SWT.NONE);
-		advancedPartLabel.setText(TXMUIMessages.ampQuery);
-		advancedPartLabel.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
-
-		queryText = new QueryWidget(compositeForAdvanced, SWT.DROP_DOWN, corpus.getProject(), CQPSearchEngine.getEngine());
-		queryText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
-		GridData gridData = new GridData(GridData.FILL, GridData.CENTER, true, false);
-		gridData.widthHint = convertHeightInCharsToPixels(20);
-		queryText.setLayoutData(gridData);
-
 		// check the state of the OK button according to the change of tab
 		// --------------------------------
 
@@ -220,17 +183,16 @@
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 
-				subcorpusMode = tabFolder.getSelectionIndex();
+				subcorpusMode = tabFolder.getSelection()[0];
 			}
 		});
 
 		return tabFolder;
 	}
 
-
-
 	@Override
 	public Button getButton(int id) {
+		
 		return super.getButton(id);
 	}
 
@@ -241,22 +203,20 @@
 	@Override
 	protected void okPressed() {
 
-		// auto-naming if needed
-		if (name.getText().length() == 0) {
+		if (nameField.getText().length() == 0) { // auto-naming if needed
 			String autoName = "subcorpus"; //$NON-NLS-1$
 
 			// Advanced mode
-			if (subcorpusMode == 0) {
+			if (subcorpusMode == simpleTab) {
 				autoName = this.simplePanel.getGeneratedName();
 			}
-			// Assisted mode (structure@property=1st_value)
-			else if (subcorpusMode == 1) {
+			else if (subcorpusMode == complexTab) { // Assisted mode (structure@property=1st_value)
 				autoName = this.complexPanel.getGeneratedName();
 			}
-			else if (subcorpusMode == 2) {
+			else if (subcorpusMode == contextsTab) {
 				autoName = this.contextsPanel.getGeneratedName();
 			} 
-			else if (subcorpusMode == 3) {
+			else if (subcorpusMode == advancedTab) {
 				autoName += "" + (this.corpus.getSubcorpora().size() + 1); //$NON-NLS-1$
 			} else {
 				autoName = this.complexPanel.getGeneratedName();
@@ -264,11 +224,10 @@
 			
 			Log.info(NLS.bind(TXMUIMessages.noSubcorpusNameWasSpecifiedWeveGeneratedOneP0, autoName));
 
-			name.setText(autoName);
+			nameField.setText(autoName);
 		}
 
-		if (subcorpusMode == 1) {
-
+		if (subcorpusMode == complexTab) {
 			// System.out.println("1 "+queryString);
 			queryString = this.complexPanel.getQueryFieldValue();
 			// System.out.println("2 "+queryString);
@@ -280,16 +239,13 @@
 					return;
 				}
 			}
-
-		} else if (subcorpusMode == 2) {
-
+		} else if (subcorpusMode == contextsTab) {
 			queryString = this.contextsPanel.getQueryString();
-		} else if (subcorpusMode == 3) {
-
-			queryString = queryText.getQueryString();
+		} else if (subcorpusMode == advancedTab) {
+			queryString = advancedPanel.getQueryString();
 		}
 
-		nameString = name.getText();
+		nameString = nameField.getText();
 		super.okPressed();
 	}
 
@@ -299,7 +255,8 @@
 	 * @return the structural unit
 	 */
 	public StructuralUnit getStructuralUnit() {
-		if (subcorpusMode == 3) {
+		
+		if (subcorpusMode == advancedTab) {
 			throw new IllegalStateException(TXMUIMessages.cannotAskForTheSimpleTabWhenTheUserHasSelectedTheAdvancedTab);
 		}
 		return simplePanel.selectedStructuralUnit;
@@ -311,7 +268,8 @@
 	 * @return the structural unit property
 	 */
 	public StructuralUnitProperty getStructuralUnitProperty() {
-		if (subcorpusMode == 2 || subcorpusMode == 3) {
+		
+		if (subcorpusMode == contextsTab || subcorpusMode == advancedTab) {
 			throw new IllegalStateException(TXMUIMessages.cannotAskForTheSimpleTabWhenTheUserHasSelectedTheAdvancedTab);
 		}
 		return simplePanel.selectedStructuralUnitProperty;
@@ -323,7 +281,8 @@
 	 * @return the values
 	 */
 	public List<String> getValues() {
-		if (subcorpusMode == 2 || subcorpusMode == 3) {
+		
+		if (subcorpusMode == contextsTab || subcorpusMode == advancedTab) {
 			throw new IllegalStateException(TXMUIMessages.cannotAskForTheSimpleTabWhenTheUserHasSelectedTheAdvancedTab);
 		}
 		return simplePanel.selectedValues;
@@ -335,7 +294,8 @@
 	 * @return the query
 	 */
 	public String getQuery() {
-		if (subcorpusMode == 0 ) {
+		
+		if (subcorpusMode == simpleTab) {
 			throw new IllegalStateException(TXMUIMessages.cannotAskForTheSimpleTabWhenTheUserHasSelectedTheAdvancedTab);
 		}
 		return queryString;
@@ -347,6 +307,7 @@
 	 * @return the name
 	 */
 	public String getName() {
+		
 		return nameString;
 	}
 
@@ -356,11 +317,12 @@
 	 * @return the sub corpus name
 	 */
 	public String getSubCorpusName() {
-		return name.getText();
+		
+		return nameField.getText();
 	}
 
-	public int getMode() {
-
-		return subcorpusMode;
+	public boolean isQueryBased() {
+		
+		return subcorpusMode == complexTab || subcorpusMode == contextsTab || subcorpusMode == advancedTab;
 	}
 }
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ComplexSubcorpusPanel.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ComplexSubcorpusPanel.java	(revision 3976)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ComplexSubcorpusPanel.java	(revision 3977)
@@ -1,459 +0,0 @@
-// Copyright © 2010-2020 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.rcp.swt.widget;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.LinkedHashSet;
-import java.util.List;
-
-import org.apache.commons.lang.StringUtils;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.txm.core.messages.TXMCoreMessages;
-import org.txm.rcp.messages.TXMUIMessages;
-import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
-import org.txm.searchengine.cqp.corpus.CQPCorpus;
-import org.txm.searchengine.cqp.corpus.StructuralUnit;
-import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
-
-// TODO: Auto-generated Javadoc
-/**
- * The Class ComplexSubcorpusPanel.
- */
-public class ComplexSubcorpusPanel extends Composite {
-	
-	/** The self. */
-	ComplexSubcorpusPanel self;
-	
-	/** The corpus. */
-	CQPCorpus corpus;
-	
-	/** The query. */
-	String query;
-	
-	/** The btn area. */
-	Composite parent, partArea, firstArea, dispoArea, btnArea;
-	
-	/** The structuralunits. */
-	List<StructuralUnit> structuralunits;
-	
-	/** The structural units properties. */
-	HashMap<StructuralUnit, List<StructuralUnitProperty>> structuralUnitsProperties = new HashMap<>();
-	
-	/** The query items. */
-	ArrayList<QueryItem> queryItems = new ArrayList<>();
-	
-	/** The queries panel. */
-	Composite queriesPanel;
-	
-	/** The query field. */
-	Text queryField;
-	
-	/** The and btn. */
-	Button andBtn;
-	
-	/**
-	 * Instantiates a new complex subcorpus panel.
-	 *
-	 * @param parent the parent
-	 * @param style the style
-	 * @param corpus the corpus
-	 */
-	public ComplexSubcorpusPanel(Composite parent, int style, CQPCorpus corpus) {
-		super(parent, style);
-		self = this;
-		this.setLayout(new GridLayout(3, false));
-		this.corpus = corpus;
-		
-		try {
-			this.structuralunits = new ArrayList<>(corpus.getOrderedStructuralUnits());
-			for (int i = 0; i < this.structuralunits.size(); i++) {
-				if (this.structuralunits.get(i).getName().equals("txmcorpus")) { //$NON-NLS-1$
-					this.structuralunits.remove(i);
-					i--;
-				}
-			}
-		}
-		catch (CqiClientException e) {
-			org.txm.utils.logger.Log.printStackTrace(e);
-		}
-		
-		for (StructuralUnit su : this.structuralunits) {
-			List<StructuralUnitProperty> properties = new ArrayList<>(su.getOrderedProperties());
-			if (su.getName().equals("text")) { //$NON-NLS-1$
-				for (int i = 0; i < properties.size(); i++) {
-					if (properties.get(i).getName().equals("base") || //$NON-NLS-1$
-							properties.get(i).getName().equals("project")) { //$NON-NLS-1$
-						properties.remove(i);
-						i--;
-					}
-				}
-			}
-			structuralUnitsProperties.put(su, properties);
-		}
-		
-		Label firstStep = new Label(this, SWT.NONE);
-		firstStep.setText(TXMUIMessages.oneConfigure);
-		firstStep = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-		firstStep.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
-		
-		Group andorGroup = new Group(this, SWT.SHADOW_ETCHED_IN);
-		andorGroup.setText(TXMUIMessages.match);
-		andorGroup.setLayout(new GridLayout(2, false));
-		andorGroup.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 3, 1));
-		
-		andBtn = new Button(andorGroup, SWT.RADIO);
-		andBtn.setText(TXMUIMessages.allCriteria);
-		andBtn.setSelection(true);
-		
-		Button orBtn = new Button(andorGroup, SWT.RADIO);
-		orBtn.setText(TXMUIMessages.someCriteria);
-		orBtn.setSelection(false);
-		
-		queriesPanel = new Composite(this, SWT.NONE);
-		queriesPanel.setLayout(new GridLayout(1, false));
-		queriesPanel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 3, 1));
-		QueryItem item = new QueryItem(queriesPanel, SWT.NONE);
-		item.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-		queryItems.add(item);
-		// choix OU / ET
-		// 3 combos : struc, prop, value
-		// Add/Rmv contrainte
-		// affichage requete
-		
-		Label secondStep = new Label(this, SWT.NONE);
-		secondStep.setText(TXMUIMessages.twoGenerateTheQuery);
-		secondStep = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
-		secondStep.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
-		
-		Label l = new Label(this, SWT.NONE);
-		l.setText(TXMUIMessages.query);
-		
-		queryField = new Text(this, SWT.BORDER);
-		queryField.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-		
-		Button refreshBtn = new Button(this, SWT.PUSH);
-		refreshBtn.setText(TXMUIMessages.refreshTheQuery);
-		refreshBtn.addSelectionListener(new SelectionListener() {
-			
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				updateQueryField();
-			}
-			
-			@Override
-			public void widgetDefaultSelected(SelectionEvent e) {
-				
-			}
-		});
-		
-		// first init
-		updateQueryField();
-	}
-	
-	public void updateQueryField() {
-		queryField.setText(getQueryString());
-		queryField.update();
-	}
-	
-	/**
-	 * Update display.
-	 */
-	public void updateDisplay() {
-		firstArea.layout();
-		dispoArea.layout();
-		partArea.layout();
-		btnArea.layout();
-		parent.layout();
-		parent.getParent().layout();
-	}
-	
-	/**
-	 * Gets the query string.
-	 *
-	 * @return the query string
-	 */
-	public String getQueryString() {
-		
-		LinkedHashSet<String> parts = new LinkedHashSet<>(); // to avoid duplicates 
-		for (QueryItem item : queryItems) {
-			
-			String query = ""; //$NON-NLS-1$
-			
-			String prop = item.selectedSup.getFullName();
-			IStructuredSelection sel = item.valueCombo.getStructuredSelection();
-			String value = StringUtils.join(sel.toList(), "|"); //$NON-NLS-1$
-			
-			int test = item.testCombo.getSelectionIndex();
-			
-			if (test == 0) // is
-				query = " _."+ prop + "=\"" + value + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else if (test == 1) // is not
-				query = " _."+ prop + "!=\"" + value + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else if (test == 2) // contains
-				query = " _."+ prop + "=\".*" + value + ".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else // does not contain
-				query = " _."+ prop + "!=\".*" + value + ".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			
-			parts.add(query);
-		}
-		
-		String sep = " | "; //$NON-NLS-1$
-		if (andBtn.getSelection()) {
-			sep = " & "; //$NON-NLS-1$
-		}
-		
-		return "["+ StringUtils.join(parts, sep)+"] expand to "+queryItems.get(queryItems.size() - 1).structCombo.getText(); //$NON-NLS-1$ //$NON-NLS-2$
-		
-	}
-	
-	public String getQueryFieldValue() {
-		String query = this.queryField.getText();
-		if (query == null || query.length() == 0) {
-			query = getQueryString();
-		}
-		return query;
-	}
-	
-	public String getGeneratedName() {
-		
-		LinkedHashSet<String> parts = new LinkedHashSet<>();
-		
-		for (QueryItem queryItem : queryItems) {
-			
-			String testString = "="; //$NON-NLS-1$
-			int test = queryItem.testCombo.getSelectionIndex();
-			if (test == 0) // is
-				testString = "="; //$NON-NLS-1$
-			else if (test == 1) // is not
-				testString = "!="; //$NON-NLS-1$
-			else if (test == 2) // contains
-				testString = " contains "; //$NON-NLS-1$
-			else // does not contain
-				testString = " does not contains"; //$NON-NLS-1$
-			
-			String generated = queryItem.selectedSup.asFullNameString() + testString + queryItem.valueCombo.getList().getSelection()[0];
-			parts.add(generated);
-		}
-		
-		String sep = " | "; //$NON-NLS-1$
-		if (andBtn.getSelection())
-			sep = " & "; //$NON-NLS-1$
-		
-		return StringUtils.join(parts, sep);
-	}
-	
-	/**
-	 * The Class QueryItem.
-	 */
-	class QueryItem extends Composite {
-		
-		/** The struct combo. */
-		Combo structCombo;
-		
-		/** The prop combo. */
-		Combo propCombo;
-		
-		/** The test combo. */
-		Combo testCombo;
-		
-		/** The value combo. */
-		ListViewer valueCombo;
-		
-		/** The sups. */
-		List<StructuralUnitProperty> sups;
-		
-		/** The selected sup. */
-		StructuralUnitProperty selectedSup;
-		
-		/** The selected su. */
-		StructuralUnit selectedSu;
-		
-		/**
-		 * Instantiates a new query item.
-		 *
-		 * @param parent the parent
-		 * @param style the style
-		 */
-		public QueryItem(Composite parent, int style) {
-			super(parent, style);
-			
-			this.setLayout(new GridLayout(7, false));
-			
-			// structure choice
-			Label l = new Label(this, SWT.None);
-			l.setText(TXMCoreMessages.common_structure);
-			
-			structCombo = new Combo(this, SWT.READ_ONLY);
-			structCombo.addSelectionListener(new SelectionListener() {
-				
-				@Override
-				public void widgetSelected(SelectionEvent e) {
-					for (QueryItem item : queryItems)
-						item.refreshProps();
-				}
-				
-				@Override
-				public void widgetDefaultSelected(SelectionEvent e) {}
-			});
-			
-			int i_text = 0, i = 0;
-			for (StructuralUnit su : structuralunits) {
-				structCombo.add(su.getName());
-				if (su.getName().equals("text")) i_text = i; //$NON-NLS-1$
-				i++;
-			}
-			
-			if (structuralunits.size() > 0) {
-				structCombo.select(i_text);
-			}
-			
-			propCombo = new Combo(this, SWT.READ_ONLY);
-			propCombo.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-			propCombo.addSelectionListener(new SelectionListener() {
-				
-				@Override
-				public void widgetSelected(SelectionEvent e) {
-					refreshValues();
-				}
-				
-				@Override
-				public void widgetDefaultSelected(SelectionEvent e) {}
-			});
-			
-			testCombo = new Combo(this, SWT.READ_ONLY);
-			testCombo.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-			testCombo.add("is"); //$NON-NLS-1$
-			testCombo.add("is not"); //$NON-NLS-1$
-			testCombo.add(TXMUIMessages.contains);
-			testCombo.add(TXMUIMessages.doesNotContain);
-			testCombo.select(0);
-			
-			valueCombo = new ListViewer(this, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);
-			valueCombo.setContentProvider(new ArrayContentProvider());
-			GridData data = new GridData(GridData.FILL, GridData.FILL, true, false);
-			data.heightHint = testCombo.getItemHeight();
-			valueCombo.getList().setLayoutData(data);
-			if (structuralunits.size() > 0) {
-				refreshProps();
-			}
-			
-			Button btnAdd = new Button(this, SWT.PUSH);
-			btnAdd.setText("+"); //$NON-NLS-1$
-			btnAdd.addSelectionListener(new SelectionListener() {
-				
-				@Override
-				public void widgetSelected(SelectionEvent e) {
-					// System.out.println("add constraint");
-					QueryItem item = new QueryItem(queriesPanel, SWT.NONE);
-					item.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
-					queryItems.add(item);
-					ComplexSubcorpusPanel.this.layout();
-					// System.out.println(getQueryString());
-				}
-				
-				@Override
-				public void widgetDefaultSelected(SelectionEvent e) {}
-			});
-			
-			Button btnRmv = new Button(this, SWT.PUSH);
-			btnRmv.setText("-"); //$NON-NLS-1$
-			btnRmv.addSelectionListener(new SelectionListener() {
-				
-				@Override
-				public void widgetSelected(SelectionEvent e) {
-					if (queryItems.size() > 1) {
-						QueryItem.this.dispose();
-						queryItems.remove(QueryItem.this);
-						ComplexSubcorpusPanel.this.layout();
-					}
-				}
-				
-				@Override
-				public void widgetDefaultSelected(SelectionEvent e) {}
-			});
-		}
-		
-		/**
-		 * Refresh props.
-		 */
-		private void refreshProps() {
-			propCombo.removeAll();
-			selectedSu = structuralunits.get(structCombo.getSelectionIndex());
-			sups = structuralUnitsProperties.get(selectedSu);
-			
-			for (StructuralUnitProperty sup : sups)
-				propCombo.add(sup.getName());
-			
-			if (sups.size() > 0) {
-				selectedSup = sups.get(0);
-				propCombo.select(0);
-				refreshValues();
-			}
-		}
-		
-		/**
-		 * Refresh values.
-		 */
-		private void refreshValues() {
-			
-			selectedSup = sups.get(propCombo.getSelectionIndex());
-			try {
-				valueCombo.setInput(selectedSup.getOrderedValues());
-			}
-			catch (CqiClientException e1) {
-				org.txm.utils.logger.Log.printStackTrace(e1);
-			}
-			if (valueCombo.getList().getItemCount() > 0)
-				valueCombo.getList().select(0);
-		}
-		
-		/**
-		 * Gets the structural unit.
-		 *
-		 * @return the structural unit
-		 */
-		public StructuralUnit getStructuralUnit() {
-			return null;
-		}
-	}
-}
Index: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/ComplexSubcorpusPanel.java
===================================================================
--- TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/ComplexSubcorpusPanel.java	(revision 0)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/ComplexSubcorpusPanel.java	(revision 3977)
@@ -0,0 +1,457 @@
+// Copyright © 2010-2020 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.rcp.swt.widget.structures;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.LinkedHashSet;
+import java.util.List;
+
+import org.apache.commons.lang.StringUtils;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.ListViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.events.SelectionListener;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Combo;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Group;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.txm.core.messages.TXMCoreMessages;
+import org.txm.rcp.messages.TXMUIMessages;
+import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
+import org.txm.searchengine.cqp.corpus.CQPCorpus;
+import org.txm.searchengine.cqp.corpus.StructuralUnit;
+import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
+
+// TODO: Auto-generated Javadoc
+/**
+ * The Class ComplexSubcorpusPanel.
+ */
+public class ComplexSubcorpusPanel extends Composite {
+	
+	/** The self. */
+	
+	/** The corpus. */
+	CQPCorpus corpus;
+	
+	/** The query. */
+	String query;
+	
+	/** The btn area. */
+	Composite parent, partArea, firstArea, dispoArea, btnArea;
+	
+	/** The structuralunits. */
+	List<StructuralUnit> structuralunits;
+	
+	/** The structural units properties. */
+	HashMap<StructuralUnit, List<StructuralUnitProperty>> structuralUnitsProperties = new HashMap<>();
+	
+	/** The query items. */
+	ArrayList<QueryItem> queryItems = new ArrayList<>();
+	
+	/** The queries panel. */
+	Composite queriesPanel;
+	
+	/** The query field. */
+	Text queryField;
+	
+	/** The and btn. */
+	Button andBtn;
+	
+	/**
+	 * Instantiates a new complex subcorpus panel.
+	 *
+	 * @param parent the parent
+	 * @param style the style
+	 * @param corpus the corpus
+	 */
+	public ComplexSubcorpusPanel(Composite parent, int style, CQPCorpus corpus) {
+		super(parent, style);
+		this.setLayout(new GridLayout(3, false));
+		this.corpus = corpus;
+		
+		try {
+			this.structuralunits = new ArrayList<>(corpus.getOrderedStructuralUnits());
+			for (int i = 0; i < this.structuralunits.size(); i++) {
+				if (this.structuralunits.get(i).getName().equals("txmcorpus")) { //$NON-NLS-1$
+					this.structuralunits.remove(i);
+					i--;
+				}
+			}
+		}
+		catch (CqiClientException e) {
+			org.txm.utils.logger.Log.printStackTrace(e);
+		}
+		
+		for (StructuralUnit su : this.structuralunits) {
+			List<StructuralUnitProperty> properties = new ArrayList<>(su.getOrderedProperties());
+			if (su.getName().equals("text")) { //$NON-NLS-1$
+				for (int i = 0; i < properties.size(); i++) {
+					if (properties.get(i).getName().equals("base") || //$NON-NLS-1$
+							properties.get(i).getName().equals("project")) { //$NON-NLS-1$
+						properties.remove(i);
+						i--;
+					}
+				}
+			}
+			structuralUnitsProperties.put(su, properties);
+		}
+		
+		Label firstStep = new Label(this, SWT.NONE);
+		firstStep.setText(TXMUIMessages.oneConfigure);
+		firstStep = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
+		firstStep.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
+		
+		Group andorGroup = new Group(this, SWT.SHADOW_ETCHED_IN);
+		andorGroup.setText(TXMUIMessages.match);
+		andorGroup.setLayout(new GridLayout(2, false));
+		andorGroup.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 3, 1));
+		
+		andBtn = new Button(andorGroup, SWT.RADIO);
+		andBtn.setText(TXMUIMessages.allCriteria);
+		andBtn.setSelection(true);
+		
+		Button orBtn = new Button(andorGroup, SWT.RADIO);
+		orBtn.setText(TXMUIMessages.someCriteria);
+		orBtn.setSelection(false);
+		
+		queriesPanel = new Composite(this, SWT.NONE);
+		queriesPanel.setLayout(new GridLayout(1, false));
+		queriesPanel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 3, 1));
+		QueryItem item = new QueryItem(queriesPanel, SWT.NONE);
+		item.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		queryItems.add(item);
+		// choix OU / ET
+		// 3 combos : struc, prop, value
+		// Add/Rmv contrainte
+		// affichage requete
+		
+		Label secondStep = new Label(this, SWT.NONE);
+		secondStep.setText(TXMUIMessages.twoGenerateTheQuery);
+		secondStep = new Label(this, SWT.SEPARATOR | SWT.HORIZONTAL);
+		secondStep.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
+		
+		Label l = new Label(this, SWT.NONE);
+		l.setText(TXMUIMessages.query);
+		
+		queryField = new Text(this, SWT.BORDER);
+		queryField.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+		
+		Button refreshBtn = new Button(this, SWT.PUSH);
+		refreshBtn.setText(TXMUIMessages.refreshTheQuery);
+		refreshBtn.addSelectionListener(new SelectionListener() {
+			
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				updateQueryField();
+			}
+			
+			@Override
+			public void widgetDefaultSelected(SelectionEvent e) {
+				
+			}
+		});
+		
+		// first init
+		updateQueryField();
+	}
+	
+	public void updateQueryField() {
+		queryField.setText(getQueryString());
+		queryField.update();
+	}
+	
+	/**
+	 * Update display.
+	 */
+	public void updateDisplay() {
+		firstArea.layout();
+		dispoArea.layout();
+		partArea.layout();
+		btnArea.layout();
+		parent.layout();
+		parent.getParent().layout();
+	}
+	
+	/**
+	 * Gets the query string.
+	 *
+	 * @return the query string
+	 */
+	public String getQueryString() {
+		
+		LinkedHashSet<String> parts = new LinkedHashSet<>(); // to avoid duplicates 
+		for (QueryItem item : queryItems) {
+			
+			String query = ""; //$NON-NLS-1$
+			
+			String prop = item.selectedSup.getFullName();
+			IStructuredSelection sel = item.valueCombo.getStructuredSelection();
+			String value = StringUtils.join(sel.toList(), "|"); //$NON-NLS-1$
+			
+			int test = item.testCombo.getSelectionIndex();
+			
+			if (test == 0) // is
+				query = " _."+ prop + "=\"" + value + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			else if (test == 1) // is not
+				query = " _."+ prop + "!=\"" + value + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			else if (test == 2) // contains
+				query = " _."+ prop + "=\".*" + value + ".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			else // does not contain
+				query = " _."+ prop + "!=\".*" + value + ".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			
+			parts.add(query);
+		}
+		
+		String sep = " | "; //$NON-NLS-1$
+		if (andBtn.getSelection()) {
+			sep = " & "; //$NON-NLS-1$
+		}
+		
+		return "["+ StringUtils.join(parts, sep)+"] expand to "+queryItems.get(queryItems.size() - 1).structCombo.getText(); //$NON-NLS-1$ //$NON-NLS-2$
+		
+	}
+	
+	public String getQueryFieldValue() {
+		String query = this.queryField.getText();
+		if (query == null || query.length() == 0) {
+			query = getQueryString();
+		}
+		return query;
+	}
+	
+	public String getGeneratedName() {
+		
+		LinkedHashSet<String> parts = new LinkedHashSet<>();
+		
+		for (QueryItem queryItem : queryItems) {
+			
+			String testString = "="; //$NON-NLS-1$
+			int test = queryItem.testCombo.getSelectionIndex();
+			if (test == 0) // is
+				testString = "="; //$NON-NLS-1$
+			else if (test == 1) // is not
+				testString = "!="; //$NON-NLS-1$
+			else if (test == 2) // contains
+				testString = " contains "; //$NON-NLS-1$
+			else // does not contain
+				testString = " does not contains"; //$NON-NLS-1$
+			
+			String generated = queryItem.selectedSup.asFullNameString() + testString + queryItem.valueCombo.getList().getSelection()[0];
+			parts.add(generated);
+		}
+		
+		String sep = " | "; //$NON-NLS-1$
+		if (andBtn.getSelection())
+			sep = " & "; //$NON-NLS-1$
+		
+		return StringUtils.join(parts, sep);
+	}
+	
+	/**
+	 * The Class QueryItem.
+	 */
+	class QueryItem extends Composite {
+		
+		/** The struct combo. */
+		Combo structCombo;
+		
+		/** The prop combo. */
+		Combo propCombo;
+		
+		/** The test combo. */
+		Combo testCombo;
+		
+		/** The value combo. */
+		ListViewer valueCombo;
+		
+		/** The sups. */
+		List<StructuralUnitProperty> sups;
+		
+		/** The selected sup. */
+		StructuralUnitProperty selectedSup;
+		
+		/** The selected su. */
+		StructuralUnit selectedSu;
+		
+		/**
+		 * Instantiates a new query item.
+		 *
+		 * @param parent the parent
+		 * @param style the style
+		 */
+		public QueryItem(Composite parent, int style) {
+			super(parent, style);
+			
+			this.setLayout(new GridLayout(7, false));
+			
+			// structure choice
+			Label l = new Label(this, SWT.None);
+			l.setText(TXMCoreMessages.common_structure);
+			
+			structCombo = new Combo(this, SWT.READ_ONLY);
+			structCombo.addSelectionListener(new SelectionListener() {
+				
+				@Override
+				public void widgetSelected(SelectionEvent e) {
+					for (QueryItem item : queryItems)
+						item.refreshProps();
+				}
+				
+				@Override
+				public void widgetDefaultSelected(SelectionEvent e) {}
+			});
+			
+			int i_text = 0, i = 0;
+			for (StructuralUnit su : structuralunits) {
+				structCombo.add(su.getName());
+				if (su.getName().equals("text")) i_text = i; //$NON-NLS-1$
+				i++;
+			}
+			
+			if (structuralunits.size() > 0) {
+				structCombo.select(i_text);
+			}
+			
+			propCombo = new Combo(this, SWT.READ_ONLY);
+			propCombo.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+			propCombo.addSelectionListener(new SelectionListener() {
+				
+				@Override
+				public void widgetSelected(SelectionEvent e) {
+					refreshValues();
+				}
+				
+				@Override
+				public void widgetDefaultSelected(SelectionEvent e) {}
+			});
+			
+			testCombo = new Combo(this, SWT.READ_ONLY);
+			testCombo.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+			testCombo.add("is"); //$NON-NLS-1$
+			testCombo.add("is not"); //$NON-NLS-1$
+			testCombo.add(TXMUIMessages.contains);
+			testCombo.add(TXMUIMessages.doesNotContain);
+			testCombo.select(0);
+			
+			valueCombo = new ListViewer(this, SWT.MULTI | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);
+			valueCombo.setContentProvider(new ArrayContentProvider());
+			GridData data = new GridData(GridData.FILL, GridData.FILL, true, false);
+			data.heightHint = testCombo.getItemHeight();
+			valueCombo.getList().setLayoutData(data);
+			if (structuralunits.size() > 0) {
+				refreshProps();
+			}
+			
+			Button btnAdd = new Button(this, SWT.PUSH);
+			btnAdd.setText("+"); //$NON-NLS-1$
+			btnAdd.addSelectionListener(new SelectionListener() {
+				
+				@Override
+				public void widgetSelected(SelectionEvent e) {
+					// System.out.println("add constraint");
+					QueryItem item = new QueryItem(queriesPanel, SWT.NONE);
+					item.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
+					queryItems.add(item);
+					ComplexSubcorpusPanel.this.layout();
+					// System.out.println(getQueryString());
+				}
+				
+				@Override
+				public void widgetDefaultSelected(SelectionEvent e) {}
+			});
+			
+			Button btnRmv = new Button(this, SWT.PUSH);
+			btnRmv.setText("-"); //$NON-NLS-1$
+			btnRmv.addSelectionListener(new SelectionListener() {
+				
+				@Override
+				public void widgetSelected(SelectionEvent e) {
+					if (queryItems.size() > 1) {
+						QueryItem.this.dispose();
+						queryItems.remove(QueryItem.this);
+						ComplexSubcorpusPanel.this.layout();
+					}
+				}
+				
+				@Override
+				public void widgetDefaultSelected(SelectionEvent e) {}
+			});
+		}
+		
+		/**
+		 * Refresh props.
+		 */
+		private void refreshProps() {
+			propCombo.removeAll();
+			selectedSu = structuralunits.get(structCombo.getSelectionIndex());
+			sups = structuralUnitsProperties.get(selectedSu);
+			
+			for (StructuralUnitProperty sup : sups)
+				propCombo.add(sup.getName());
+			
+			if (sups.size() > 0) {
+				selectedSup = sups.get(0);
+				propCombo.select(0);
+				refreshValues();
+			}
+		}
+		
+		/**
+		 * Refresh values.
+		 */
+		private void refreshValues() {
+			
+			selectedSup = sups.get(propCombo.getSelectionIndex());
+			try {
+				valueCombo.setInput(selectedSup.getOrderedValues());
+			}
+			catch (CqiClientException e1) {
+				org.txm.utils.logger.Log.printStackTrace(e1);
+			}
+			if (valueCombo.getList().getItemCount() > 0)
+				valueCombo.getList().select(0);
+		}
+		
+		/**
+		 * Gets the structural unit.
+		 *
+		 * @return the structural unit
+		 */
+		public StructuralUnit getStructuralUnit() {
+			return null;
+		}
+	}
+}

Property changes on: TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/ComplexSubcorpusPanel.java
___________________________________________________________________
Added: svn:mime-type
   + text/plain

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 3976)
+++ TXM/trunk/bundles/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/SimpleSubcorpusPanel.java	(revision 3977)
@@ -5,11 +5,6 @@
 import java.util.List;
 
 import org.apache.commons.lang.StringUtils;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ListViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -20,7 +15,6 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Label;
 import org.txm.core.messages.TXMCoreMessages;
-import org.txm.rcp.actions.CreateSubcorpusDialog;
 import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
@@ -30,8 +24,6 @@
 import org.txm.searchengine.cqp.corpus.query.SubcorpusCQLQuery;
 import org.txm.utils.logger.Log;
 
-import cern.colt.Arrays;
-
 public class SimpleSubcorpusPanel extends Composite {
 
 	public StructuralUnit selectedStructuralUnit;
