Index: tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java
===================================================================
--- tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 1978)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 1979)
@@ -175,8 +175,10 @@
 	@Parameter
 	private QueryResult pQueryResult;
 	
+	public void setQueryResult(QueryResult pQueryResult) {
+		this.pQueryResult = pQueryResult;
+	}
 	
-	
 
 	/**
 	 * 
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsIndexMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsIndexMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsIndexMacro.groovy	(revision 1979)
@@ -12,11 +12,12 @@
 import org.txm.Toolbox
 import org.txm.annotation.urs.*
 import org.txm.lexicaltable.core.statsengine.r.data.LexicalTableImpl
-import org.txm.macro.analec.*
+import org.txm.macro.urs.*
 import org.txm.rcp.commands.*
 import org.txm.rcp.swt.widget.parameters.*
 import org.txm.rcp.views.corpora.CorporaView
 import org.txm.searchengine.cqp.corpus.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 import org.txm.statsengine.r.core.RWorkspace
 
 import visuAnalec.donnees.*
@@ -91,7 +92,7 @@
 	mainCorpus = corpus.getMainCorpus()
 
 	def word = mainCorpus.getWordProperty()
-	def analecCorpus = URSCorpora.getCorpus(mainCorpus.getName())
+	def analecCorpus = URSCorpora.getCorpus(mainCorpus)
 
 	if (unit_property_display.length() > 0) {
 		def errors = AnalecUtils.isPropertyDefined(Unite.class, analecCorpus, unit_ursql, unit_property_display).size()
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/StructuresIndexMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/StructuresIndexMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/StructuresIndexMacro.groovy	(revision 1979)
@@ -84,6 +84,7 @@
 import org.txm.Toolbox
 import org.eclipse.ui.console.*
 import org.txm.macro.cqp.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 import org.txm.searchengine.cqp.corpus.CQPCorpus
 import org.txm.searchengine.cqp.corpus.Partition
 import org.txm.searchengine.cqp.corpus.Property
@@ -91,6 +92,7 @@
 import org.txm.searchengine.cqp.corpus.Subcorpus;
 import org.txm.searchengine.cqp.corpus.query.CQLQuery
 import org.txm.rcp.commands.*
+import org.txm.statsengine.r.core.RWorkspace
 
 byte CQI_CONST_FIELD_MATCH = (byte) 0x10
 
@@ -196,7 +198,7 @@
 		// afficher la liste décroissante des fréquences du résultat
 		//println freqs.sort { -it.value }
 
-		
+
 		//def tF = freqs.sum() // control value
 		def v = freqs.size()
 		def fmin = freqs.min()
@@ -243,14 +245,14 @@
 		def unit = allUnites[iCurrentUnit]
 		def match = matches[iCurrentMatch]
 		if (unit[1] < match.getStart()) {
-				iCurrentUnit++
+			iCurrentUnit++
 		} else if (unit[0] > match.getEnd()) {
-				iCurrentMatch++
+			iCurrentMatch++
 		} else {
 
-				if (match.getStart() <= unit[0] && unit[1] <= match.getEnd()) {
-					selectedUnits << unit
-				}
+			if (match.getStart() <= unit[0] && unit[1] <= match.getEnd()) {
+				selectedUnits << unit
+			}
 
 			iCurrentUnit++
 		}
@@ -266,7 +268,7 @@
 	println "Corpus QualifiedCqpId = "+corpus.getCqpId()
 	println "MainCorpus = "+mainCorpusName
 	println "Corpus QualifiedCqpId = "+corpus.getMainCorpus().getCqpId()
-	
+
 	def struct_names = (CQI.corpusStructuralAttributes(corpus.getMainCorpus().getCqpId()) as List)
 	struct_names.removeAll { it.contains('_') }
 	struct_names=(struct_names-"txmcorpus").grep(corpusStructs)
@@ -492,15 +494,21 @@
 	/// END OF R SCRIPT
 
 	// execute R script
-	r.eval("library(ggplot2)")
-	r.eval(script+"ggsave(file=\"${PNGFilePath}\", plot=p)")
-	r.eval(script+"ggsave(file=\"${SVGFilePath}\", plot=p)")
-
-	//display the SVG results graphic
-	monitor.syncExec(new Runnable() {
-				@Override
-				public void run() { try { OpenSVGGraph.OpenSVGFile(SVGFilePath, "Longueur des structures de "+corpusName) } catch(Exception e) {e.printStackTrace()} }
-			})
-
-}
-
+	try {
+		r.eval("library(ggplot2)")
+		try {
+			r.eval(script+"ggsave(file=\"${PNGFilePath}\", plot=p)")
+			r.eval(script+"ggsave(file=\"${SVGFilePath}\", plot=p)")
+	
+			//display the SVG results graphic
+			monitor.syncExec(new Runnable() {
+						@Override
+						public void run() { try { OpenSVGGraph.OpenSVGFile(SVGFilePath, "Longueur des structures de "+corpusName) } catch(Exception e) {e.printStackTrace()} }
+					})
+		} catch (Exception e) {
+			println "** Error: "+e
+		}
+	} catch (Exception e) {
+		println "** The 'ggplot2' R package is not installed. Start R ("+RWorkspace.getExecutablePath()+") and run 'install.packages(\"ggplot2\");'."
+	}
+}
\ No newline at end of file
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/SchemasProgressionMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/SchemasProgressionMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/SchemasProgressionMacro.groovy	(revision 1979)
@@ -19,9 +19,10 @@
 import org.txm.rcp.Application
 import org.txm.rcp.IImageKeys
 import org.txm.rcp.swt.widget.parameters.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 import org.txm.searchengine.cqp.corpus.*
 import org.txm.searchengine.cqp.corpus.query.CQLQuery
-
+import org.txm.chartsengine.rcp.*;
 import visuAnalec.elements.*
 
 def scriptName = this.class.getSimpleName()
@@ -47,7 +48,7 @@
 		String unit_ursql
 @Field @Option(name="limit_distance_in_schema", usage="Unit distance in schema (0 = no selection, 1 = first after limit, -1 = last before limit, etc.)", widget="Integer", required=true, def="0")
 		int limit_distance_in_schema
-@Field @Option(name="limit_cql", usage="CQL to build structure limits", widget="Query", required=true, def="")
+@Field @Option(name="limit_cql", usage="CQL to build structure limits", widget="Query", required=false, def="")
 		limit_cql
 @Field @Option(name="strict_inclusion", usage="Units must be strictly included into corpus matches", widget="Boolean", required=true, def="true")
 		boolean strict_inclusion
@@ -94,7 +95,7 @@
 	mainCorpus = corpus.getMainCorpus()
 
 	def word = mainCorpus.getWordProperty()
-	def analecCorpus = URSCorpora.getCorpus(mainCorpus.getName())
+	def analecCorpus = URSCorpora.getCorpus(mainCorpus)
 
 	if (schema_property_display.length() > 0) {
 		def errors = AnalecUtils.isPropertyDefined(Schema.class, analecCorpus, schema_ursql, schema_property_display).size()
@@ -193,13 +194,13 @@
 		struct_p = struct.getProperty(struct_prop)
 	}
 	
-	Progression progression = new Progression(corpus, queries,
+	Progression progression = new Progression(corpus);
+	progression.setParameters(queries,
 			struct, struct_p,	".*",
-			cummulative, false, false,
-			line_width, false, bande_width)
+			cummulative, line_width, false, bande_width)
 
-	progression.stepQueries(queryResults); // new
-
+	progression.setQueryResults(queryResults); // new
+	progression.compute()
 	if (!progression.stepStructuralUnits() || monitor.isCanceled())	return
 		monitor.worked(20)
 	if (!progression.stepFinalize() || monitor.isCanceled()) return
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsListMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsListMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsListMacro.groovy	(revision 1979)
@@ -15,11 +15,13 @@
 import org.txm.annotation.urs.*
 import org.txm.concordance.core.functions.Concordance
 import org.txm.concordance.rcp.editors.ConcordanceEditor
+import org.txm.concordance.rcp.handlers.*
 import org.txm.macro.urs.AnalecUtils
 import org.txm.searchengine.cqp.AbstractCqiClient
 import org.txm.searchengine.cqp.ReferencePattern
 import org.txm.searchengine.cqp.corpus.*
 import org.txm.searchengine.cqp.corpus.query.CQLQuery
+import org.txm.searchengine.cqp.CQPSearchEngine
 
 import visuAnalec.donnees.Structure
 import visuAnalec.elements.*
@@ -71,7 +73,7 @@
 	mainCorpus = corpus.getMainCorpus()
 
 	def word = mainCorpus.getWordProperty()
-	def analecCorpus = URSCorpora.getCorpus(mainCorpus.getName())
+	def analecCorpus = URSCorpora.getCorpus(mainCorpus)
 
 	def selectedUnits = AnalecUtils.selectUnitsInSchema(debug, analecCorpus, corpus, schema_ursql, minimum_schema_size, maximum_schema_size,
 			unit_ursql, limit_distance_in_schema, limit_cql, strict_inclusion, limit_distance);
@@ -145,8 +147,9 @@
 
 		Concordance concordance = new Concordance(corpus);
 		concordance.setParameters(new CQLQuery(""), [word],[word],[word],
-				[word],[word],[word],
-				new ReferencePattern(text_id), new ReferencePattern(text_id), 7, 10)
+		[word],[word],[word],
+		new ReferencePattern(text_id), new ReferencePattern(text_id), 7, 10)
+		concordance.setQueryResult(fqr)
 
 		if (monitor == null) {
 			println "Error: cannot open concordance editor: null monitor"
@@ -155,10 +158,10 @@
 		monitor.syncExec(new Runnable() {
 					public void run() {
 						try {
-							concordance.compute(fqr); // skip the CQI.query step
-							
+							concordance.compute(); // skip the CQI.query step
+
 							ConcordanceEditor editor = ComputeConcordance.openEditor(concordance);
-							
+
 						} catch(Throwable error) {
 							println "Error: "+error;
 							error.printStackTrace();
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsSummaryMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsSummaryMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/UnitsSummaryMacro.groovy	(revision 1979)
@@ -16,6 +16,7 @@
 import org.txm.macro.urs.AnalecUtils
 import org.txm.searchengine.cqp.AbstractCqiClient
 import org.txm.searchengine.cqp.corpus.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 
 import visuAnalec.donnees.Structure
 import visuAnalec.elements.*
@@ -55,9 +56,8 @@
 if (!ParametersDialog.open(this)) return
 if (debug == "OFF") debug = 0; else if (debug == "ON") debug = 1; else if (debug == "ALL") debug = 2 else if (debug == "REALLY ALL") debug = 3
 
+def CQI = CQPSearchEngine.getCqiClient()
 
-	def CQI = CQPSearchEngine.getCqiClient()
-
 def allresults = new LinkedHashMap()
 def props = new HashSet()
 for (def corpus : selection) {
@@ -65,7 +65,7 @@
 	mainCorpus = corpus.getMainCorpus()
 
 	def word = mainCorpus.getWordProperty()
-	def analecCorpus = URSCorpora.getCorpus(mainCorpus.getName())
+	def analecCorpus = URSCorpora.getCorpus(mainCorpus)
 	for (def type : analecCorpus.getStructure().getUnites())
 		props.addAll(analecCorpus.getStructure().getUniteProperties(type));
 
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/SchemasSummaryMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/SchemasSummaryMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/exploit/SchemasSummaryMacro.groovy	(revision 1979)
@@ -16,6 +16,7 @@
 import org.txm.macro.urs.AnalecUtils
 import org.txm.searchengine.cqp.AbstractCqiClient
 import org.txm.searchengine.cqp.corpus.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 
 import visuAnalec.donnees.Structure
 import visuAnalec.elements.*
@@ -54,7 +55,7 @@
 	mainCorpus = corpus.getMainCorpus()
 
 	def word = mainCorpus.getWordProperty()
-	def analecCorpus = URSCorpora.getCorpus(mainCorpus.getName())
+	def analecCorpus = URSCorpora.getCorpus(mainCorpus)
 	for (def type : analecCorpus.getStructure().getUnites())
 		props.addAll(analecCorpus.getStructure().getUniteProperties(type));
 
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesMacro.groovy	(revision 1979)
@@ -17,7 +17,7 @@
 }
 
 // BEGINNING OF PARAMETERS
-@Field @Option(name="schema_type",usage="", widget="String", required=true, def="Coréférence")
+@Field @Option(name="schema_type",usage="", widget="String", required=true, def="MENTION")
 String schema_type
 
 if (!ParametersDialog.open(this)) return;
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitsCorrelationMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitsCorrelationMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitsCorrelationMacro.groovy	(revision 1979)
@@ -13,11 +13,13 @@
 import org.txm.Toolbox
 import org.txm.annotation.urs.*
 import org.txm.lexicaltable.core.statsengine.r.data.LexicalTableImpl
-import org.txm.macro.analec.*
+import org.txm.macro.urs.*
 import org.txm.rcp.commands.*
 import org.txm.rcp.swt.widget.parameters.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 import org.txm.searchengine.cqp.corpus.*
 import org.txm.searchengine.cqp.corpus.query.CQLQuery;
+import org.txm.statsengine.r.core.RWorkspace
 
 import visuAnalec.donnees.*
 import visuAnalec.elements.*
@@ -56,17 +58,17 @@
 @Field @Option(name="corr_method", usage="try them all", widget="StringArray", metaVar="pearson	spearman	kendall", required=false, def="pearson")
 		String corr_method
 @Field @Option(name="corr_style", usage="try them all", widget="StringArray", metaVar="circle	square	ellipse	number	shade	color	pie", required=false, def="number")
-String corr_style
+		String corr_style
 @Field @Option(name="corr_layout", usage="try them all", widget="StringArray", metaVar="full	lower	upper", required=false, def="upper")
-String corr_layout
+		String corr_layout
 @Field @Option(name="corr_order", usage="try them all", widget="StringArray", metaVar="AOE	FPC	hclust	alphabet", required=false, def="hclust")
-String corr_order
+		String corr_order
 @Field @Option(name="output_lexicaltable", usage="create or not a lexical table with the result", widget="Boolean", required=true, def="false")
 		output_lexicaltable
 @Field @Option(name="debug", usage="Show internal variable content", widget="StringArray", metaVar="OFF	ON	ALL	REALLY ALL", required=true, def="OFF")
 		debug
 if (!ParametersDialog.open(this)) return
-if (debug == "OFF") debug = 0; else if (debug == "ON") debug = 1; else if (debug == "ALL") debug = 2 else if (debug == "REALLY ALL") debug = 3
+	if (debug == "OFF") debug = 0; else if (debug == "ON") debug = 1; else if (debug == "ALL") debug = 2 else if (debug == "REALLY ALL") debug = 3
 
 
 def CQI = CQPSearchEngine.getCqiClient()
@@ -75,17 +77,17 @@
 def values1 = new HashSet()
 def values2 = new HashSet()
 def corpus = corpusViewSelection
-	
-	mainCorpus = corpus.getMainCorpus()
 
-	def word = mainCorpus.getWordProperty()
-	def analecCorpus = URSCorpora.getCorpus(mainCorpus.getName())
+mainCorpus = corpus.getMainCorpus()
 
+def word = mainCorpus.getWordProperty()
+def analecCorpus = URSCorpora.getCorpus(mainCorpus)
 
 
-	def selectedUnits = AnalecUtils.selectUnitsInSchema(debug, analecCorpus, corpus, schema_ursql, minimum_schema_size, maximum_schema_size, 
-	unit_ursql, limit_distance_in_schema, limit_cql, strict_inclusion, limit_distance);
 
+def selectedUnits = AnalecUtils.selectUnitsInSchema(debug, analecCorpus, corpus, schema_ursql, minimum_schema_size, maximum_schema_size,
+		unit_ursql, limit_distance_in_schema, limit_cql, strict_inclusion, limit_distance);
+
 for (def unit : selectedUnits) {
 	def value1 = unit.getProp(unit_prop1)
 	if (value1 == null) value1 = "<null>"
@@ -93,10 +95,10 @@
 	def value2 = unit.getProp(unit_prop2)
 	if (value2 == null) value2 = "<null>"
 	if (value2.length() == 0) value2 = "<empty>"
-	
+
 	values1 << value1
 	values2 << value2
-	
+
 	if (!correlations.containsKey(value1)) correlations[value1] = [:]
 	def line = correlations[value1]
 	if (!line.containsKey(value2)) line[value2] = 0
@@ -110,9 +112,9 @@
 	print value1
 	int j = 0;
 	for (def value2 : values2) {
-	if (correlations[value1][value2] == null) correlations[value1][value2] = 0;
+		if (correlations[value1][value2] == null) correlations[value1][value2] = 0;
 		print "\t"+correlations[value1][value2]
-		
+
 		matrix[i][j] = correlations[value1][value2]
 		j++
 	}
@@ -131,8 +133,6 @@
 resultsDir.mkdirs()
 file = File.createTempFile("txm_corr_pairs_", ".svg", resultsDir)
 
-
-
 def title = "${corpus.getMainCorpus()}.${corpus}\n${unit_ursql}"
 if (limit_distance > 1) title += "[${limit_distance}]."
 if (limit_cql != null && !limit_cql.getQueryString().equals("\"\"")) title += "\n(${limit_cql} limits)"
@@ -143,14 +143,22 @@
 r1 = cor(corrmatrix, use="complete.obs", method="$corr_method");
 r2 = cov(corrmatrix, use="complete.obs") ;
 
-library(corrplot)
 corrplot(r1, type="$corr_layout", order="$corr_order", method="$corr_style")
 """
 
 
 // execute R script
 if (!output_lexicaltable) {
-	r.plot(file, plotScript)
+	try {
+		r.eval("library(corrplot)")
+		try {
+			r.plot(file, plotScript)
+		} catch (Exception e) {
+			println "** Error: "+e
+		}
+	} catch (Exception e) {
+		println "** The 'corrplot' R package is not installed. Start R ("+RWorkspace.getExecutablePath()+") and run 'install.packages(\"corrplot\");'."
+	}
 }
 title = "$unit_prop1 $corr_method correlations"
 
@@ -177,23 +185,17 @@
 	}
 }
 
+monitor.syncExec(new Runnable() {
+			@Override
+			public void run() { try {
 
+					if (output_lexicaltable) {
+						CorporaView.refreshObject(corpus)
+						CorporaView.expand(lt)
+					} else {
+						OpenBrowser.openfile(file.getAbsolutePath(), "Correlations Units")
+					}
+				} catch (e) { e.printStackTrace() }}
+		})
 
-
-	monitor.syncExec(new Runnable() {
-				@Override
-				public void run() { try {
-				
-	
-						
-						if (UnitsCorrelationMacro.this.output_lexicaltable) {
-							CorporaView.refreshObject(corpus)
-							CorporaView.expand(lt)
-						} else {
-							OpenSVGGraph.OpenSVGFile(UnitsCorrelationMacro.this.file.getAbsolutePath(), "Correlations Units")
-						}
-					} catch (e) { e.printStackTrace() }}
-			})
-
-
 return correlations
\ No newline at end of file
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/CompUnitPropertiesMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/CompUnitPropertiesMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/CompUnitPropertiesMacro.groovy	(revision 1979)
@@ -13,6 +13,7 @@
 import org.txm.annotation.urs.*
 import org.txm.searchengine.cqp.AbstractCqiClient;
 import org.txm.searchengine.cqp.corpus.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 import visuAnalec.donnees.Structure;
 import visuAnalec.elements.Unite;
 
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/RelationsListMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/RelationsListMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/RelationsListMacro.groovy	(revision 1979)
@@ -16,6 +16,7 @@
 import org.txm.annotation.urs.*
 import org.txm.searchengine.cqp.AbstractCqiClient;
 import org.txm.searchengine.cqp.corpus.*
+import org.txm.searchengine.cqp.CQPSearchEngine
 
 import visuAnalec.donnees.Structure;
 import visuAnalec.elements.Relation
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesInSchemaMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesInSchemaMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesInSchemaMacro.groovy	(revision 1979)
@@ -17,7 +17,7 @@
 }
 
 // BEGINNING OF PARAMETERS
-@Field @Option(name="schema_type",usage="", widget="String", required=true, def="Coréférence")
+@Field @Option(name="schema_type",usage="", widget="String", required=true, def="CHAINE")
 String schema_type
 
 if (!ParametersDialog.open(this)) return;
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesNotInSchemaMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesNotInSchemaMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/UnitTypesNotInSchemaMacro.groovy	(revision 1979)
@@ -17,7 +17,7 @@
 }
 
 // BEGINNING OF PARAMETERS
-@Field @Option(name="schema_type",usage="", widget="String", required=true, def="Coréférence")
+@Field @Option(name="schema_type",usage="", widget="String", required=true, def="CHAINE")
 String schema_type
 if (!ParametersDialog.open(this)) return;
 
Index: tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/SchemasListMacro.groovy
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/SchemasListMacro.groovy	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/macro/urs/misc/SchemasListMacro.groovy	(revision 1979)
@@ -16,7 +16,7 @@
 import org.apache.commons.lang.StringUtils
 
 // BEGINNING OF PARAMETERS
-@Field @Option(name="schema_type",usage="", widget="String", required=true, def="Coréférence")
+@Field @Option(name="schema_type",usage="", widget="String", required=true, def="CHAIE")
 String schema_type
 
 @Field @Option(name="minimum_schema_size",usage="", widget="Integer", required=true, def="3")
@@ -28,7 +28,7 @@
 @Field @Option(name="schema_property_value",usage="", widget="String", required=false, def=".*")
 String schema_property_value
 
-@Field @Option(name="unit_type",usage="", widget="String", required=false, def="Maillon")
+@Field @Option(name="unit_type",usage="", widget="String", required=false, def="MENTION")
 String unit_type
 
 @Field @Option(name="unit_property_name", usage="", widget="String", required=false, def="")
@@ -46,7 +46,6 @@
 @Field @Option(name="buildCQL", usage="générer la requête des unités", widget="Boolean", required=true, def='false')
 def buildCQL
 
-
 if (!(corpusViewSelection instanceof MainCorpus)) {
 	println "Corpus view selection is not a Corpus"
 	return;
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/commands/SaveCorpus.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/commands/SaveCorpus.java	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/commands/SaveCorpus.java	(revision 1979)
@@ -48,7 +48,7 @@
 		File binaryCorpusDirectory = mainCorpus.getProjectDirectory();
 		File fichierCorpus = new File(binaryCorpusDirectory, "/analec/"+mainCorpus.getID()+".ec"); //$NON-NLS-1$ //$NON-NLS-2$
 		Corpus corpus = URSCorpora.getCorpus(mainCorpus);
-		System.out.println(NLS.bind(Messages.SaveCorpus_3, corpus, fichierCorpus));
+		System.out.println(NLS.bind(Messages.SaveCorpus_3, fichierCorpus));
 		if (!URSCorpora.saveCorpus(mainCorpus)) {
 			System.out.println(Messages.SaveCorpus_5);
 			return false;
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/messages.properties
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/messages.properties	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/messages.properties	(revision 1979)
@@ -199,7 +199,7 @@
 
 SaveCorpus_0 = Selection is not a main corpus: {0}
 
-SaveCorpus_3 = Saving the {0} corpus ({1})
+SaveCorpus_3 = Saving the annotations ({0})
 
 SaveCorpus_5 = Error while saving the corpus.
 
Index: tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/messages_fr.properties
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/messages_fr.properties	(revision 1978)
+++ tmp/org.txm.analec.rcp/src/org/txm/annotation/urs/messages_fr.properties	(revision 1979)
@@ -1,41 +1,41 @@
 
-AnalecPreferencePage_3 = Utiliser la correction des limites d'unité d'Analec
+AnalecPreferencePage_3 = Utiliser la correction des limites d'unit\u00E9 d'Analec
 
-AnalecPreferencePage_4 = Recherche d'autocomplétion par prefix (au lieu de infixe)
+AnalecPreferencePage_4 = Recherche d'autocompl\u00E9tion par prefix (au lieu de infixe)
 
-AnalecPreferencePage_9 = Palette de couleur de mise en évidence
+AnalecPreferencePage_9 = Palette de couleur de mise en \u00E9vidence
 
-AnnotationToolbar_0 = Pas de sélection trouvée. Abandon.
+AnnotationToolbar_0 = Pas de s\u00E9lection trouv\u00E9e. Abandon.
 
 AnnotationToolbar_6 = ** le nombre de match est {0}
 
-AnnotationToolbar_7 = la requête est {0}
+AnnotationToolbar_7 = la requ\u00EAte est {0}
 
-DoInstallStep_11 = Les macro URS précédentes ont été déplacée à {0}
+DoInstallStep_11 = Les macro URS pr\u00E9c\u00E9dentes ont \u00E9t\u00E9 d\u00E9plac\u00E9e \u00E0 {0}
 
-DoInstallStep_17 = ** Erreur lors de la copie du répertoire de macro "org/txm/macro/urs" dans {0}
+DoInstallStep_17 = ** Erreur lors de la copie du r\u00E9pertoire de macro "org/txm/macro/urs" dans {0}
 
-DoInstallStep_18 = URS post-installation terminé.
+DoInstallStep_18 = URS post-installation termin\u00E9.
 
 DoInstallStep_2 = URS.DoInstallStep.install()
 
-DoInstallStep_5 = Pas de post-installation URS à faire
+DoInstallStep_5 = Pas de post-installation URS \u00E0 faire
 
 DoInstallStep_6 = Post-installing URS version={0}
 
-DoInstallStep_9 = Le répertoire de backup existe déjà : {0}
+DoInstallStep_9 = Le r\u00E9pertoire de backup existe d\u00E9j\u00E0 : {0}
 
-EditStructure_0 = La sélection n'est pas un corpus : {0}
+EditStructure_0 = La s\u00E9lection n'est pas un corpus : {0}
 
-ExportGlozzCorpus_0 = La sélection n'est pas un corpus racine : {0}
+ExportGlozzCorpus_0 = La s\u00E9lection n'est pas un corpus racine : {0}
 
 ExportGlozzCorpus_1 = Export Glozz 
 
-ExportGlozzCorpus_2 = Annulé.
+ExportGlozzCorpus_2 = Annul\u00E9.
 
 ExportGlozzCorpus_3 = ** Erreur lors de l'export des annotations : {0}
 
-ExportTEICorpus_0 = La sélection n'est pas un corpus : {0}
+ExportTEICorpus_0 = La s\u00E9lection n'est pas un corpus : {0}
 
 ExportTEICorpus_1P0 = {0} annotations export...
 
@@ -43,15 +43,15 @@
 
 ExportTEICorpus_3 = ** Error lors de l'export du corpus to XML-URS : {0}
 
-ImportGlozzAnnotations_0 = Les fichiers "aa", "aam" et "ac" doivent être présent.
+ImportGlozzAnnotations_0 = Les fichiers "aa", "aam" et "ac" doivent \u00EAtre pr\u00E9sent.
 
-ImportGlozzAnnotations_1 = La sélection n'est pas un corpus racine : {0}
+ImportGlozzAnnotations_1 = La s\u00E9lection n'est pas un corpus racine : {0}
 
-ImportGlozzAnnotations_10 = Terminé.
+ImportGlozzAnnotations_10 = Termin\u00E9.
 
-ImportGlozzAnnotations_2 = Import du modèle Glozz depuis : {0}
+ImportGlozzAnnotations_2 = Import du mod\u00E8le Glozz depuis : {0}
 
-ImportGlozzAnnotations_3 = Erreur lors de l'import du modèle Glozz.
+ImportGlozzAnnotations_3 = Erreur lors de l'import du mod\u00E8le Glozz.
 
 ImportGlozzAnnotations_4 = Import du corpus Glozz avec les fichiers {0} et {1} 
 
@@ -59,55 +59,55 @@
 
 ImportGlozzAnnotations_7 = Reindexer les annotations avec les mots TXM
 
-ImportGlozzAnnotations_8 = ** Erreur lors de la réindexation des annotations URS.
+ImportGlozzAnnotations_8 = ** Erreur lors de la r\u00E9indexation des annotations URS.
 
 ImportGlozzAnnotations_9 = Enregistrement des annotations.
 
-ImportGlozzCorpus_0 = Le répertoire {0} glozz doit exister.
+ImportGlozzCorpus_0 = Le r\u00E9pertoire {0} glozz doit exister.
 
-ImportGlozzCorpus_1 = Création du répertoire source: {0}
+ImportGlozzCorpus_1 = Cr\u00E9ation du r\u00E9pertoire source: {0}
 
-ImportGlozzCorpus_10 = Pas de fichier .aa trouvé dans {0}
+ImportGlozzCorpus_10 = Pas de fichier .aa trouv\u00E9 dans {0}
 
-ImportGlozzCorpus_11 = Import des données Glozz depuis : {0}
+ImportGlozzCorpus_11 = Import des donn\u00E9es Glozz depuis : {0}
 
-ImportGlozzCorpus_15 = ** Erreur lors de l'import des données Glozz.
+ImportGlozzCorpus_15 = ** Erreur lors de l'import des donn\u00E9es Glozz.
 
-ImportGlozzCorpus_17 = ** Le fichier source TXT {0} n'a pas pu être créé
+ImportGlozzCorpus_17 = ** Le fichier source TXT {0} n'a pas pu \u00EAtre cr\u00E9\u00E9
 
-ImportGlozzCorpus_19 = ** la configuration du corpus n'a pas pu être sauvegardé : {0}
+ImportGlozzCorpus_19 = ** la configuration du corpus n'a pas pu \u00EAtre sauvegard\u00E9 : {0}
 
-ImportGlozzCorpus_22 = ** Pas de script {0} trouvé pour le module d'import {0}
+ImportGlozzCorpus_22 = ** Pas de script {0} trouv\u00E9 pour le module d'import {0}
 
 ImportGlozzCorpus_23 = Erreur lors de l'import
 
 ImportGlozzCorpus_24 = Finalisation de l'import de corpus Analec
 
-ImportGlozzCorpus_25 = Import du modèle Glozz depuis {0}
+ImportGlozzCorpus_25 = Import du mod\u00E8le Glozz depuis {0}
 
-ImportGlozzCorpus_26 = Erreur lors de l'import du modèle Glozz
+ImportGlozzCorpus_26 = Erreur lors de l'import du mod\u00E8le Glozz
 
-ImportGlozzCorpus_27 = Réindexation des annotations avec les mots TXM.
+ImportGlozzCorpus_27 = R\u00E9indexation des annotations avec les mots TXM.
 
-ImportGlozzCorpus_28 = Erreur lors de la ré-indexation des annotations.
+ImportGlozzCorpus_28 = Erreur lors de la r\u00E9-indexation des annotations.
 
 ImportGlozzCorpus_29 = Enregistrement des annotations...
 
-ImportGlozzCorpus_3 = Création du répertoire ec: {0}
+ImportGlozzCorpus_3 = Cr\u00E9ation du r\u00E9pertoire ec: {0}
 
-ImportGlozzCorpus_30 = Terminé.
+ImportGlozzCorpus_30 = Termin\u00E9.
 
 ImportGlozzCorpus_32 = Erreur lors de la finalisation de l'import du corpus : {0}
 
-ImportGlozzCorpus_4 = Le répertoire {0} des sources n'a pu être créé.
+ImportGlozzCorpus_4 = Le r\u00E9pertoire {0} des sources n'a pu \u00EAtre cr\u00E9\u00E9.
 
-ImportGlozzCorpus_5 = Le répertoire ec {0} n''a pu être créé
+ImportGlozzCorpus_5 = Le r\u00E9pertoire ec {0} n''a pu \u00EAtre cr\u00E9\u00E9
 
-ImportGlozzCorpus_8 = Pas de fichier .aa trouvé dans le répertoire {0}
+ImportGlozzCorpus_8 = Pas de fichier .aa trouv\u00E9 dans le r\u00E9pertoire {0}
 
-ImportGlozzCorpus_9 = Pas de fichier .ac trouvé dans le répertoire {0}
+ImportGlozzCorpus_9 = Pas de fichier .ac trouv\u00E9 dans le r\u00E9pertoire {0}
 
-ImportTEIAnnotations_0 = La sélection n''est pas un corpus : {0}
+ImportTEIAnnotations_0 = La s\u00E9lection n''est pas un corpus : {0}
 
 ImportTEIAnnotations_1 = Import de {0} annotations...
 
@@ -115,13 +115,13 @@
 
 ImportTEIAnnotations_3 = Erreur lors de l'import des annotations : {0}
 
-ImportTEIAnnotations_5 = Terminé: {0} unités, {1} relations et {2} schemas.
+ImportTEIAnnotations_5 = Termin\u00E9: {0} unit\u00E9s, {1} relations et {2} schemas.
 
 ImportTEICorpus_0 = ** Les fichiers XML doivent exister : {0}
 
 ImportTEICorpus_11 = ** Echec de l''enregistrement de la configuration d''import : {0}
 
-ImportTEICorpus_14 = ** Pas de script {1} trouvé pour le module d''import {0}
+ImportTEICorpus_14 = ** Pas de script {1} trouv\u00E9 pour le module d''import {0}
 
 ImportTEICorpus_15 = ** Erreur lors de l'import
 
@@ -129,29 +129,29 @@
 
 ImportTEICorpus_18 = Import du model d''annotation TEI depuis : {0}
 
-ImportTEICorpus_19 = Erreur lors de l'import du modèle d'annotation TEI.
+ImportTEICorpus_19 = Erreur lors de l'import du mod\u00E8le d'annotation TEI.
 
-ImportTEICorpus_2 = Creation du répertoire source : {0}
+ImportTEICorpus_2 = Creation du r\u00E9pertoire source : {0}
 
-ImportTEICorpus_20 = Réindexation des annotations avec les mots TXM.
+ImportTEICorpus_20 = R\u00E9indexation des annotations avec les mots TXM.
 
-ImportTEICorpus_21 = Erreur lors de la réindexation des annotations avec les mots TXM.
+ImportTEICorpus_21 = Erreur lors de la r\u00E9indexation des annotations avec les mots TXM.
 
 ImportTEICorpus_22 = Enregistrement des annotations.
 
-ImportTEICorpus_23 = Terminé.
+ImportTEICorpus_23 = Termin\u00E9.
 
 ImportTEICorpus_24 = Erreur lors de la finalisation de l''import du corpus : {0}
 
-ImportTEICorpus_3 = ** Le répertoire source {0} n''a pas pu être créé 
+ImportTEICorpus_3 = ** Le r\u00E9pertoire source {0} n''a pas pu \u00EAtre cr\u00E9\u00E9 
 
-ImportTEICorpus_5 = Import des données TEI depuis : {0}
+ImportTEICorpus_5 = Import des donn\u00E9es TEI depuis : {0}
 
-ImportTEICorpus_7 = Erreur lors de l'import des données TEI.
+ImportTEICorpus_7 = Erreur lors de l'import des donn\u00E9es TEI.
 
-ImportTEICorpus_9 = Le fichier source TXT {0} n''a pas pu être créé
+ImportTEICorpus_9 = Le fichier source TXT {0} n''a pas pu \u00EAtre cr\u00E9\u00E9
 
-LoadCorpus_0 = La sélection n''est pas un corpus racine : {0}
+LoadCorpus_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
 LoadCorpus_1 = Chargement du corpus depuis le fichier...
 
@@ -159,118 +159,118 @@
 
 LoadCorpus_3 = Chargement du corpus depuis le fichier {0}
 
-LoadCorpus_4 = Échec du chargement de la structure
+LoadCorpus_4 = \u00C9chec du chargement de la structure
 
-LoadCorpus_5 = Terminé : 
+LoadCorpus_5 = Termin\u00E9 : 
 
-LoadStructureFromGlozz_0 = La sélection n''est pas un corpus racine : {0}
+LoadStructureFromGlozz_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
-LoadStructureFromGlozz_1 = Import du modèle Glozz pour le corpus {0}
+LoadStructureFromGlozz_1 = Import du mod\u00E8le Glozz pour le corpus {0}
 
 LoadStructureFromGlozz_2 = Le fichier AAM n'existe pas.
 
-LoadStructureFromGlozz_3 = Échec du chargement de la structure depuis le modèle Glozz.
+LoadStructureFromGlozz_3 = \u00C9chec du chargement de la structure depuis le mod\u00E8le Glozz.
 
-LoadStructureFromGlozz_4 = Terminé.
+LoadStructureFromGlozz_4 = Termin\u00E9.
 
-LoadStructure_0 = La sélection n''est pas un corpus racine : {0}
+LoadStructure_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
 LoadStructure_1 = Chargement de la structure pour le corpus {0}
 
-LoadStructure_2 = Échec du chargement de la structure.
+LoadStructure_2 = \u00C9chec du chargement de la structure.
 
-LoadStructure_3 = Terminé : 
+LoadStructure_3 = Termin\u00E9 : 
 
-LoadVue_0 = La sélection n''est pas un corpus racine : {0}
+LoadVue_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
 LoadVue_1 = Chargement de la vue pour le corpus {0}
 
-LoadVue_2 = Échec du chargement de la vue.
+LoadVue_2 = \u00C9chec du chargement de la vue.
 
-LoadVue_3 = Terminé : 
+LoadVue_3 = Termin\u00E9 : 
 
 NavigationField_0 = <identifiant>
 
 NavigationField_2 = Mauvais identifiant de mot : {0}
 
-NavigationField_4 = Recherche d'unité par propriétés
+NavigationField_4 = Recherche d'unit\u00E9 par propri\u00E9t\u00E9s
 
 NavigationField_5 = <identifiant>
 
-SaveCorpus_0 = La sélection n''est pas un corpus racine : {0}
+SaveCorpus_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
-SaveCorpus_3 = Sauvegarde du corpus {0} ({1})
+SaveCorpus_3 = Sauvegarde des annotations ({0})
 
 SaveCorpus_5 = Erreur lors de la sauvegarde du corpus.
 
-SaveStructureAsGlozzModel_0 = La sélection n''est pas un corpus racine : {0}
+SaveStructureAsGlozzModel_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
-SaveStructureAsGlozzModel_1 = Sauvegarde de la structure du corpus {0} dans un modèle Glozz
+SaveStructureAsGlozzModel_1 = Sauvegarde de la structure du corpus {0} dans un mod\u00E8le Glozz
 
 SaveStructureAsGlozzModel_2 = Erreur lors de la sauvegarde de la structure.
 
-SaveStructureAsGlozzModel_3 = Terminé.
+SaveStructureAsGlozzModel_3 = Termin\u00E9.
 
-SaveStructure_0 = La sélection n''est pas un corpus racine : {0}
+SaveStructure_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
 SaveStructure_3 = Sauvegarde de la structure du corpus {0} ({1})
 
 SaveStructure_5 = Erreur lors de la sauvegarde de la structure.
 
-SaveVue_0 = La sélection n''est pas un corpus racine : {0}
+SaveVue_0 = La s\u00E9lection n''est pas un corpus racine : {0}
 
 SaveVue_3 = Enregistrement de la vue du corpus {0} dans {1} 
 
 SaveVue_5 = Erreur lors de l'enregistrement de la vue.
 
-StartButton_0 = Unités
+StartButton_0 = Unit\u00E9s
 
 StartButton_1 = Schemas
 
 StartButton_11 = Enregistrer and fermer l'interface d'annotation : 
 
-StartButton_12 = Démarrer l'annotation URS
+StartButton_12 = D\u00E9marrer l'annotation URS
 
-StartButton_4 = ** Le corpus n'a pas été sauvegardé.
+StartButton_4 = ** Le corpus n'a pas \u00E9t\u00E9 sauvegard\u00E9.
 
-StartButton_5 = Terminé.
+StartButton_5 = Termin\u00E9.
 
 URSCorpora_3 = Erreur lors de l''ouverture du corpus : {0}
 
-URSCorpora_4 = Erreur lors de la création fu corpus : {0}
+URSCorpora_4 = Erreur lors de la cr\u00E9ation fu corpus : {0}
 
 UnitToolbar_10 = Supprimer
 
 UnitToolbar_12 = Corriger la limite gauche en cliquant sur un mot
 
-UnitToolbar_14 = Corriger les limites gauche et droite avec une nouvelle sélection de mot
+UnitToolbar_14 = Corriger les limites gauche et droite avec une nouvelle s\u00E9lection de mot
 
 UnitToolbar_16 = Corriger la limite droite en cliquant sur un mot
 
-UnitToolbar_27 = Il faut sélectionner un mot.
+UnitToolbar_27 = Il faut s\u00E9lectionner un mot.
 
-UnitToolbar_28 = ** Erreur lors de la mise à jour des limites de l'unité {0}
+UnitToolbar_28 = ** Erreur lors de la mise \u00E0 jour des limites de l'unit\u00E9 {0}
 
 UnitToolbar_29 = Selectioner {0}
 
-UnitToolbar_3 = ** Erreur lors de la récupération de la taille de {0} : {1}
+UnitToolbar_3 = ** Erreur lors de la r\u00E9cup\u00E9ration de la taille de {0} : {1}
 
 UnitToolbar_32 = Selectioner {0}
 
-UnitToolbar_44 = Création de l''unité (de {0} à {0})
+UnitToolbar_44 = Cr\u00E9ation de l''unit\u00E9 (de {0} \u00E0 {0})
 
-UnitToolbar_47 = Supprimer l''unité {0} 
+UnitToolbar_47 = Supprimer l''unit\u00E9 {0} 
 
-UnitToolbar_48 = Voulez vous supprimer l''unité {0} ? 
+UnitToolbar_48 = Voulez vous supprimer l''unit\u00E9 {0} ? 
 
-UnitToolbar_5 = Type d''unité : {0}
+UnitToolbar_5 = Type d''unit\u00E9 : {0}
 
-UnitToolbar_54 = < type d'unité >
+UnitToolbar_54 = < type d'unit\u00E9 >
 
-UnitToolbar_59 = ** Pas de mots trouvé pour l'identifiant {0}
+UnitToolbar_59 = ** Pas de mots trouv\u00E9 pour l'identifiant {0}
 
-UnitToolbar_6 = Type d'unité
+UnitToolbar_6 = Type d'unit\u00E9
 
-UnitToolbar_7 = Type d'unité
+UnitToolbar_7 = Type d'unit\u00E9
 
-UnitToolbar_8 = Créer
+UnitToolbar_8 = Cr\u00E9er
Index: tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java
===================================================================
--- tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java	(revision 1978)
+++ tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java	(revision 1979)
@@ -67,7 +67,7 @@
 	private int vMaxFilter;
 
 	/**
-	 * if true and if built with an Index, a ##REST## lien is added containing the frequencies of the other "words"
+	 * if true and if built with an Index, the ##REST## line is added containing the cumulated frequencies of the occurrences not counted in the lexical table (corpus frequencies minus the index frequencies)
 	 */
 	@Parameter(key=LexicalTablePreferences.USE_ALL_OCCURRENCES)
 	protected boolean useAllOccurrences;
