Index: tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/preferences/ProgressionPreferencePage.java
===================================================================
--- tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/preferences/ProgressionPreferencePage.java	(revision 1065)
+++ tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/preferences/ProgressionPreferencePage.java	(revision 1066)
@@ -77,9 +77,6 @@
 	public void init(IWorkbench workbench) {
 		Log.info("ProgressionPreferencePage.init()" + ProgressionPreferences.CHART_CUMULATIVE); // $NON-NLS-1$
 		
-		//this.setPreferenceStore(new TXMPreferenceStore(ProgressionPreferences.PREFERENCES_NODE));
-		//System.out.println("ProgressionPreferences.getInstance() " + ProgressionPreferences.PREFERENCES_NODE);
-
 		this.setPreferenceStore(new TXMPreferenceStore(ProgressionPreferences.getInstance().getPreferencesNodeQualifier()));
 		
 		//FIXME: description
Index: tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java
===================================================================
--- tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1065)
+++ tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java	(revision 1066)
@@ -140,7 +140,7 @@
 
 	public static final String ID = ConcordanceEditor.class.getName();
 
-	String locale = TXMPreferences.getString(RCPPreferences.UI_LOCALE, RCPPreferences.PREFERENCES_NODE);
+	String locale = RCPPreferences.getInstance().getString(RCPPreferences.UI_LOCALE);
 
 
 	private static final String BACKTOTEXT_COMMAND_ID = "org.txm.rcp.extensionpoint.backtotext"; //$NON-NLS-1$
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/CQPSearchEngine.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/CQPSearchEngine.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/CQPSearchEngine.java	(revision 1066)
@@ -52,12 +52,12 @@
 
 		boolean cqiserverok = false;
 
-		useNetCQi = Boolean.parseBoolean(TXMPreferences.getString(CQPLibPreferences.CQI_NETWORK_MODE, CQPLibPreferences.PREFERENCES_NODE));
+		useNetCQi = CQPLibPreferences.getInstance().getBoolean(CQPLibPreferences.CQI_NETWORK_MODE);
 
 		Log.warning("Killing CQP and RServe process if any");
 		killSearchEngine();
 
-		boolean remote = Boolean.parseBoolean(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_IS_REMOTE, CQPLibPreferences.PREFERENCES_NODE));
+		boolean remote = CQPLibPreferences.getInstance().getBoolean(CQPLibPreferences.CQI_SERVER_IS_REMOTE);
 		state = false;
 		// test if must-have properties for CWB are set
 
@@ -88,7 +88,7 @@
 		if (reg_path.length() > 0) reg_path = reg_path.substring(path_separator.length()); // remove first path_separator
 		reg_path = reg_path.replace("\\\\", "//"); // fix the UNC paths for mingw
 
-		String init_path = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_INIT_FILE, CQPLibPreferences.PREFERENCES_NODE);
+		String init_path = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_INIT_FILE);
 
 
 		if (!remote) {
@@ -97,16 +97,16 @@
 				try {
 					cqiServer = new MemCqiServer(reg_path, 
 							init_path, 
-							TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_ADDITIONAL_OPTIONS, CQPLibPreferences.PREFERENCES_NODE)
-							+ " -P " + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE), //$NON-NLS-1$
-							Boolean.parseBoolean(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_MONITOR_OUTPUT, CQPLibPreferences.PREFERENCES_NODE)));
+							CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_ADDITIONAL_OPTIONS)
+							+ " -P " + CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PORT), //$NON-NLS-1$
+							Boolean.parseBoolean(CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_MONITOR_OUTPUT)));
 				} catch (Exception e) {
 					// TODO Auto-generated catch block
 					org.txm.utils.logger.Log.printStackTrace(e);
 				}
 			} else {
 
-				String exec_path = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE, CQPLibPreferences.PREFERENCES_NODE);
+				String exec_path = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE);
 
 				if (exec_path == null || exec_path.length() == 0) {
 					System.out.println("Error: the '"+CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE+"' preference is not set.");
@@ -118,9 +118,9 @@
 				cqiServer = new NetCqiServer(exec_path,
 						reg_path, 
 						init_path, 
-						TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_ADDITIONAL_OPTIONS, CQPLibPreferences.PREFERENCES_NODE)
-						+ " -P " + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE), //$NON-NLS-1$
-						Boolean.parseBoolean(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_MONITOR_OUTPUT, CQPLibPreferences.PREFERENCES_NODE)));
+						CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_ADDITIONAL_OPTIONS)
+						+ " -P " + CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PORT), //$NON-NLS-1$
+						CQPLibPreferences.getInstance().getBoolean(CQPLibPreferences.CQI_SERVER_MONITOR_OUTPUT));
 			}
 
 			if (cqiServer != null)