Index: tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java
===================================================================
--- tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java	(revision 1978)
+++ tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java	(revision 1979)
@@ -77,7 +77,7 @@
 	public static String prefixR = "Progression"; //$NON-NLS-1$
 
 	public static final String DENSITY_CHART_TYPE = "density"; //$NON-NLS-1$
-	
+
 	/** The Xmin corpus. */
 	protected int XminCorpus;
 
@@ -106,9 +106,12 @@
 	/** The bande. */
 	protected float bande = 0.0f;
 
+	/**
+	 * set this to skip the QueryResult build step
+	 */
+	protected List<QueryResult> queryResults;
 
 
-
 	/**
 	 * Queries.
 	 */
@@ -145,7 +148,7 @@
 	@Parameter(key=ProgressionPreferences.PROPERTY_REGEX, type=Parameter.RENDERING)
 	protected String propertyRegex;
 
-	
+
 	/**
 	 * 
 	 * @param parent
@@ -161,14 +164,14 @@
 	public Progression(String parametersNodePath)	{
 		super(parametersNodePath);
 	}
-	
-	
+
+
 	@Override
 	public boolean loadParameters() {
 		if(!this.getStringParameterValue(TXMPreferences.QUERIES).isEmpty())	{
 			this.queries = CQLQuery.stringToQueries(this.getStringParameterValue(TXMPreferences.QUERIES));
 		}
-		
+
 		if(!this.getStringParameterValue(TXMPreferences.STRUCTURAL_UNIT).isEmpty())	{
 			try {
 				this.structuralUnit = this.getCorpus().getStructuralUnit(this.getStringParameterValue(TXMPreferences.STRUCTURAL_UNIT));
@@ -182,12 +185,12 @@
 			}
 		}
 
-		
+
 		// generate the chart type according to cumulative boolean preference
 		if(!this.getBooleanParameterValue(ProgressionPreferences.CHART_CUMULATIVE))	{
 			this.chartType = Progression.DENSITY_CHART_TYPE;
 		}
-		
+
 		return true;
 	}
 
@@ -206,7 +209,7 @@
 		if(this.structuralUnitProperty != null)	{
 			this.saveParameter(TXMPreferences.STRUCTURAL_UNIT_PROPERTY, this.structuralUnitProperty.getName());
 		}
-		
+
 		return true;
 	}
 
@@ -259,6 +262,10 @@
 	public void setStructuralUnitProperty(StructuralUnitProperty structuralUnitProperty)	{
 		this.structuralUnitProperty = structuralUnitProperty;
 	}
+	
+	public void setQueryResults(List<QueryResult> queryResults) {
+		this.queryResults = queryResults;
+	}
 
 	/**
 	 * 
@@ -272,7 +279,9 @@
 	 * @param bandeMultiplier
 	 */
 	// FIXME : all parameters related to rendering should be removed from this class and centralized in the charts engine system