@@ -139,23 +139,23 @@
 						cqiserverok = false;
 					}
 				} else {
-					int port = Integer.parseInt(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE));
-					String host = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_HOST, CQPLibPreferences.PREFERENCES_NODE);
+					int port = CQPLibPreferences.getInstance().getInt(CQPLibPreferences.CQI_SERVER_PORT);
+					String host = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_HOST);
 					cqiClient = new NetCqiClient(host, port);
 				}
 			}
 		} catch (NumberFormatException e1) {
-			Log.severe(TXMCoreMessages.Toolbox_wrong_port + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE)); 
+			Log.severe(TXMCoreMessages.Toolbox_wrong_port + CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PORT)); 
 		} catch (ServerNotFoundException e1) {
-			Log.severe(TXMCoreMessages.Error_CONNECTION_FAILED + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_HOST, CQPLibPreferences.PREFERENCES_NODE)
-					+ TXMCoreMessages.Toolbox_27 + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE)); 
+			Log.severe(TXMCoreMessages.Error_CONNECTION_FAILED + CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_HOST)
+					+ TXMCoreMessages.Toolbox_27 + CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PORT)); 
 		}
 
 		// try connecting to the CWB server
 		try {
 			if (cqiserverok) {
-				String login = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_LOGIN, CQPLibPreferences.PREFERENCES_NODE);
-				String password = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PASSWORD, CQPLibPreferences.PREFERENCES_NODE);
+				String login = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_LOGIN);
+				String password = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PASSWORD);
 				state = cqiClient.connect(login, password);
 			}
 		} catch (Exception e1) {
@@ -164,9 +164,16 @@
 
 		if (state == false) {
 			System.out.println(TXMCoreMessages.Toolbox_29); 
-			if (cqiClient instanceof NetCqiClient) System.out.println(TXMCoreMessages.Toolbox_30 + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_LOGIN, CQPLibPreferences.PREFERENCES_NODE) + " " + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PASSWORD, CQPLibPreferences.PREFERENCES_NODE) + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_HOST, CQPLibPreferences.PREFERENCES_NODE) + " " + Integer.parseInt(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE))); //$NON-NLS-1$ //$NON-NLS-2$
-			if (cqiServer != null && cqiServer instanceof NetCqiServer)
+			if (cqiClient instanceof NetCqiClient) {
+				System.out.println(TXMCoreMessages.Toolbox_30 + 
+						CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_LOGIN) + " " + //$NON-NLS-1$
+						CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PASSWORD) + 
+						CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_HOST) + " " + //$NON-NLS-1$
+						CQPLibPreferences.getInstance().getInt(CQPLibPreferences.CQI_SERVER_PORT));
+			}
+			if (cqiServer != null && cqiServer instanceof NetCqiServer) {
 				System.out.println(TXMCoreMessages.Toolbox_33 + cqiServer.getLastCmdLine());
+			}
 		} else {
 			if (cqiServer == null || cqiServer instanceof NetCqiServer)
 				System.out.println(TXMCoreMessages.Toolbox_connected_to_corpus_sever); 
@@ -319,7 +326,7 @@
 	 * kill cqpserver process.
 	 */
 	private static void killSearchEngine() {
-		if (!TXMPreferences.getBoolean(CQPLibPreferences.CQI_SERVER_IS_REMOTE, CQPLibPreferences.PREFERENCES_NODE))
+		if (!CQPLibPreferences.getInstance().getBoolean(CQPLibPreferences.CQI_SERVER_IS_REMOTE))
 			// Windows OS
 			if (OSDetector.isFamilyWindows()) {
 				try {
@@ -352,23 +359,23 @@
 			}
 		// Mac, Linux
 			else {
-				String cmd = TXMCoreMessages.Toolbox_37 + TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PORT, CQPLibPreferences.PREFERENCES_NODE) + TXMCoreMessages.Toolbox_38;
+				String cmd = TXMCoreMessages.Toolbox_37 + CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PORT) + TXMCoreMessages.Toolbox_38;
 				try {
 					//Process p = Runtime.getRuntime().exec("killall -9 cqpserver"); //$NON-NLS-1$
 					// System.out.println("kill `ps aux | grep cqpserver | awk '/-P "
-					// + TXMPreferences.getString(CQPPreferences.PREFERENCES_NODE, CQI_SERVER_PORT) + "/ {print $2}'`");
+					// + CQPPreferences.getInstance().getString(CQI_SERVER_PORT) + "/ {print $2}'`");
 					// String[] args =
 					// {"kill","`ps aux | grep cqpserver | awk '/-P " +
-					// TXMPreferences.getString(CQPPreferences.PREFERENCES_NODE, CQI_SERVER_PORT) + "/ {print $2}'`"};
+					// CQPPreferences.getInstance().getString(CQI_SERVER_PORT) + "/ {print $2}'`"};
 					// System.out.println("before Sh constructor");
 					Sh sh = new Sh(""); //$NON-NLS-1$
 					// System.out.println("after Sh constructor");
 					// System.out.println("EXECUTE SH : "+"kill `ps aux | grep cqpserver | awk '/-P "
-					// + TXMPreferences.getString(CQPPreferences.PREFERENCES_NODE, CQI_SERVER_PORT) + "/ {print $2}'`");
+					// + CQPPreferences.getInstance().getString(CQI_SERVER_PORT) + "/ {print $2}'`");
 					sh.setIsc(cmd);
 					sh.sh();
 					// Runtime.getRuntime().exec("sh kill `ps aux | grep cqpserver | awk '/-P "
-					// + TXMPreferences.getString(CQPPreferences.PREFERENCES_NODE, CQI_SERVER_PORT) + "/ {print $2}'`");
+					// + CQPPreferences.getInstance().getString(CQI_SERVER_PORT) + "/ {print $2}'`");
 
 				} catch (Exception e) {
 					Log.severe(TXMCoreMessages.Toolbox_39+cmd+TXMCoreMessages.Toolbox_40+Log.toString(e));
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/MemCqiServer.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/MemCqiServer.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/MemCqiServer.java	(revision 1066)
@@ -167,7 +167,7 @@
 
 			try {
 
-				String cqplibpath = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, CQPLibPreferences.PREFERENCES_NODE);
+				String cqplibpath = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB);
 				if (cqplibpath == null || cqplibpath.length() == 0) {
 					System.err.println("Error: cqp lib path is not set in preferences");
 					return false;
@@ -455,7 +455,7 @@
 		String[] strings = {"je", "jamais"};
 		int[] strucpos = {0, 1, 2, 3 , 4};
 
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, pathToCQPLibDirectory);
+		CQPLibPreferences.getInstance().put(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, pathToCQPLibDirectory);
 
 		MemCqiServer server = new MemCqiServer(pathToRegistry, pathToInitFile, " -b 10000000 -d OFF", false);
 		if (server.start()) System.out.println("Mem Server ok");
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbMakeAll.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbMakeAll.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbMakeAll.java	(revision 1066)
@@ -104,7 +104,7 @@
 	public boolean run(String corpusName,
 			String pathToRegistry, boolean monitorOutput) throws ServerNotFoundException, InterruptedException, IOException {
 		
-		File pathToExecutable = new File(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, CQPLibPreferences.PREFERENCES_NODE), 
+		File pathToExecutable = new File(CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB), 
 				"cwb-makeall"+(System.getProperty("os.name").toLowerCase().contains("windows")?".exe":""));
 		
 		return run(pathToExecutable.getAbsolutePath(), corpusName, pathToRegistry, monitorOutput);
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbAlign.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbAlign.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbAlign.java	(revision 1066)
@@ -56,7 +56,7 @@
 	 * @param binpath the binpath
 	 */
 	public CwbAlign() {
-		this.binpath = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, CQPLibPreferences.PREFERENCES_NODE);
+		this.binpath = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB);
 	}
 	
 	
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbEncode.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbEncode.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbEncode.java	(revision 1066)
@@ -108,7 +108,7 @@
 			String inputFile, String pathToRegistry, String[] pAttributes,
 			String[] sAttributes, boolean monitorOutput) throws ServerNotFoundException, InterruptedException, IOException {
 		
-		File pathToExecutable = new File(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, CQPLibPreferences.PREFERENCES_NODE),
+		File pathToExecutable = new File(CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB),
 				"cwb-encode"+(System.getProperty("os.name").toLowerCase().contains("windows")?".exe":""));
 
 		return run(pathToExecutable.getAbsolutePath(), pathToData, inputFile,
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbProcess.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbProcess.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/importer/cwb/CwbProcess.java	(revision 1066)
@@ -90,7 +90,7 @@
 	 * @return true if the 'filename' executable file set in preferences is available 
 	 */
 	public static boolean isExecutableAvailable(String filename) {
-		File pathToExecutable = new File(TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, CQPLibPreferences.PREFERENCES_NODE), filename);
+		File pathToExecutable = new File(CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB), filename);
 
 		if (!pathToExecutable.exists()) {
 			System.out.println("Error: "+pathToExecutable.getAbsolutePath()+" not found.");
@@ -262,7 +262,7 @@
 	 */
 	public static String getCWBLocation()
 	{
-		String cwbLoc = TXMPreferences.getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, CQPLibPreferences.PREFERENCES_NODE)+File.separator;
+		String cwbLoc = CQPLibPreferences.getInstance().getString(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB)+File.separator;
 
 		if (!new File(cwbLoc).exists()) {
 			System.out.println(TXMCoreMessages.CwbProcess_5+cwbLoc);
Index: tmp/org.txm.statsengine.r.rcp/src/org/txm/rcp/commands/R/OpenEmptyEditor.java
===================================================================
--- tmp/org.txm.statsengine.r.rcp/src/org/txm/rcp/commands/R/OpenEmptyEditor.java	(revision 1065)
+++ tmp/org.txm.statsengine.r.rcp/src/org/txm/rcp/commands/R/OpenEmptyEditor.java	(revision 1066)
@@ -69,13 +69,13 @@
 			return null;
 		}
 		
-		int nosession = TXMPreferences.getInt(RCPPreferences.NO_SESSION, RCPPreferences.PREFERENCES_NODE);
+		int nosession = RCPPreferences.getInstance().getInt(RCPPreferences.NO_SESSION);
 		
 		File temp = new File(Rscripts, "session"+nosession+".R"); //$NON-NLS-1$ //$NON-NLS-2$
 		
 		//create newt session no
 		nosession++;
-		TXMPreferences.put(RCPPreferences.PREFERENCES_NODE, RCPPreferences.NO_SESSION, nosession);
+		RCPPreferences.getInstance().put(RCPPreferences.NO_SESSION, nosession);
 		
 		try {
 			temp.createNewFile();
Index: tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/preferences/RPreferencePage.java
===================================================================
--- tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/preferences/RPreferencePage.java	(revision 1065)
+++ tmp/org.txm.statsengine.r.rcp/src/org/txm/statsengine/r/rcp/preferences/RPreferencePage.java	(revision 1066)
@@ -86,7 +86,7 @@
 	
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(RPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(RPreferences.getInstance().getPreferencesNodeQualifier()));
 		//this.setTitle(RUIMessages.RPreferencePage_0);
 		//FIXME todo if needed
 		//setDescription(Messages.RPreferencePage_1);
@@ -140,7 +140,7 @@
 //		addField(r_svg_device);
 
 		
-		changeFieldStates(TXMPreferences.getBoolean(RPreferences.REMOTE, RPreferences.PREFERENCES_NODE));
+		changeFieldStates(RPreferences.getInstance().getBoolean(RPreferences.REMOTE));
 		
 		
 		addField(new BooleanFieldEditor(RPreferences.SHOW_EVAL_LOGS, "Log the R eval command lines", getFieldEditorParent()));
@@ -197,7 +197,7 @@
 			
 			RWorkspace rw = RWorkspace.getRWorkspaceInstance();
 			if (rw != null)	{
-				RWorkspace.setUseFileCommunication(TXMPreferences.getBoolean(RPreferences.FILE_TRANSFERT, RPreferences.PREFERENCES_NODE));
+				RWorkspace.setUseFileCommunication(RPreferences.getInstance().getBoolean(RPreferences.FILE_TRANSFERT));
 			}
 		} catch (Exception e) {
 			System.err.println(TXMUIMessages.FAILED_TO_SAVE_PREFERENCES + e);
Index: tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/preferences/JFCChartsEnginePreferencePage.java
===================================================================
--- tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/preferences/JFCChartsEnginePreferencePage.java	(revision 1065)
+++ tmp/org.txm.chartsengine.jfreechart.rcp/src/org/txm/chartsengine/jfreechart/rcp/preferences/JFCChartsEnginePreferencePage.java	(revision 1066)
@@ -98,7 +98,7 @@
 
 				//FIXME: old code
 //				// Set the first charts engine supported export file format as default charts export file format
-//				TXMPreferences.putString(ChartsEnginePreferences.PREFERENCES_NODE, ChartsEnginePreferences.RDEVICE, ChartsEngine.getCurrent().getSupportedOutputFileFormats().get(0));
+//				ChartsEnginePreferences.getInstance().put(ChartsEnginePreferences.RDEVICE, ChartsEngine.getCurrent().getSupportedOutputFileFormats().get(0));
 //					
 //				// Refresh the User\Export preference page to update "Default charts export file format" combo box
 //				PlatformUI.getWorkbench().getPreferenceManager().
Index: tmp/org.txm.treetagger.rcp/src/org/txm/treetagger/rcp/handlers/Train.java
===================================================================
--- tmp/org.txm.treetagger.rcp/src/org/txm/treetagger/rcp/handlers/Train.java	(revision 1065)
+++ tmp/org.txm.treetagger.rcp/src/org/txm/treetagger/rcp/handlers/Train.java	(revision 1066)
@@ -348,13 +348,48 @@
 
 						TreeTagger tt = new TreeTagger(treetaggerBinDirectory, options);
 						tt.settoken();
-						tt.setquiet();
-						tt.setlemma();
+						
+						//tt.setlemma();
 						tt.setsgml();
 						tt.setst(sentenceTag);
-						tt.setproto();
+						//tt.setproto();
 						tt.setutf8();
-						tt.debug(true);
+						int cl = TreeTaggerPreferences.getInstance().getInt(TreeTaggerPreferences.OPTIONS_CL);
+						if (cl > 0) {
+							tt.setcl(cl);
+						}
+						
+						float dtg = TreeTaggerPreferences.getInstance().getFloat(TreeTaggerPreferences.OPTIONS_DTG);
+						if (dtg > 0) {
+							tt.setdtg(dtg);
+						}
+						
+						float sw = TreeTaggerPreferences.getInstance().getFloat(TreeTaggerPreferences.OPTIONS_SW);
+						if (sw > 0) {
+							tt.setsw(sw);
+						}
+						
+						float atg = TreeTaggerPreferences.getInstance().getFloat(TreeTaggerPreferences.OPTIONS_ATG);
+						if (atg > 0) {
+							tt.setatg(atg);
+						}
+						
+						float ecw = TreeTaggerPreferences.getInstance().getFloat(TreeTaggerPreferences.OPTIONS_ECW);
+						if (ecw > 0) {
+							tt.setecw(ecw);
+						}
+						
+						float lt = TreeTaggerPreferences.getInstance().getFloat(TreeTaggerPreferences.OPTIONS_LT);
+						if (lt > 0) {
+							tt.setlt(lt);
+						}
+						
+						if (TreeTaggerPreferences.getInstance().getBoolean(TreeTaggerPreferences.OPTIONS_DEBUG)) {
+							tt.debug(true);
+						} else {
+							tt.setquiet();
+						}
+						
 						tt.traintreetagger(lexique2.getAbsolutePath(), openclassfile.getAbsolutePath(), ttSrcFile.getAbsolutePath(), model.getAbsolutePath());
 						
 						System.out.println("Done: "+model.getAbsolutePath());
Index: tmp/org.txm.treetagger.rcp/src/org/txm/treetagger/rcp/preferences/TreeTaggerPreferencePage.java
===================================================================
--- tmp/org.txm.treetagger.rcp/src/org/txm/treetagger/rcp/preferences/TreeTaggerPreferencePage.java	(revision 1065)
+++ tmp/org.txm.treetagger.rcp/src/org/txm/treetagger/rcp/preferences/TreeTaggerPreferencePage.java	(revision 1066)
@@ -79,5 +79,4 @@
 	public void init(IWorkbench workbench) {
 		this.setPreferenceStore(new TXMPreferenceStore(TreeTaggerPreferences.getInstance().getPreferencesNodeQualifier()));
 	}
-
 }
Index: tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/preferences/CQPPreferencePage.java
===================================================================
--- tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/preferences/CQPPreferencePage.java	(revision 1065)
+++ tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/preferences/CQPPreferencePage.java	(revision 1066)
@@ -183,7 +183,7 @@
 	 */
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(CQPLibPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(new CQPLibPreferences().getPreferencesNodeQualifier()));
 	}
 
 	/* (non-Javadoc)
Index: tmp/org.txm.analec.rcp/src/org/eclipse/jface/fieldassist/TXMSimpleContentProposalProvider.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/eclipse/jface/fieldassist/TXMSimpleContentProposalProvider.java	(revision 1065)
+++ tmp/org.txm.analec.rcp/src/org/eclipse/jface/fieldassist/TXMSimpleContentProposalProvider.java	(revision 1066)
@@ -78,7 +78,7 @@
 //			System.out.println("getProposals...");
 			ArrayList<ContentProposal> list = new ArrayList<ContentProposal>();
 			
-			boolean prefixeSearch = TXMPreferences.getBoolean(AnalecPreferences.PREFIX_AUTOCOMPLETION, AnalecPreferences.PREFERENCES_NODE);
+			boolean prefixeSearch = AnalecPreferences.getInstance().getBoolean(AnalecPreferences.PREFIX_AUTOCOMPLETION);
 			if (prefixeSearch) {
 				for (int i = 0; i < proposals.length; i++) {
 					if (proposals[i].length() >= contents.length()
Index: tmp/org.txm.analec.rcp/src/org/txm/analec/commands/DoInstallStep.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/analec/commands/DoInstallStep.java	(revision 1065)
+++ tmp/org.txm.analec.rcp/src/org/txm/analec/commands/DoInstallStep.java	(revision 1066)
@@ -35,7 +35,7 @@
 	public void install() {
 		
 		Log.info(Messages.DoInstallStep_2);
-		String saved = TXMPreferences.getString(AnalecPreferences.VERSION, AnalecPreferences.PREFERENCES_NODE); //$NON-NLS-1$
+		String saved = AnalecPreferences.getInstance().getString(AnalecPreferences.VERSION); //$NON-NLS-1$
 		Version currentVersion = BundleUtils.getBundleVersion("AnalecRCP"); //$NON-NLS-1$
 		
 		if (saved != null && saved.length() > 0) {
@@ -66,7 +66,7 @@
 		}
 		
 		Log.warning(Messages.DoInstallStep_18);
-		TXMPreferences.put(AnalecPreferences.PREFERENCES_NODE, AnalecPreferences.VERSION, currentVersion.toString());
+		AnalecPreferences.getInstance().put(AnalecPreferences.VERSION, currentVersion.toString());
 		return;
 	}
 }
Index: tmp/org.txm.analec.rcp/src/org/txm/analec/preferences/AnalecPreferences.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/analec/preferences/AnalecPreferences.java	(revision 1065)
+++ tmp/org.txm.analec.rcp/src/org/txm/analec/preferences/AnalecPreferences.java	(revision 1066)
@@ -4,10 +4,12 @@
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.Preferences;
 import org.txm.core.preferences.TXMPreferences;
+import org.txm.rcp.preferences.RCPPreferences;
 
 public class AnalecPreferences extends TXMPreferences{
 	
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(AnalecPreferences.class).getSymbolicName();
+//	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(AnalecPreferences.class).getSymbolicName();
+	
 	public static final String VERSION = "analec.version"; //$NON-NLS-1$
 	public static final String COLOR_PALETTE = "color_palette";
 	public static final String PREFIX_AUTOCOMPLETION = "prefix_autocompletion"; //$NON-NLS-1$
@@ -16,10 +18,21 @@
 	
 	@Override
 	public void initializeDefaultPreferences() {
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
 		preferences.put(VERSION, "");
 		preferences.put(COLOR_PALETTE, "green");
 		preferences.putBoolean(ANALEC_LIMIT_CORRECTION_SCHEME, false);
 		preferences.putBoolean(PREFIX_AUTOCOMPLETION, false);
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(AnalecPreferences.class)) {
+			new AnalecPreferences();
+		}
+		return TXMPreferences.instances.get(AnalecPreferences.class);
+	}
 }
Index: tmp/org.txm.analec.rcp/src/org/txm/analec/toolbar/UnitToolbar.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/analec/toolbar/UnitToolbar.java	(revision 1065)
+++ tmp/org.txm.analec.rcp/src/org/txm/analec/toolbar/UnitToolbar.java	(revision 1066)
@@ -101,7 +101,7 @@
 		annotationArea.getLayout().numColumns = 10;
 		annotationArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 
-		String color_palette = TXMPreferences.getString(AnalecPreferences.COLOR_PALETTE, AnalecPreferences.PREFERENCES_NODE); //$NON-NLS-1$
+		String color_palette = AnalecPreferences.getInstance().getString(AnalecPreferences.COLOR_PALETTE);
 		if ("yellow".equals(color_palette)) { //$NON-NLS-1$
 			this.highlighted_unit_color = URSAnnotationToolbar.lightyellow;
 			this.selected_unit_color = URSAnnotationToolbar.yellow;
Index: tmp/org.txm.analec.rcp/src/org/txm/analec/toolbar/SchemaToolbar.java
===================================================================
--- tmp/org.txm.analec.rcp/src/org/txm/analec/toolbar/SchemaToolbar.java	(revision 1065)
+++ tmp/org.txm.analec.rcp/src/org/txm/analec/toolbar/SchemaToolbar.java	(revision 1066)
@@ -94,7 +94,7 @@
 		annotationArea.getLayout().numColumns = 7;
 		annotationArea.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		
-		String color_palette = TXMPreferences.getString(AnalecPreferences.COLOR_PALETTE, AnalecPreferences.PREFERENCES_NODE);
+		String color_palette = AnalecPreferences.getInstance().getString(AnalecPreferences.COLOR_PALETTE);
 		if ("yellow".equals(color_palette)) { //$NON-NLS-1$
 			this.highlighted_unit_color = URSAnnotationToolbar.lightyellow;
 			this.selected_unit_color = URSAnnotationToolbar.yellow;
Index: tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/preferences/WordCloudPreferencePage.java
===================================================================
--- tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/preferences/WordCloudPreferencePage.java	(revision 1065)
+++ tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/preferences/WordCloudPreferencePage.java	(revision 1066)
@@ -68,7 +68,7 @@
 	
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(WordCloudPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(WordCloudPreferences.getInstance().getPreferencesNodeQualifier()));
 		//this.setTitle("WordCloud");
 		this.setImageDescriptor(WordCloudAdapterFactory.ICON);
 	}
Index: tmp/org.txm.jodconverter.core/target/classes/document-formats.js
===================================================================
--- tmp/org.txm.jodconverter.core/target/classes/document-formats.js	(revision 0)
+++ tmp/org.txm.jodconverter.core/target/classes/document-formats.js	(revision 1066)
@@ -0,0 +1,188 @@
+[
+  {
+    "name": "Portable Document Format",
+    "extension": "pdf",
+    "mediaType": "application/pdf",
+    "storePropertiesByFamily": {
+      "DRAWING": {"FilterName": "draw_pdf_Export"},
+      "SPREADSHEET": {"FilterName": "calc_pdf_Export"},
+      "PRESENTATION": {"FilterName": "impress_pdf_Export"},
+      "TEXT": {"FilterName": "writer_pdf_Export"}
+    }
+  },
+  {
+    "name": "Macromedia Flash",
+    "extension": "swf",
+    "mediaType": "application/x-shockwave-flash",
+    "storePropertiesByFamily": {
+      "DRAWING": {"FilterName": "draw_flash_Export"},
+      "PRESENTATION": {"FilterName": "impress_flash_Export"}
+    }
+  },
+  {
+    "name": "HTML",
+    "extension": "html",
+    "mediaType": "text/html",
+    "inputFamily": "TEXT",
+    "storePropertiesByFamily": {
+      "SPREADSHEET": {"FilterName": "HTML (StarCalc)"},
+      "PRESENTATION": {"FilterName": "impress_html_Export"},
+      "TEXT": {"FilterName": "HTML (StarWriter)"}
+    }
+  },
+  {
+    "name": "OpenDocument Text",
+    "extension": "odt",
+    "mediaType": "application/vnd.oasis.opendocument.text",
+    "inputFamily": "TEXT",
+    "storePropertiesByFamily": {"TEXT": {"FilterName": "writer8"}}
+  },
+  {
+    "name": "OpenOffice.org 1.0 Text Document",
+    "extension": "sxw",
+    "mediaType": "application/vnd.sun.xml.writer",
+    "inputFamily": "TEXT",
+    "storePropertiesByFamily": {"TEXT": {"FilterName": "StarOffice XML (Writer)"}}
+  },
+  {
+    "name": "Microsoft Word",
+    "extension": "doc",
+    "mediaType": "application/msword",
+    "inputFamily": "TEXT",
+    "storePropertiesByFamily": {"TEXT": {"FilterName": "MS Word 97"}}
+  },
+  {
+    "name": "Microsoft Word 2007 XML",
+    "extension": "docx",
+    "mediaType": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
+    "inputFamily": "TEXT"
+  },
+  {
+    "name": "Rich Text Format",
+    "extension": "rtf",
+    "mediaType": "text/rtf",
+    "inputFamily": "TEXT",
+    "storePropertiesByFamily": {"TEXT": {"FilterName": "Rich Text Format"}}
+  },
+  {
+    "name": "WordPerfect",
+    "extension": "wpd",
+    "mediaType": "application/wordperfect",
+    "inputFamily": "TEXT"
+  },
+  {
+    "name": "Plain Text",
+    "extension": "txt",
+    "mediaType": "text/plain",
+    "inputFamily": "TEXT",
+    "loadProperties": {
+      "FilterName": "Text (encoded)",
+      "FilterOptions": "utf8"
+    },
+    "storePropertiesByFamily": {"TEXT": {
+      "FilterName": "Text (encoded)",
+      "FilterOptions": "utf8"
+    }}
+  },
+  {
+    "name": "MediaWiki wikitext",
+    "extension": "wiki",
+    "mediaType": "text/x-wiki",
+    "storePropertiesByFamily": {"TEXT": {"FilterName": "MediaWiki"}}
+  },
+  {
+    "name": "OpenDocument Spreadsheet",
+    "extension": "ods",
+    "mediaType": "application/vnd.oasis.opendocument.spreadsheet",
+    "inputFamily": "SPREADSHEET",
+    "storePropertiesByFamily": {"SPREADSHEET": {"FilterName": "calc8"}}
+  },
+  {
+    "name": "OpenOffice.org 1.0 Spreadsheet",
+    "extension": "sxc",
+    "mediaType": "application/vnd.sun.xml.calc",
+    "inputFamily": "SPREADSHEET",
+    "storePropertiesByFamily": {"SPREADSHEET": {"FilterName": "StarOffice XML (Calc)"}}
+  },
+  {
+    "name": "Microsoft Excel",
+    "extension": "xls",
+    "mediaType": "application/vnd.ms-excel",
+    "inputFamily": "SPREADSHEET",
+    "storePropertiesByFamily": {"SPREADSHEET": {"FilterName": "MS Excel 97"}}
+  },
+  {
+    "name": "Microsoft Excel 2007 XML",
+    "extension": "xlsx",
+    "mediaType": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+    "inputFamily": "SPREADSHEET"
+  },
+  {
+    "name": "Comma Separated Values",
+    "extension": "csv",
+    "mediaType": "text/csv",
+    "inputFamily": "SPREADSHEET",
+    "loadProperties": {
+      "FilterName": "Text - txt - csv (StarCalc)",
+      "FilterOptions": "44,34,0"
+    },
+    "storePropertiesByFamily": {"SPREADSHEET": {
+      "FilterName": "Text - txt - csv (StarCalc)",
+      "FilterOptions": "44,34,0"
+    }}
+  },
+  {
+    "name": "Tab Separated Values",
+    "extension": "tsv",
+    "mediaType": "text/tab-separated-values",
+    "inputFamily": "SPREADSHEET",
+    "loadProperties": {
+      "FilterName": "Text - txt - csv (StarCalc)",
+      "FilterOptions": "9,34,0"
+    },
+    "storePropertiesByFamily": {"SPREADSHEET": {
+      "FilterName": "Text - txt - csv (StarCalc)",
+      "FilterOptions": "9,34,0"
+    }}
+  },
+  {
+    "name": "OpenDocument Presentation",
+    "extension": "odp",
+    "mediaType": "application/vnd.oasis.opendocument.presentation",
+    "inputFamily": "PRESENTATION",
+    "storePropertiesByFamily": {"PRESENTATION": {"FilterName": "impress8"}}
+  },
+  {
+    "name": "OpenOffice.org 1.0 Presentation",
+    "extension": "sxi",
+    "mediaType": "application/vnd.sun.xml.impress",
+    "inputFamily": "PRESENTATION",
+    "storePropertiesByFamily": {"PRESENTATION": {"FilterName": "StarOffice XML (Impress)"}}
+  },
+  {
+    "name": "Microsoft PowerPoint",
+    "extension": "ppt",
+    "mediaType": "application/vnd.ms-powerpoint",
+    "inputFamily": "PRESENTATION",
+    "storePropertiesByFamily": {"PRESENTATION": {"FilterName": "MS PowerPoint 97"}}
+  },
+  {
+    "name": "Microsoft PowerPoint 2007 XML",
+    "extension": "pptx",
+    "mediaType": "application/vnd.openxmlformats-officedocument.presentationml.presentation",
+    "inputFamily": "PRESENTATION"
+  },
+  {
+    "name": "OpenDocument Drawing",
+    "extension": "odg",
+    "mediaType": "application/vnd.oasis.opendocument.graphics",
+    "inputFamily": "DRAWING",
+    "storePropertiesByFamily": {"DRAWING": {"FilterName": "draw8"}}
+  },
+  {
+    "name": "Scalable Vector Graphics",
+    "extension": "svg",
+    "mediaType": "image/svg+xml",
+    "storePropertiesByFamily": {"DRAWING": {"FilterName": "draw_svg_Export"}}
+  }
+]

Property changes on: tmp/org.txm.jodconverter.core/target/classes/document-formats.js
___________________________________________________________________
Added: svn:mime-type
   + text/plain

Index: tmp/org.txm.libs.cqp/src/org/txm/libs/cqp/CQPLibPreferences.java
===================================================================
--- tmp/org.txm.libs.cqp/src/org/txm/libs/cqp/CQPLibPreferences.java	(revision 1065)
+++ tmp/org.txm.libs.cqp/src/org/txm/libs/cqp/CQPLibPreferences.java	(revision 1066)
@@ -13,7 +13,7 @@
 
 public class CQPLibPreferences extends TXMPreferences {
 	
-	public static String PREFERENCES_NODE = FrameworkUtil.getBundle(CQPLibPreferences.class).getSymbolicName();
+//	public static String PREFERENCES_NODE = FrameworkUtil.getBundle(CQPLibPreferences.class).getSymbolicName();
 	
 	/** The Constant CQI_SERVER_PATH_TO_EXECUTABLE. */
 	public static final String VERSION = "version"; //$NON-NLS-1$
@@ -56,7 +56,7 @@
 	public void initializeDefaultPreferences() {
 		
 		
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
 
 		preferences.put(CQI_SERVER_ADDITIONAL_OPTIONS, "-b 1000000 -d OFF"); //$NON-NLS-1$
 		preferences.put(CQI_SERVER_PORT, "4877"); //$NON-NLS-1$
@@ -69,7 +69,7 @@
 		String CQPFRAGMENT = "org.txm.libs.cqp."+System.getProperty("osgi.os");
 		//TODO: fix preferneces logic between org.txm.cqp.lib et org.txm.searchengine.cqp
 		Log.info("CQP.DoInstallStep.preInstall()");
-		String saved = TXMPreferences.getString(CQPLibPreferences.VERSION, CQPLibPreferences.PREFERENCES_NODE);
+		String saved = getString(CQPLibPreferences.VERSION);
 		Version currentVersion = BundleUtils.getBundleVersion(CQPFRAGMENT); // the CQPFRAGMENT plugin contains the right version
 		
 		
@@ -148,17 +148,28 @@
 		Log.info("Updating CWB preferences for CQP version=" + currentVersion);
 	
 		Log.warning("SearchEngine preferences set with: "+OSDir.getAbsolutePath()+ ", "+initFile.getAbsolutePath()+ " and "+execFile.getAbsolutePath());
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQPLibPreferences.VERSION, currentVersion.toString());
+		put(CQPLibPreferences.VERSION, currentVersion.toString());
 	
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_PATH_TO_CQPLIB, OSDir.getAbsolutePath());
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_PATH_TO_INIT_FILE, initFile.getAbsolutePath());
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_PATH_TO_EXECUTABLE, execFile.getAbsolutePath());
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_ADDITIONAL_OPTIONS, "-b 1000000 -d OFF"); //$NON-NLS-1$
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_PORT, "4877"); //$NON-NLS-1$
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_HOST, "localhost"); //$NON-NLS-1$
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_LOGIN, "anonymous"); //$NON-NLS-1$
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_PASSWORD, ""); //$NON-NLS-1$
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_SERVER_IS_REMOTE, "" + false); //$NON-NLS-1$
-		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQI_NETWORK_MODE, false); //$NON-NLS-1$
+		put(CQI_SERVER_PATH_TO_CQPLIB, OSDir.getAbsolutePath());
+		put(CQI_SERVER_PATH_TO_INIT_FILE, initFile.getAbsolutePath());
+		put(CQI_SERVER_PATH_TO_EXECUTABLE, execFile.getAbsolutePath());
+		put(CQI_SERVER_ADDITIONAL_OPTIONS, "-b 1000000 -d OFF"); //$NON-NLS-1$
+		put(CQI_SERVER_PORT, "4877"); //$NON-NLS-1$
+		put(CQI_SERVER_HOST, "localhost"); //$NON-NLS-1$
+		put(CQI_SERVER_LOGIN, "anonymous"); //$NON-NLS-1$
+		put(CQI_SERVER_PASSWORD, ""); //$NON-NLS-1$
+		put(CQI_SERVER_IS_REMOTE, "" + false); //$NON-NLS-1$
+		put(CQI_NETWORK_MODE, false); //$NON-NLS-1$
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(CQPLibPreferences.class)) {
+			new CQPLibPreferences();
+		}
+		return TXMPreferences.instances.get(CQPLibPreferences.class);
+	}
 }