-	public void setParameters(List<CQLQuery> queries, StructuralUnit structuralUnit, StructuralUnitProperty property, String propertyregex, boolean doCumulative, int lineWidth, boolean repeatValues, float bandeMultiplier)	{
+	public void setParameters(List<CQLQuery> queries, 
+			StructuralUnit structuralUnit, StructuralUnitProperty property, String propertyregex, 
+			boolean doCumulative, int lineWidth, boolean repeatValues, float bandeMultiplier)	{
 		this.queries = queries; // the query of the selection
 		this.structuralUnit = structuralUnit;
 		this.structuralUnitProperty = property;
@@ -409,10 +418,17 @@
 	public boolean stepQueries() throws CqiClientException	{
 		maxX = getCorpus().getSize();
 		int npositions = 0;
-		for (CQLQuery query : queries) {
-			// System.out.println("query  "+query.getQueryString());
-			QueryResult result = getCorpus().query(query, query.getQueryString()
-					.replace(" ", "_") + "_progression", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$			
+
+		for (int iQuery = 0 ; iQuery < queries.size() ; iQuery++) {
+			QueryResult result = null;
+			if (queryResults != null) {
+				result = queryResults.get(iQuery);
+			} else {
+				CQLQuery query = queries.get(iQuery);
+				// System.out.println("query  "+query.getQueryString());
+				result = getCorpus().query(query, query.getQueryString()
+						.replace(" ", "_") + "_progression", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			}
 			int nLines = result.getNMatch();
 			if (maxY < nLines)
 				maxY = nLines;
@@ -807,7 +823,7 @@
 		return TXMCoreMessages.bind(ProgressionCoreMessages.progressionOfP0InTheP1Corpus, this.queries.toString(), this.getCorpus().getName());
 	}
 
-	
+
 	@Override
 	public String getComputingDoneMessage() {
 		if (this.getAllPositions() == null || this.getAllPositions().isEmpty())	{
@@ -821,7 +837,7 @@
 			return TXMCoreMessages.bind(TXMCoreMessages.common_P0Positions, positions);
 		}
 	}
-	
+
 	/**
 	 * @return the bandeMultiplier
 	 */
Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java	(revision 1978)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java	(revision 1979)
@@ -94,7 +94,7 @@
 
 		return started;
 	}
-
+	
 	public HashMap<String, RTransformer<? extends TXMResult>> getTransformers() {
 		return transformers;
 	}
Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 1978)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 1979)
@@ -344,6 +344,13 @@
 		}
 	}
 
+	/**
+	 * 
+	 * @return The executable path set in the R Preferences
+	 */
+	public static String getExecutablePath() {
+		return RPreferences.getInstance().getString(RPreferences.PATH_TO_EXECUTABLE);
+	}
 	
 	/**
 	 * Checks if is file tranfert.
Index: tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/ComputeConcordance.java
===================================================================
--- tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/ComputeConcordance.java	(revision 1978)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/handlers/ComputeConcordance.java	(revision 1979)
@@ -84,4 +84,8 @@
 		TXMEditor.openEditor(concordance, ConcordanceEditor.class.getName());
 		return null;
 	}
+	
+	public static TXMEditor openEditor(Concordance concordance) {
+		return TXMEditor.openEditor(concordance, ConcordanceEditor.class.getName());
+	}
 }
\ No newline at end of file
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/parameters/ParametersDialog.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/parameters/ParametersDialog.java	(revision 1978)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/parameters/ParametersDialog.java	(revision 1979)
@@ -178,24 +178,24 @@
 
 	protected void createButtonsForButtonBar(Composite parent) {
 		//create the reset button (hack of the Back button)
-		Button propButton = createButton(parent, IDialogConstants.BACK_ID,
-				"...", false);
-		propButton.removeListener(SWT.Selection, propButton.getListeners(SWT.Selection)[0]);
-
-		propButton.addSelectionListener(new SelectionAdapter() {
-			@Override
-			public void widgetSelected(SelectionEvent e) {
-				FileDialog dialog = new FileDialog(e.display.getActiveShell());
-				dialog.setFilterPath(propFile.getParent());
-				dialog.setFilterExtensions(new String[] {"*.properties"});
-				dialog.setFileName(propFile.getName());
-				String path = dialog.open();
-				if (path != null) {
-					propFile = new File(path);
-					loadDefaultValuesFromPropFile();
-				}
-			}
-		});
+//		Button propButton = createButton(parent, IDialogConstants.BACK_ID,
+//				"...", false);
+//		propButton.removeListener(SWT.Selection, propButton.getListeners(SWT.Selection)[0]);
+//
+//		propButton.addSelectionListener(new SelectionAdapter() {
+//			@Override
+//			public void widgetSelected(SelectionEvent e) {
+//				FileDialog dialog = new FileDialog(e.display.getActiveShell());
+//				dialog.setFilterPath(propFile.getParent());
+//				dialog.setFilterExtensions(new String[] {"*.properties"});
+//				dialog.setFileName(propFile.getName());
+//				String path = dialog.open();
+//				if (path != null) {
+//					propFile = new File(path);
+//					loadDefaultValuesFromPropFile();
+//				}
+//			}
+//		});
 		
 		Button button = createButton(parent, IDialogConstants.BACK_ID,
 				"Reset values", false);