Index: tmp/org.txm.libs.cqp/src/org/txm/libs/cqp/___DoInstallStep.java
===================================================================
--- tmp/org.txm.libs.cqp/src/org/txm/libs/cqp/___DoInstallStep.java	(revision 1065)
+++ tmp/org.txm.libs.cqp/src/org/txm/libs/cqp/___DoInstallStep.java	(revision 1066)
@@ -21,7 +21,7 @@
 //		String CQPFRAGMENT = "org.txm.libs.cqp."+System.getProperty("osgi.os");
 //		//TODO: fix preferneces logic between org.txm.cqp.lib et org.txm.searchengine.cqp
 //		Log.info("CQP.DoInstallStep.preInstall()");
-//		String saved = TXMPreferences.getString(CQPLibPreferences.VERSION, CQPLibPreferences.PREFERENCES_NODE);
+//		String saved = CQPLibPreferences.getInstance().getString(CQPLibPreferences.VERSION);
 //		Version currentVersion = BundleUtils.getBundleVersion(CQPFRAGMENT); // the CQPFRAGMENT plugin contains the right version
 //		
 //		if (saved != null && saved.length() > 0) {
@@ -71,9 +71,9 @@
 //		
 //		File execFile = new File(OSDir, "cqpserver"+ext);
 //
-//		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, OSDir.getAbsolutePath());
-//		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQPLibPreferences.CQI_SERVER_PATH_TO_INIT_FILE, initFile.getAbsolutePath());
-//		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE, execFile.getAbsolutePath());
+//		CQPLibPreferences.getInstance().put(CQPLibPreferences.CQI_SERVER_PATH_TO_CQPLIB, OSDir.getAbsolutePath());
+//		CQPLibPreferences.getInstance().put(CQPLibPreferences.CQI_SERVER_PATH_TO_INIT_FILE, initFile.getAbsolutePath());
+//		CQPLibPreferences.getInstance().put(CQPLibPreferences.CQI_SERVER_PATH_TO_EXECUTABLE, execFile.getAbsolutePath());
 //		if (!Util.isWindows()) { 
 //			try {
 //				Log.info("Setting execution file rights to: "+OSDir.getAbsolutePath());
@@ -96,6 +96,6 @@
 //		}
 //		
 //		Log.warning("SearchEngine preferences set with: "+OSDir.getAbsolutePath()+ ", "+initFile.getAbsolutePath()+ " and "+execFile.getAbsolutePath());
-//		TXMPreferences.put(CQPLibPreferences.PREFERENCES_NODE, CQPLibPreferences.VERSION, currentVersion.toString());
+//		CQPLibPreferences.getInstance().put(CQPLibPreferences.VERSION, currentVersion.toString());
 	}
 }
Index: tmp/org.txm.treetagger.core/src/org/txm/importer/xmltxm/BuildTTSrc.groovy
===================================================================
--- tmp/org.txm.treetagger.core/src/org/txm/importer/xmltxm/BuildTTSrc.groovy	(revision 1065)
+++ tmp/org.txm.treetagger.core/src/org/txm/importer/xmltxm/BuildTTSrc.groovy	(revision 1066)
@@ -171,7 +171,7 @@
 			}
 
 			String str = buffer.toString()
-			if ("false".equals(TreeTaggerPreferences.getString(TreeTaggerPreferences.FIX_APOSTROPHES, TreeTaggerPreferences.PREFERENCES_NODE))) {
+			if ("false".equals(TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.FIX_APOSTROPHES))) {
 				str = str.replace("’", "'").replace("‘", "'");
 			}
 			output.write(str)
Index: tmp/org.txm.treetagger.core/src/org/txm/importer/xmltxm/Annotate.groovy
===================================================================
--- tmp/org.txm.treetagger.core/src/org/txm/importer/xmltxm/Annotate.groovy	(revision 1065)
+++ tmp/org.txm.treetagger.core/src/org/txm/importer/xmltxm/Annotate.groovy	(revision 1066)
@@ -109,7 +109,7 @@
 	File modelsDirectory;
 
 	public Annotate() {
-		modelsDirectory = new File(TreeTaggerPreferences.getString(TreeTaggerPreferences.MODELS_PATH, TreeTaggerPreferences.PREFERENCES_NODE)); // default models directory is set in the Toolbox
+		modelsDirectory = new File(TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.MODELS_PATH)); // default models directory is set in the Toolbox
 	}
 
 	/**
@@ -209,34 +209,34 @@
 			File infile = ttsrcfile;
 			File outfile = ttoutfile;
 
-			def tt = new TreeTagger(TreeTaggerPreferences.getString(TreeTaggerPreferences.INSTALL_PATH, TreeTaggerPreferences.PREFERENCES_NODE)+"/bin/", options);
+			def tt = new TreeTagger(TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH)+"/bin/", options);
 			tt.settoken();
 			tt.setlemma();
 			tt.setsgml();
-			if (TreeTaggerPreferences.getBoolean(TreeTaggerPreferences.OPTIONS_UNKNOWN, TreeTaggerPreferences.PREFERENCES_NODE)) {
+			if (TreeTaggerPreferences.getInstance().getBoolean(TreeTaggerPreferences.OPTIONS_UNKNOWN)) {
 				tt.setnounknown();
 			}
 			tt.seteostag("<s>");
-			if (TreeTaggerPreferences.getBoolean(TreeTaggerPreferences.OPTIONS_DEBUG, TreeTaggerPreferences.PREFERENCES_NODE)) {
+			if (TreeTaggerPreferences.getInstance().getBoolean(TreeTaggerPreferences.OPTIONS_DEBUG)) {
 				tt.debug(true);
 			} else {
 				tt.setquiet();
 			}
-			if (TreeTaggerPreferences.getBoolean(TreeTaggerPreferences.OPTIONS_CAPHEURISTIC, TreeTaggerPreferences.PREFERENCES_NODE)) {
+			if (TreeTaggerPreferences.getInstance().getBoolean(TreeTaggerPreferences.OPTIONS_CAPHEURISTIC)) {
 				tt.setcapheuristics();
 			}
-			if (TreeTaggerPreferences.getBoolean(TreeTaggerPreferences.OPTIONS_HYPHENHEURISTIC, TreeTaggerPreferences.PREFERENCES_NODE)) {
+			if (TreeTaggerPreferences.getInstance().getBoolean(TreeTaggerPreferences.OPTIONS_HYPHENHEURISTIC)) {
 				tt.sethyphenheuristics();
 			}
-			if (TreeTaggerPreferences.getBoolean(TreeTaggerPreferences.OPTIONS_PROB, TreeTaggerPreferences.PREFERENCES_NODE)) {
+			if (TreeTaggerPreferences.getInstance().getBoolean(TreeTaggerPreferences.OPTIONS_PROB)) {
 				tt.setprob();
 			}
 			
-			String lex = TreeTaggerPreferences.getString(TreeTaggerPreferences.OPTIONS_LEX, TreeTaggerPreferences.PREFERENCES_NODE);
+			String lex = TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.OPTIONS_LEX);
 			if (lex !=null && lex.length() > 0) {
 				tt.setlex(lex);
 			}
-			String wc = TreeTaggerPreferences.getString(TreeTaggerPreferences.OPTIONS_WC, TreeTaggerPreferences.PREFERENCES_NODE);
+			String wc = TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.OPTIONS_WC);
 			if (wc !=null && wc.length() > 0) {
 				tt.setwc(wc);
 			}
@@ -283,13 +283,13 @@
 		if (debug) {
 			println "rootDirFile "+binDir
 			println "txmDir "+txmDir
-			println "TREETAGGER INSTALL PATH : "+TreeTaggerPreferences.getString(TreeTaggerPreferences.INSTALL_PATH, TreeTaggerPreferences.PREFERENCES_NODE);
-			println "TREETAGGER MODELS PATH : "+TreeTaggerPreferences.getString(TreeTaggerPreferences.MODELS_PATH, TreeTaggerPreferences.PREFERENCES_NODE)
+			println "TREETAGGER INSTALL PATH : "+TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH);
+			println "TREETAGGER MODELS PATH : "+TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.MODELS_PATH)
 		}
 
 		//test if the Toolbox know TreeTagger
-		if (!new File(TreeTaggerPreferences.getString(TreeTaggerPreferences.INSTALL_PATH, TreeTaggerPreferences.PREFERENCES_NODE)+"/bin/").exists()) {
-			println("Could not find TreeTagger binaries in "+TreeTaggerPreferences.getString(TreeTaggerPreferences.INSTALL_PATH, TreeTaggerPreferences.PREFERENCES_NODE)+"/bin/")
+		if (!new File(TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH)+"/bin/").exists()) {
+			println("Could not find TreeTagger binaries in "+TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH)+"/bin/")
 			return false;
 		}
 		String langAll = null
@@ -325,7 +325,7 @@
 
 		if (cancelNow) return;
 
-		File modelDirectory = new File(TreeTaggerPreferences.getString(TreeTaggerPreferences.MODELS_PATH, TreeTaggerPreferences.PREFERENCES_NODE));
+		File modelDirectory = new File(TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.MODELS_PATH));
 		if (!modelDirectory.exists()) {
 			println "Skipping ANNOTATE: TreeTagger language model file directory not found: "+modelDirectory.getAbsolutePath();
 			return false;
@@ -475,8 +475,8 @@
 	 */
 	public boolean run(File binDir, File txmDir, HashMap<String, String> langs, boolean replace, String[] properties, String[] options)
 	{
-		if (!new File(TreeTaggerPreferences.getString(TreeTaggerPreferences.INSTALL_PATH, TreeTaggerPreferences.PREFERENCES_NODE)+"/bin/").exists()) {
-			println("Path to TreeTagger is wrong "+TreeTaggerPreferences.getString(TreeTaggerPreferences.INSTALL_PATH, TreeTaggerPreferences.PREFERENCES_NODE)+"/bin/")
+		if (!new File(TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH)+"/bin/").exists()) {
+			println("Path to TreeTagger is wrong "+TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH)+"/bin/")
 			return true;
 		}
 
Index: tmp/org.txm.treetagger.core/src/org/txm/treetagger/core/preferences/TreeTaggerPreferences.java
===================================================================
--- tmp/org.txm.treetagger.core/src/org/txm/treetagger/core/preferences/TreeTaggerPreferences.java	(revision 1065)
+++ tmp/org.txm.treetagger.core/src/org/txm/treetagger/core/preferences/TreeTaggerPreferences.java	(revision 1066)
@@ -51,8 +51,15 @@
 	public static final String OPTIONS_CAPHEURISTIC = "cap_heuristic"; //$NON-NLS-1$
 	public static final String OPTIONS_HYPHENHEURISTIC = "hyphen_heuristic"; //$NON-NLS-1$
 	public static final String OPTIONS_PROB = "prob"; //$NON-NLS-1$
+	public static final String OPTIONS_CL = "cl";
+	public static final String OPTIONS_DTG = "dtg";
+	public static final String OPTIONS_SW = "sw";
+	public static final String OPTIONS_ATG = "atg";
+	public static final String OPTIONS_ECW = "ecw";
+	public static final String OPTIONS_LT = "lt";
 	
 	public static final String FIX_APOSTROPHES = "fix_apostrophes"; //$NON-NLS-1$
+	
 
 	
 	/**
Index: tmp/org.txm.properties.core/src/org/txm/properties/core/preferences/PropertiesPreferences.java
===================================================================
--- tmp/org.txm.properties.core/src/org/txm/properties/core/preferences/PropertiesPreferences.java	(revision 1065)
+++ tmp/org.txm.properties.core/src/org/txm/properties/core/preferences/PropertiesPreferences.java	(revision 1066)
@@ -2,7 +2,6 @@
 
 
 import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.Preferences;
 import org.txm.core.preferences.TXMPreferences;
 
@@ -13,9 +12,6 @@
  */
 public class PropertiesPreferences extends TXMPreferences {
 
-	// auto populate the preference node qualifier from the current bundle id
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(PropertiesPreferences.class).getSymbolicName();
-	
 	public static final String PREFERENCES_PREFIX = "properties_"; //$NON-NLS-1$
 	
 	
@@ -27,10 +23,20 @@
 	
 	@Override
 	public void initializeDefaultPreferences() {
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
 		
 		preferences.putInt(MAX_PROPERTIES_TO_DISPLAY, 100);
 		
 	}
 	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(PropertiesPreferences.class)) {
+			new PropertiesPreferences();
+		}
+		return TXMPreferences.instances.get(PropertiesPreferences.class);
+	}
 }
Index: tmp/org.txm.dictionary.rcp/src/org/txm/dictionary/commands/DoInstallStep.java
===================================================================
--- tmp/org.txm.dictionary.rcp/src/org/txm/dictionary/commands/DoInstallStep.java	(revision 1065)
+++ tmp/org.txm.dictionary.rcp/src/org/txm/dictionary/commands/DoInstallStep.java	(revision 1066)
@@ -29,7 +29,7 @@
 		
 		Log.info("Dictionary.DoInstallStep.install()");
 		
-		String saved = TXMPreferences.getString(DictionaryPreferences.VERSION, DictionaryPreferences.PREFERENCES_NODE);
+		String saved = DictionaryPreferences.getInstance().getString(DictionaryPreferences.VERSION);
 		Version currentVersion = BundleUtils.getBundleVersion("Dictionary");
 		
 		if (saved != null && saved.length() > 0) {
@@ -49,7 +49,7 @@
 		}
 		
 		Log.warning("Dictionary post-installation done.");
-		TXMPreferences.put(DictionaryPreferences.PREFERENCES_NODE, DictionaryPreferences.VERSION, currentVersion.toString());
+		DictionaryPreferences.getInstance().put(DictionaryPreferences.VERSION, currentVersion.toString());
 		return;
 	}
 	
Index: tmp/org.txm.dictionary.rcp/src/org/txm/dictionary/preferences/DictionaryPreferences.java
===================================================================
--- tmp/org.txm.dictionary.rcp/src/org/txm/dictionary/preferences/DictionaryPreferences.java	(revision 1065)
+++ tmp/org.txm.dictionary.rcp/src/org/txm/dictionary/preferences/DictionaryPreferences.java	(revision 1066)
@@ -7,12 +7,24 @@
 
 public class DictionaryPreferences extends TXMPreferences {
 
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(DictionaryPreferences.class).getSymbolicName();
+//	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(DictionaryPreferences.class).getSymbolicName();
+	
 	public static final String VERSION = "dictionary.version"; //$NON-NLS-1$
 	
 	@Override
 	public void initializeDefaultPreferences() {
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
 		preferences.put(VERSION, "");
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(DictionaryPreferences.class)) {
+			new DictionaryPreferences();
+		}
+		return TXMPreferences.instances.get(DictionaryPreferences.class);
+	}
 }
Index: tmp/org.txm.core.tests/src/org/txm/core/tests/manual/ToolBoxTesterRCPApplication.java
===================================================================
--- tmp/org.txm.core.tests/src/org/txm/core/tests/manual/ToolBoxTesterRCPApplication.java	(revision 1065)
+++ tmp/org.txm.core.tests/src/org/txm/core/tests/manual/ToolBoxTesterRCPApplication.java	(revision 1066)
@@ -43,7 +43,6 @@
 //			System.out.println(arg);
 //		}
 
-		//FIXME: tests to retrieve PREFERENCE_NODE static field from the subclasses
 //		System.err.println("ToolBoxTesterApplication.start() runtime node qualifier = " + RPreferences.getNodeQualifier());
 //		System.err.println("ToolBoxTesterApplication.start(): " + RPreferences.getString(RPreferences.PATH_TO_EXECUTABLE));
 
Index: tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java
===================================================================
--- tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java	(revision 1065)
+++ tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/ChartsEnginesManager.java	(revision 1066)
@@ -36,13 +36,13 @@
 			ChartsEngine.chartsEngines.add(engine);
 		}
 		
-		//ChartsEngine.setCurrrentChartsEngine(this.getEngine(TXMPreferences.getString(ChartsEnginePreferences.CURRENT_NAME, ChartsEnginePreferences.PREFERENCES_NODE)));
+		//ChartsEngine.setCurrrentChartsEngine(this.getEngine(ChartsEnginePreferences.getInstance().getString(ChartsEnginePreferences.CURRENT_NAME)));
 		
 		this.setCurrentEngine(ChartsEnginePreferences.getInstance().getString(ChartsEnginePreferences.CURRENT_NAME));
 
 
 		
-		//TXMPreferences.alternativeNodesQualifiers.add(ChartsEnginePreferences.PREFERENCES_NODE);
+		//TXMPreferences.alternativeNodesQualifiers.add(ChartsEnginePreferences.getInstance().getPreferencesNodeQualifier());
 
 
 		return super.startEngines(monitor);
Index: tmp/org.txm.imports.metopes/src/org/txm/imports/metopes/DoInstallStep.java
===================================================================
--- tmp/org.txm.imports.metopes/src/org/txm/imports/metopes/DoInstallStep.java	(revision 1065)
+++ tmp/org.txm.imports.metopes/src/org/txm/imports/metopes/DoInstallStep.java	(revision 1066)
@@ -28,7 +28,7 @@
 	public void install() { // after the Toolbox is initialized
 		
 		Log.info("Metopes.DoInstallStep.install()");
-		String saved = TXMPreferences.getString(MetopesPreferences.VERSION, MetopesPreferences.PREFERENCES_NODE);
+		String saved = MetopesPreferences.getInstance().getString(MetopesPreferences.VERSION);
 		Version currentVersion = BundleUtils.getBundleVersion("org.txm.imports.metopes");
 		
 		if (saved != null && saved.length() > 0) {
@@ -63,7 +63,7 @@
 		}
 		
 		Log.warning("Metopes post-installation done.");
-		TXMPreferences.put(MetopesPreferences.PREFERENCES_NODE, MetopesPreferences.VERSION, currentVersion.toString());
+		MetopesPreferences.getInstance().put(MetopesPreferences.VERSION, currentVersion.toString());
 		return;
 	}
 }
Index: tmp/org.txm.imports.metopes/src/org/txm/importer/metopes/preferences/MetopesPreferences.java
===================================================================
--- tmp/org.txm.imports.metopes/src/org/txm/importer/metopes/preferences/MetopesPreferences.java	(revision 1065)
+++ tmp/org.txm.imports.metopes/src/org/txm/importer/metopes/preferences/MetopesPreferences.java	(revision 1066)
@@ -1,18 +1,27 @@
 package org.txm.importer.metopes.preferences;
 
 import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.Preferences;
 import org.txm.core.preferences.TXMPreferences;
 
 public class MetopesPreferences extends TXMPreferences{
 
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(MetopesPreferences.class).getSymbolicName();
 	public static final String VERSION = "metopes.version"; //$NON-NLS-1$
 	
 	@Override
 	public void initializeDefaultPreferences() {
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
 		preferences.put(VERSION, "");
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(MetopesPreferences.class)) {
+			new MetopesPreferences();
+		}
+		return TXMPreferences.instances.get(MetopesPreferences.class);
+	}
 }
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java	(revision 1066)
@@ -25,7 +25,7 @@
 
 	@Override
 	public void handleEvent(Event event) {
-		if (TXMPreferences.getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR, RCPPreferences.PREFERENCES_NODE)) {
+		if (RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR)) {
 			this.editor.compute(true);
 		}
 	}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java	(revision 1066)
@@ -38,7 +38,7 @@
 	public void selectionChanged(SelectionChangedEvent event) {
 		// to skip programmatically setSelection() calls on some widgets or if auto-compute preference is false
 		if(!mustIgnoreEvent(event)
-				&& TXMPreferences.getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR, RCPPreferences.PREFERENCES_NODE))	{
+				&& RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR))	{
 			this.editor.compute(true);
 		}
 	}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 1066)
@@ -472,7 +472,7 @@
 	@Override
 	public void doSave(IProgressMonitor monitor) {
 		// FIXME: SJ: to discuss. A this moment the save is automatically done or not in TXMResult.compute() according to a preference of the TBX
-//		if (TXMPreferences.getBoolean(TBXPreferences.AUTO_SAVE_RESULTS, TBXPreferences.PREFERENCES_NODE)) { // ?
+//		if (TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_SAVE_RESULTS)) { // ?
 //			getResult().saveParameters();
 //		}
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 1066)
@@ -619,7 +619,7 @@
 		@Override
 		public void publish(final LogRecord record) {
 			//System.out.println("severeDialobBoxHandler.publish()");
-			boolean showSevereDialobBox = TXMPreferences.getBoolean(RCPPreferences.SHOW_SEVERE_DIALOG, RCPPreferences.PREFERENCES_NODE);
+			boolean showSevereDialobBox = RCPPreferences.getInstance().getBoolean(RCPPreferences.SHOW_SEVERE_DIALOG);
 			if (showSevereDialobBox) {
 				if (record.getLevel() != Level.SEVERE) return;
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/Application.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/Application.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/Application.java	(revision 1066)
@@ -91,8 +91,8 @@
 //				System.out.println("Stand alone launch, creating minimal TXM user home directory in "+userhomeDirectory.getAbsolutePath());
 //				System.out.println("Sample corpora, scripts, import scripts and macros files are not yet installed.");
 //				
-//				TXMPreferences.put(TBXPreferences.PREFERENCES_NODE, TBXPreferences.USER_TXM_HOME, userhomeDirectory.getAbsolutePath());
-//				TXMPreferences.put(TBXPreferences.PREFERENCES_NODE, TBXPreferences.INSTALL_DIR, userhomeDirectory.getParentFile().getAbsolutePath());
+//				TBXPreferences.getInstance().put(TBXPreferences.USER_TXM_HOME, userhomeDirectory.getAbsolutePath());
+//				TBXPreferences.getInstance().put(TBXPreferences.INSTALL_DIR, userhomeDirectory.getParentFile().getAbsolutePath());
 //				
 //				File corpusworkspaceDirectory = new File(userhomeDirectory, "workspaces");
 //				corpusworkspaceDirectory.mkdirs();
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java	(revision 1066)
@@ -104,7 +104,7 @@
 	public static synchronized boolean askContinueToDelete(final IStructuredSelection selection) {
 		continueToDelete = true;
 		
-		boolean showAlert = !TXMPreferences.getBoolean(RCPPreferences.USER_ALERT_DELETE, RCPPreferences.PREFERENCES_NODE);
+		boolean showAlert = !RCPPreferences.getInstance().getBoolean(RCPPreferences.USER_ALERT_DELETE);
 		
 		if (showAlert) {
 			Display.getDefault().syncExec(new Runnable() {
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteScript.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteScript.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteScript.java	(revision 1066)
@@ -120,7 +120,7 @@
 
 		if (executionFromEditor && txteditor != null) { // save file if needed 
 			if (txteditor.isSaveOnCloseNeeded()) { // check if file need to be saved
-				boolean doit = TXMPreferences.getBoolean(RCPPreferences.SAVE_BEFORE_EXECUTION, RCPPreferences.PREFERENCES_NODE);
+				boolean doit = RCPPreferences.getInstance().getBoolean(RCPPreferences.SAVE_BEFORE_EXECUTION);
 				//System.out.println("Save file? "+doit);
 				if (!doit) { // ask user
 					MessageDialog dialog = new MessageDialog(shell, TXMUIMessages.ExecuteScript_0+result, null,
@@ -132,7 +132,7 @@
 						    Composite container = (Composite) super.createDialogArea(parent);
 						    checkDefault = new Button(container, SWT.CHECK);
 						    checkDefault.setText(TXMUIMessages.ExecuteScript_6);
-						    boolean b = TXMPreferences.getBoolean(RCPPreferences.SAVE_BEFORE_EXECUTION, RCPPreferences.PREFERENCES_NODE);
+						    boolean b = RCPPreferences.getInstance().getBoolean(RCPPreferences.SAVE_BEFORE_EXECUTION);
 						    checkDefault.setSelection(b);
 						    
 						    checkDefault.addSelectionListener(new SelectionListener() {
@@ -140,7 +140,7 @@
 								@Override
 								public void widgetSelected(SelectionEvent e) {
 									boolean b = checkDefault.getSelection();
-									TXMPreferences.put(RCPPreferences.PREFERENCES_NODE, RCPPreferences.SAVE_BEFORE_EXECUTION, b);
+									RCPPreferences.getInstance().put(RCPPreferences.SAVE_BEFORE_EXECUTION, b);
 								}
 								
 								@Override
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/TXMUpdateHandler.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/TXMUpdateHandler.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/TXMUpdateHandler.java	(revision 1066)
@@ -208,7 +208,7 @@
 			Log.printStackTrace(e);
 		}
 
-		String updateLevel = TXMPreferences.getString(RCPPreferences.UPDATE_LEVEL, null, RCPPreferences.PREFERENCES_NODE, "STABLE");
+		String updateLevel = RCPPreferences.getInstance().getString(RCPPreferences.UPDATE_LEVEL);
 		boolean alphaMode = false;
 		boolean betaMode = false;
 		boolean devMode = false;
@@ -276,7 +276,7 @@
 			Log.printStackTrace(e);
 		}
 
-		String updateLevel = TXMPreferences.getString(RCPPreferences.UPDATE_LEVEL, null, RCPPreferences.PREFERENCES_NODE, "STABLE");
+		String updateLevel = RCPPreferences.getInstance().getString(RCPPreferences.UPDATE_LEVEL);
 		boolean alphaMode = false;
 		boolean betaMode = false;
 		boolean devMode = false;
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/InstallPluginHandler.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/InstallPluginHandler.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/InstallPluginHandler.java	(revision 1066)
@@ -48,7 +48,7 @@
 		RepositoryDiscoveryStrategy strategy = new RepositoryDiscoveryStrategy();
 		try {
 			//FIXME: should be initialized in the default preference initializer
-			String updateLevel = TXMPreferences.getString(RCPPreferences.UPDATE_LEVEL, null, RCPPreferences.PREFERENCES_NODE, "STABLE");//$NON-NLS-1$
+			String updateLevel = RCPPreferences.getInstance().getString(RCPPreferences.UPDATE_LEVEL);//$NON-NLS-1$
 			boolean alphaMode = false;
 			boolean betaMode = false;
 			boolean devMode = false;
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/AdapterFactory.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/AdapterFactory.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/AdapterFactory.java	(revision 1066)
@@ -118,7 +118,7 @@
 //				Object element = results.get(i);
 //
 //				// remove Text and SavedQuery from the corpora view
-//				if (!TBXPreferences.getBoolean(TBXPreferences.SHOW_ALL_RESULT_NODES, TBXPreferences.PREFERENCES_NODE) && (element instanceof Text || element instanceof SavedQuery)) {
+//				if (!TBXPreferences.getInstance().getBoolean(TBXPreferences.SHOW_ALL_RESULT_NODES) && (element instanceof Text || element instanceof SavedQuery)) {
 //					results.remove(i);
 //					i--;
 //				}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/fileexplorer/FileTreeContentProvider.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/fileexplorer/FileTreeContentProvider.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/fileexplorer/FileTreeContentProvider.java	(revision 1066)
@@ -50,9 +50,9 @@
 	 */
 	@Override
 	public Object[] getChildren(Object element) {
-		String regex = TXMPreferences.getString(RCPPreferences.PREFERENCES_NODE, RCPPreferences.FILES_TO_HIDE);
-		final boolean showHidden = TXMPreferences.getBoolean(RCPPreferences.SHOW_HIDDEN_FILES, RCPPreferences.PREFERENCES_NODE);
-		//final boolean showFolder = TXMPreferences.getBoolean(RCPPreferences.SHOW_FOLDERS, RCPPreferences.PREFERENCES_NODE);
+		String regex = RCPPreferences.getInstance().getString(RCPPreferences.FILES_TO_HIDE);
+		final boolean showHidden = RCPPreferences.getInstance().getBoolean(RCPPreferences.SHOW_HIDDEN_FILES);
+		//final boolean showFolder = RCPPreferences.getInstance().getBoolean(RCPPreferences.SHOW_FOLDERS);
 		p = null;
 		try {
 		p = Pattern.compile(regex);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/LanguageSwitchHandler.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/LanguageSwitchHandler.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/LanguageSwitchHandler.java	(revision 1066)
@@ -94,7 +94,7 @@
 				service.getString(Application.PLUGIN_ID,
 						RCPPreferences.UI_LOCALE, "fr", null)); //$NON-NLS-1$
 		if (d.open() == Window.OK) {
-			TXMPreferences.put(RCPPreferences.PREFERENCES_NODE, RCPPreferences.UI_LOCALE, d.getSelectedValue());
+			RCPPreferences.getInstance().put(RCPPreferences.UI_LOCALE, d.getSelectedValue());
 		} else
 			return null;
 
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/FileExplorerPreferencePage.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/FileExplorerPreferencePage.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/FileExplorerPreferencePage.java	(revision 1066)
@@ -72,7 +72,7 @@
 
 		//show_folders = new BooleanFieldEditor(SHOW_FOLDERS, Messages.FileExplorerPreferencePage_2, getFieldEditorParent());
 		//addField(show_folders);
-		TXMPreferences.put(RCPPreferences.PREFERENCES_NODE, RCPPreferences.SHOW_FOLDERS, true);
+		RCPPreferences.getInstance().put(RCPPreferences.SHOW_FOLDERS, true);
 	}
 
 	/* (non-Javadoc)
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferencesPage.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferencesPage.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferencesPage.java	(revision 1066)
@@ -7,7 +7,7 @@
 
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(RCPPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(RCPPreferences.getInstance().getPreferencesNodeQualifier()));
 	}
 
 	@Override
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/ImportPreferencePage.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/ImportPreferencePage.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/ImportPreferencePage.java	(revision 1066)
@@ -82,13 +82,13 @@
 			i++;
 		}
 
-//		if (TXMPreferences.getString(TBXPreferences.METADATA_ENCODING, TBXPreferences.PREFERENCES_NODE) == null)
-//			TXMPreferences.putString(TBXPreferences.PREFERENCES_NODE, TBXPreferences.METADATA_ENCODING, "UTF-8"); //$NON-NLS-1$
-//		if (TXMPreferences.getString(TBXPreferences.PREFERENCES_NODE, TBXPreferences.METADATA_COLSEPARATOR) == null)
-//			TXMPreferences.putString(TBXPreferences.PREFERENCES_NODE, TBXPreferences.METADATA_COLSEPARATOR, ","); //$NON-NLS-1$
-//		if (TxmPreferences.get(METADATA_TXTSEPARATOR) == null) {
+//		if (TBXPreferences.getInstance().getString(TBXPreferences.METADATA_ENCODING) == null)
+//			TBXPreferences.getInstance().put(TBXPreferences.METADATA_ENCODING, "UTF-8"); //$NON-NLS-1$
+//		if (TBXPreferences.getInstance().getString(TBXPreferences.METADATA_COLSEPARATOR) == null)
+//			TBXPreferences.getInstance().put(TBXPreferences.METADATA_COLSEPARATOR, ","); //$NON-NLS-1$
+//		if (TBXPreferences.getInstance().get(METADATA_TXTSEPARATOR) == null) {
 //			System.out.println("SET DEFAULT VALUE FOR METADATA_TEXTSEPARATOR");
-//			TxmPreferences.set(METADATA_TXTSEPARATOR, "\""); //$NON-NLS-1$
+//			TBXPreferences.getInstance().put(METADATA_TXTSEPARATOR, "\""); //$NON-NLS-1$
 //		}
 
 		Group csvMetadataGroup = new Group(getFieldEditorParent(), SWT.NONE);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java	(revision 1066)
@@ -1,6 +1,7 @@
 package org.txm.rcp.preferences;
 
 import org.eclipse.core.runtime.preferences.DefaultScope;
+import org.eclipse.ui.IWorkbench;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.prefs.Preferences;
 import org.txm.core.preferences.TBXPreferences;
@@ -15,7 +16,7 @@
 public class RCPPreferences extends TXMPreferences {
 
 	
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(RCPPreferences.class).getSymbolicName();
+//	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(RCPPreferences.class).getSymbolicName();
 
 
 	/** The Constant UI_LOCALE. */
@@ -56,13 +57,15 @@
 	
 	@Override
 	public void initializeDefaultPreferences() {
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = this.getDefaultPreferencesNode();
 
 		preferences.put(TBXPreferences.EXPORT_ENCODING, System.getProperty("file.encoding")); //$NON-NLS-1$
 		preferences.put(TBXPreferences.EXPORT_COL_SEPARATOR, "\t"); //$NON-NLS-1$
 		preferences.put(TBXPreferences.EXPORT_TXT_SEPARATOR, ""); //$NON-NLS-1$
 		preferences.put(RCPPreferences.UI_LOCALE, "en"); //$NON-NLS-1$
 		
+		preferences.put(RCPPreferences.UPDATE_LEVEL, "STABLE"); //$NON-NLS-1$
+		
 		preferences.putBoolean(AUTO_UPDATE_EDITOR, true);
 		preferences.putBoolean(SHOW_SEVERE_DIALOG, false);
 		preferences.putBoolean(USER_ALERT_DELETE, false);
@@ -70,4 +73,15 @@
 		
 		preferences.putInt(RCPPreferences.NO_SESSION, 1);
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(RCPPreferences.class)) {
+			new RCPPreferences();
+		}
+		return TXMPreferences.instances.get(RCPPreferences.class);
+	}
 }
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/TXMMainPreferencePage.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/TXMMainPreferencePage.java	(revision 1065)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/preferences/TXMMainPreferencePage.java	(revision 1066)
@@ -58,7 +58,7 @@
 	
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(RCPPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(RCPPreferences.getInstance().getPreferencesNodeQualifier()));
 		this.setImageDescriptor(IImageKeys.getImageDescriptor(IImageKeys.WORLD));
 	}
 
Index: tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/commands/function/BackToMedia.java
===================================================================
--- tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/commands/function/BackToMedia.java	(revision 1065)
+++ tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/commands/function/BackToMedia.java	(revision 1066)
@@ -97,9 +97,9 @@
 		//System.out.println("Selected object: "+s);
 		if (s instanceof Line) {
 			
-			String structurePropertyName = TXMPreferences.getString(BackToMediaPreferences.STRUCTURE, BackToMediaPreferences.PREFERENCES_NODE); //$NON-NLS-1$
-			String startPropertyName = TXMPreferences.getString(BackToMediaPreferences.STRUCTURE_START_PROPERTY, BackToMediaPreferences.PREFERENCES_NODE); //$NON-NLS-1$
-			String endPropertyName = TXMPreferences.getString(BackToMediaPreferences.STRUCTURE_END_PROPERTY, BackToMediaPreferences.PREFERENCES_NODE); //$NON-NLS-1$
+			String structurePropertyName = BackToMediaPreferences.getInstance().getString(BackToMediaPreferences.STRUCTURE); //$NON-NLS-1$
+			String startPropertyName = BackToMediaPreferences.getInstance().getString(BackToMediaPreferences.STRUCTURE_START_PROPERTY); //$NON-NLS-1$
+			String endPropertyName = BackToMediaPreferences.getInstance().getString(BackToMediaPreferences.STRUCTURE_END_PROPERTY); //$NON-NLS-1$
 			
 			
 			Line line = (Line)s;
@@ -111,7 +111,7 @@
 				int startTime = 0;
 				int endTime = 0;
 				//boolean useWordProperty = Platform.getPreferencesService().getBoolean(Application.PLUGIN_ID, BackToMediaPreferences.USEWORDPROPERTY, false, null);
-				boolean useWordProperty = TXMPreferences.getBoolean(BackToMediaPreferences.USEWORDPROPERTY, BackToMediaPreferences.PREFERENCES_NODE);
+				boolean useWordProperty = BackToMediaPreferences.getInstance().getBoolean(BackToMediaPreferences.USEWORDPROPERTY);
 
 				StructuralUnit textS = corpus.getStructuralUnit("text"); //$NON-NLS-1$
 				Property textP = textS.getProperty("id"); //$NON-NLS-1$
@@ -119,7 +119,7 @@
 				Log.info(MessagesMP.BackToMedia_7+textid);
 
 				if (useWordProperty) {
-					String pTimeName = TXMPreferences.getString(BackToMediaPreferences.WORD_PROPERTY, BackToMediaPreferences.PREFERENCES_NODE); //$NON-NLS-1$
+					String pTimeName = BackToMediaPreferences.getInstance().getString(BackToMediaPreferences.WORD_PROPERTY);
 					if ("".equals(pTimeName)) pTimeName = "time"; //$NON-NLS-1$ //$NON-NLS-2$
 					
 					Property timeP = corpus.getProperty(pTimeName);
Index: tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferences.java
===================================================================
--- tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferences.java	(revision 1065)
+++ tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferences.java	(revision 1066)
@@ -8,7 +8,7 @@
 public class BackToMediaPreferences extends TXMPreferences {
 
 	// auto populate the preference node qualifier from the current bundle id
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(BackToMediaPreferences.class).getSymbolicName();
+//	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(BackToMediaPreferences.class).getSymbolicName();
 	
 	public static final String PREFERENCES_PREFIX = "backtomedia_";
 	
@@ -27,7 +27,7 @@
 	@Override
 	public void initializeDefaultPreferences() {
 	
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = DefaultScope.INSTANCE.getNode(getPreferencesNodeQualifier());
 		preferences.putBoolean(REPEAT, true);
 		preferences.putBoolean(USEWORDPROPERTY, false);
 		preferences.put(STRUCTURE, "sp");
@@ -35,4 +35,15 @@
 		preferences.put(STRUCTURE_START_PROPERTY, "endtime");
 		preferences.put(WORD_PROPERTY, "time");
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(BackToMediaPreferences.class)) {
+			new BackToMediaPreferences();
+		}
+		return TXMPreferences.instances.get(BackToMediaPreferences.class);
+	}
 }
Index: tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferencePage.java
===================================================================
--- tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferencePage.java	(revision 1065)
+++ tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/preferences/BackToMediaPreferencePage.java	(revision 1066)
@@ -87,7 +87,7 @@
 	 */
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(BackToMediaPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(new BackToMediaPreferences().getPreferencesNodeQualifier()));
 		//this.setImageDescriptor(WordCloudAdapterFactory.ICON);
 	}
 
Index: tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/editors/vlcplayer/VLCPlayer.java
===================================================================
--- tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/editors/vlcplayer/VLCPlayer.java	(revision 1065)
+++ tmp/org.txm.backtomedia.rcp/src/org/txm/backtomedia/editors/vlcplayer/VLCPlayer.java	(revision 1066)
@@ -214,7 +214,7 @@
 
 		repeatButton = new Button(this,SWT.CHECK);
 		repeatButton.setText(MessagesMP.repeat);
-		repeat = TXMPreferences.getBoolean(BackToMediaPreferences.REPEAT, BackToMediaPreferences.PREFERENCES_NODE);
+		repeat = BackToMediaPreferences.getInstance().getBoolean(BackToMediaPreferences.REPEAT);
 		repeatButton.setSelection(repeat);
 		repeatButton.addSelectionListener(new SelectionListener() {
 			@Override
Index: tmp/org.txm.chartsengine.r.rcp/src/org/txm/rcp/chartsengine/r/preferences/RChartsEnginePreferencePage.java
===================================================================
--- tmp/org.txm.chartsengine.r.rcp/src/org/txm/rcp/chartsengine/r/preferences/RChartsEnginePreferencePage.java	(revision 1065)
+++ tmp/org.txm.chartsengine.r.rcp/src/org/txm/rcp/chartsengine/r/preferences/RChartsEnginePreferencePage.java	(revision 1066)
@@ -102,7 +102,7 @@
 				//FIXME: old code
 				// Set the first charts engine supported export file format as default charts export file format
 
-//				TXMPreferences.putString(ChartsEnginePreferences.PREFERENCES_NODE, ChartsEnginePreferences.RDEVICE, ChartsEngine.getCurrent().getSupportedOutputFileFormats().get(0));
+//				ChartsEnginePreferences.getInstance().put(ChartsEnginePreferences.RDEVICE, ChartsEngine.getCurrent().getSupportedOutputFileFormats().get(0));
 //				
 //				// Refresh the User\Export preference page to update "Default charts export file format" combo box
 //				PlatformUI.getWorkbench().getPreferenceManager().
Index: tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/preferences/PropertiesPreferencePage.java
===================================================================
--- tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/preferences/PropertiesPreferencePage.java	(revision 1065)
+++ tmp/org.txm.properties.rcp/src/org/txm/properties/rcp/preferences/PropertiesPreferencePage.java	(revision 1066)
@@ -48,7 +48,7 @@
 		
 	@Override
 	public void init(IWorkbench workbench) {
-		this.setPreferenceStore(new TXMPreferenceStore(PropertiesPreferences.PREFERENCES_NODE));
+		this.setPreferenceStore(new TXMPreferenceStore(new PropertiesPreferences().getPreferencesNodeQualifier()));
 		this.setTitle(TXMCoreMessages.common_description);
 	}
 	
Index: tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TSResult.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TSResult.java	(revision 1065)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/searchengine/ts/TSResult.java	(revision 1066)
@@ -307,7 +307,7 @@
 //			ConcordanceBlocks builder = new ConcordanceBlocks();
 //			rez = builder.process(xmlFile, csvFile, cx, list, list2);
 //		} else { // XSL method
-//			File xslDir = new File(TXMPreferences.getString(TBXPreferences.USER_TXM_HOME, TBXPreferences.PREFERENCES_NODE), "xsl"); //$NON-NLS-1$
+//			File xslDir = new File(TBXPreferences.getInstance().getString(TBXPreferences.USER_TXM_HOME), "xsl"); //$NON-NLS-1$
 //			File xslFile = new File(xslDir, method+".xsl"); //$NON-NLS-1$
 //			if (!xslFile.exists()) {
 //				Log.severe(TXMCoreMessages.TSResult_7+xslFile);
Index: tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java
===================================================================
--- tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java	(revision 1065)
+++ tmp/org.txm.tigersearch.rcp/src/org/txm/tigersearch/editors/TSIndexEditor.java	(revision 1066)
@@ -528,7 +528,7 @@
 		propsArea.addValueChangeListener(new Listener() {
 			@Override
 			public void handleEvent(Event event) {
-				if (!initializing && TXMPreferences.getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR, RCPPreferences.PREFERENCES_NODE))
+				if (!initializing && RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR))
 					compute();
 			}
 		});
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 1065)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RStatsEngine.java	(revision 1066)
@@ -43,44 +43,44 @@
 		try {
 			if (monitor != null) monitor.subTask("Starting Statistics Engine...");
 			
-			if (TXMPreferences.getBoolean(RPreferences.DISABLE, RPreferences.PREFERENCES_NODE)) {
+			if (RPreferences.getInstance().getBoolean(RPreferences.DISABLE)) {
 				Log.severe("Warning, Statistics Engine is disabled.");
 				return false;
 			}
 			
 			// try launching R server and connecting to it
-			int port = TXMPreferences.getInt(RPreferences.PORT, RPreferences.PREFERENCES_NODE);
-			String user = TXMPreferences.getString(RPreferences.USER, RPreferences.PREFERENCES_NODE);
-			String password = TXMPreferences.getString(RPreferences.PASSWORD, RPreferences.PREFERENCES_NODE);
-			boolean remote = TXMPreferences.getBoolean(RPreferences.REMOTE, RPreferences.PREFERENCES_NODE);
-			boolean debug = TXMPreferences.getBoolean(RPreferences.DEBUG, RPreferences.PREFERENCES_NODE);
-			mandatory = TXMPreferences.getBoolean(RPreferences.IS_MANDATORY, RPreferences.PREFERENCES_NODE);
+			int port = RPreferences.getInstance().getInt(RPreferences.PORT);
+			String user = RPreferences.getInstance().getString(RPreferences.USER);
+			String password = RPreferences.getInstance().getString(RPreferences.PASSWORD);
+			boolean remote = RPreferences.getInstance().getBoolean(RPreferences.REMOTE);
+			boolean debug = RPreferences.getInstance().getBoolean(RPreferences.DEBUG);
+			mandatory = RPreferences.getInstance().getBoolean(RPreferences.IS_MANDATORY);
 			
 			Log.info(RCoreMessages.bind(RCoreMessages.info_startingStatsEngine, new Object[] {user, remote, port, debug}));
 			// System.out.println("test remote :" + R_PATH_TO_EXECUTABLE + ":" + properties.getProperty(R_PATH_TO_EXECUTABLE));
 			if (!remote) {
 				// start Rserve executable
 				started = RWorkspace.startExec(
-						TXMPreferences.getString(RPreferences.PATH_TO_EXECUTABLE, RPreferences.PREFERENCES_NODE), 
+						RPreferences.getInstance().getString(RPreferences.PATH_TO_EXECUTABLE), 
 						port, 
 						debug, 
-						TXMPreferences.getString(RPreferences.RARGS, RPreferences.PREFERENCES_NODE),
-						TXMPreferences.getString(RPreferences.RSERVEARGS, RPreferences.PREFERENCES_NODE));
+						RPreferences.getInstance().getString(RPreferences.RARGS),
+						RPreferences.getInstance().getString(RPreferences.RSERVEARGS));
 
 				if (started) { // try connecting to R witout login
 					started = RWorkspace.connect("127.0.0.1", port); //$NON-NLS-1$
 				}
 			} else { // try connecting to R, with login and password
-				started = RWorkspace.connect(TXMPreferences.getString(RPreferences.SERVER_ADDRESS, RPreferences.PREFERENCES_NODE), port, user, password);
+				started = RWorkspace.connect(RPreferences.getInstance().getString(RPreferences.SERVER_ADDRESS), port, user, password);
 			}
 
 			if (started) { // post configuration of R
-				String rPackagesPath = TXMPreferences.getString(RPreferences.PACKAGES_PATH, RPreferences.PREFERENCES_NODE);
+				String rPackagesPath = RPreferences.getInstance().getString(RPreferences.PACKAGES_PATH);
 				started = RWorkspace.getRWorkspaceInstance().postConfiguration(rPackagesPath);
 			}
 
-			//System.out.println("try to set R_FILE_TRANSFERT to " + TXMPreferences.getBoolean(RPreferences.R_FILE_TRANSFERT, RPreferences.PREFERENCES_NODE));
-			RWorkspace.setUseFileCommunication(TXMPreferences.getBoolean(RPreferences.FILE_TRANSFERT, RPreferences.PREFERENCES_NODE));
+			//System.out.println("try to set R_FILE_TRANSFERT to " + RPreferences.getInstance().getBoolean(RPreferences.R_FILE_TRANSFERT));
+			RWorkspace.setUseFileCommunication(RPreferences.getInstance().getBoolean(RPreferences.FILE_TRANSFERT));
 			//	System.out.println("success");
 			//System.out.println("file transfert ? "+RWorkspace.isFileTranfert());
 		} catch (RWorkspaceException e) {
@@ -114,7 +114,7 @@
 	 * kill Rserve process.
 	 */
 	public static void kill() {
-		if (!TXMPreferences.getBoolean(RPreferences.REMOTE, RPreferences.PREFERENCES_NODE))	{
+		if (!RPreferences.getInstance().getBoolean(RPreferences.REMOTE))	{
 			
 			try {
 				if (StartRserve.rProcess != null) {
@@ -175,7 +175,7 @@
 //			else {
 //				try {
 //					Process p = Runtime.getRuntime().exec(
-//							"kill -9 `lsof -t -a -c Rserve-bin.so -i : " + TXMPreferences.getInt(RPreferences.PORT, RPreferences.PREFERENCES_NODE) + "`"); //$NON-NLS-1$ //$NON-NLS-2$
+//							"kill -9 `lsof -t -a -c Rserve-bin.so -i : " + RPreferences.getInstance().getInt(RPreferences.PORT) + "`"); //$NON-NLS-1$ //$NON-NLS-2$
 //					p.waitFor();
 //					started = false;
 //				} catch (IOException e) {
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 1065)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 1066)
@@ -1425,7 +1425,7 @@
 	 * @return
 	 */
 	public boolean isLoggingEvalCommandLines()	{
-		return RPreferences.getBoolean(RPreferences.SHOW_EVAL_LOGS, RPreferences.PREFERENCES_NODE); 
+		return RPreferences.getInstance().getBoolean(RPreferences.SHOW_EVAL_LOGS); 
 	}
 	
 	/**
Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/preferences/RPreferences.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/preferences/RPreferences.java	(revision 1065)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/preferences/RPreferences.java	(revision 1066)
@@ -24,7 +24,6 @@
 
 
 	// auto populate the preference node qualifier from the current bundle id
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(RPreferences.class).getSymbolicName();
 	
 	public static final String PREFERENCES_PREFIX = "r_"; //$NON-NLS-1$
 	
@@ -80,7 +79,7 @@
 
 	@Override
 	public void initializeDefaultPreferences() {
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = getDefaultPreferencesNode();
 
 		preferences.putBoolean(IS_MANDATORY, false);
 		preferences.put(SERVER_ADDRESS, "127.0.0.1");
@@ -99,7 +98,7 @@
 		
 		String RFRAGMENT = "org.txm.statsengine.r.core."+System.getProperty("osgi.os");
 		Log.info("R.DoInstallStep.preInstall()");
-		String saved = TXMPreferences.getString(RPreferences.VERSION, RPreferences.PREFERENCES_NODE);
+		String saved = getString(RPreferences.VERSION);
 		Version currentVersion = BundleUtils.getBundleVersion(RFRAGMENT); // the RFRAGMENT plugin contains the right version
 		
 		//ensure plugin binary files rights are ok
@@ -168,22 +167,32 @@
 		
 		
 		Log.warning("SearchEngine preferences set with: "+OSDir.getAbsolutePath()+" and "+execFile.getAbsolutePath());
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, RPreferences.VERSION, currentVersion.toString());
+		put(RPreferences.VERSION, currentVersion.toString());
 		
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, PATH_TO_EXECUTABLE, execFile.getAbsolutePath());
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, IS_MANDATORY, false);
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, SERVER_ADDRESS, "127.0.0.1");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, REMOTE, false);
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, DISABLE, false);
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, DEBUG, false);
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, PORT, "6311");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, USER, "");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, PASSWORD, "");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, RARGS, "");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, RSERVEARGS, "");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, FILE_TRANSFERT, false);
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, SVG_DEVICE, "svg");
-		TXMPreferences.put(RPreferences.PREFERENCES_NODE, SHOW_EVAL_LOGS, true);
+		put(PATH_TO_EXECUTABLE, execFile.getAbsolutePath());
+		put(IS_MANDATORY, false);
+		put(SERVER_ADDRESS, "127.0.0.1");
+		put(REMOTE, false);
+		put(DISABLE, false);
+		put(DEBUG, false);
+		put(PORT, "6311");
+		put(USER, "");
+		put(PASSWORD, "");
+		put(RARGS, "");
+		put(RSERVEARGS, "");
+		put(FILE_TRANSFERT, false);
+		put(SVG_DEVICE, "svg");
+		put(SHOW_EVAL_LOGS, true);
 	}
 	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(RPreferences.class)) {
+			new RPreferences();
+		}
+		return TXMPreferences.instances.get(RPreferences.class);
+	}
 }
Index: tmp/org.txm.wordcloud.core/src/org/txm/wordcloud/core/preferences/WordCloudPreferences.java
===================================================================
--- tmp/org.txm.wordcloud.core/src/org/txm/wordcloud/core/preferences/WordCloudPreferences.java	(revision 1065)
+++ tmp/org.txm.wordcloud.core/src/org/txm/wordcloud/core/preferences/WordCloudPreferences.java	(revision 1066)
@@ -16,9 +16,6 @@
 public class WordCloudPreferences extends TXMPreferences {
 
 
-	// auto populate the preference node qualifier from the current bundle id
-	public static final String PREFERENCES_NODE = FrameworkUtil.getBundle(WordCloudPreferences.class).getSymbolicName();
-	
 	public static final String PREFERENCES_PREFIX = "wordcloud_";
 	
 	public static final String MAX_WORDS_COUNT = PREFERENCES_PREFIX + "max_words"; //$NON-NLS-1$
@@ -30,7 +27,7 @@
 	@Override
 	public void initializeDefaultPreferences() {
 	
-		Preferences preferences = DefaultScope.INSTANCE.getNode(PREFERENCES_NODE);
+		Preferences preferences = getDefaultPreferencesNode();
 		preferences.putInt(MAX_WORDS_COUNT, 50);
 		preferences.putInt(F_MIN, 20);
 		preferences.putInt(ROTATION_PERCENT, 10);
@@ -39,4 +36,15 @@
 		// shared charts rendering preferences
 		ChartsEnginePreferences.initializeChartsEngineSharedPreferences(preferences);
 	}
+	
+	/**
+	 * Gets the instance.
+	 * @return the instance
+	 */
+	public static TXMPreferences getInstance()	{
+		if (!TXMPreferences.instances.containsKey(WordCloudPreferences.class)) {
+			new WordCloudPreferences();
+		}
+		return TXMPreferences.instances.get(WordCloudPreferences.class);
+	}
 }
Index: tmp/org.txm.core/src/java/org/txm/Toolbox.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/Toolbox.java	(revision 1065)
+++ tmp/org.txm.core/src/java/org/txm/Toolbox.java	(revision 1066)
@@ -267,7 +267,7 @@
 
 
 		// FIXME: tmp persistence tests: Reload saved results
-//		if (TBXPreferences.getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED, TBXPreferences.PREFERENCES_NODE)) {
+//		if (TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED)) {
 			Log.info("Toolbox.initialize(): reloading persitent results...");
 			ArrayList<String> resultsNodesQualifiers = TXMPreferences.getAllResultsNodesQualifiers();
 			for (String nodeQualifier : resultsNodesQualifiers) {
@@ -503,7 +503,7 @@
 			// FIXME: tmp solution before IProject: remove all not persistable result nodes
 			//TXMPreferences.deleteAllNotPersistableResultsNodes();
 			// FIXME: tmp solution before IProject: remove result local nodes if persistence preference is disabled
-//			if (!TBXPreferences.getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED, TBXPreferences.PREFERENCES_NODE)) {
+//			if (!TBXPreferences.getInstance().getBoolean(TBXPreferences.AUTO_PERSISTENCE_ENABLED)) {
 //				TXMPreferences.deleteAllResultsNodes();
 //			}
 			// FIXME: other tmp solution
Index: tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java	(revision 1065)
+++ tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java	(revision 1066)
@@ -229,8 +229,19 @@
 	public String getString(String key)	{
 		return getString(key, this.preferencesNode);
 	}
+	
 
 	/**
+	 * 
+	 * @param key
+	 * @return
+	 */
+	public float getFloat(String key)	{
+		return getFloat(key, this.preferencesNode);
+	}
+
+
+	/**
 	 * Gets the preferences node qualifier of the instance.
 	 * @return the preferencesNode
 	 */
@@ -239,6 +250,8 @@
 	}
 
 	
+	
+	
 	/**
 	 * Stores a pairs of key / value in a local node dedicated to the specified result. The node qualifier is generated by the <code>Object.toString()</code> method.
 	 * 
