Révision 820

tmp/org.txm.setups/shared/debian/usr/bin/TXM (revision 820)
143 143
    exit 1 ;
144 144
fi
145 145

  
146
UBUNTU_MENUPROXY=0 exec /usr/lib/TXM/TXM -run --launcher.ini "$HOME/TXM/.txm/TXM.ini" -data "$HOME/TXM/.txm/data" -user "$HOME/TXM/.txm/user" -install "/usr/lib/TXM"
146
## uncomment next lien to enable full debug
147
#DEBUGOPTIONS="-log -consolelog -clean -debug -console -noexit"
148

  
149
UBUNTU_MENUPROXY=0 exec /usr/lib/TXM/TXM -run --launcher.ini "$HOME/TXM/.txm/TXM.ini" $DEBUGOPTIONS -data "$HOME/TXM/.txm/data" -user "$HOME/TXM/.txm/user" -install "/usr/lib/TXM"
tmp/org.txm.setups/VERSION (revision 820)
1
0.8.0
1
0.8.0a
tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java (revision 820)
22 22
	public TXMResultAdapter() {
23 23
		// TODO Auto-generated constructor stub
24 24
	}
25
	
25

  
26 26
	@Override
27 27
	public Object[] getChildren(Object result) {
28 28
		return ((TXMResult) result).getChildren(!TBXPreferences.getBoolean(TBXPreferences.SHOW_ALL_RESULT_NODES, TBXPreferences.PREFERENCES_NODE)).toArray();
......
30 30

  
31 31
	@Override
32 32
	public String getLabel(Object result) {
33
		if(((TXMResult) result).getUserName() != null)	{
34
			return ((TXMResult) result).getUserName();
33
		if (result instanceof TXMResult) {
34
			TXMResult r = (TXMResult)result;
35

  
36
			if(!r.getUserName().isEmpty())	{
37
				return r.getUserName();
38
			}
39
			else	{
40
				return r.getSimpleName();	
41
			}
42
		} else {
43
			return result.toString();
35 44
		}
36
		else	{
37
			return ((TXMResult) result).getSimpleName();	
38
		}
39 45
	}
40 46

  
41 47
	@Override
tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/corpora/CorporaView.java (revision 820)
31 31
import java.util.HashMap;
32 32
import java.util.List;
33 33

  
34
import javax.swing.tree.TreePath;
35

  
34 36
import org.eclipse.core.commands.Command;
35 37
import org.eclipse.core.commands.common.NotDefinedException;
36 38
import org.eclipse.core.runtime.IProgressMonitor;
37 39
import org.eclipse.core.runtime.IStatus;
38 40
import org.eclipse.core.runtime.Status;
39 41
import org.eclipse.jface.action.MenuManager;
42
import org.eclipse.jface.viewers.CellEditor;
43
import org.eclipse.jface.viewers.ColumnViewerEditor;
44
import org.eclipse.jface.viewers.ColumnViewerEditorActivationEvent;
45
import org.eclipse.jface.viewers.ColumnViewerEditorActivationStrategy;
40 46
import org.eclipse.jface.viewers.DecoratingLabelProvider;
41 47
import org.eclipse.jface.viewers.DoubleClickEvent;
48
import org.eclipse.jface.viewers.ICellModifier;
42 49
import org.eclipse.jface.viewers.IDoubleClickListener;
43 50
import org.eclipse.jface.viewers.ISelection;
44 51
import org.eclipse.jface.viewers.IStructuredSelection;
45 52
import org.eclipse.jface.viewers.StructuredSelection;
53
import org.eclipse.jface.viewers.TextCellEditor;
46 54
import org.eclipse.jface.viewers.TreeSelection;
47 55
import org.eclipse.jface.viewers.TreeViewer;
56
import org.eclipse.jface.viewers.TreeViewerEditor;
48 57
import org.eclipse.jface.viewers.Viewer;
49
import org.eclipse.jface.viewers.ViewerFilter;
50 58
import org.eclipse.jface.viewers.ViewerSorter;
51 59
import org.eclipse.swt.SWT;
52 60
import org.eclipse.swt.events.KeyAdapter;
53 61
import org.eclipse.swt.events.KeyEvent;
54 62
import org.eclipse.swt.events.SelectionEvent;
55 63
import org.eclipse.swt.events.SelectionListener;
64
import org.eclipse.swt.graphics.Path;
56 65
import org.eclipse.swt.widgets.Composite;
57 66
import org.eclipse.swt.widgets.Display;
58 67
import org.eclipse.swt.widgets.Menu;
59
import org.eclipse.swt.widgets.TreeColumn;
60 68
import org.eclipse.swt.widgets.TreeItem;
61
import org.eclipse.ui.IEditorPart;
62 69
import org.eclipse.ui.IWorkbenchPage;
63 70
import org.eclipse.ui.IWorkbenchWindow;
64 71
import org.eclipse.ui.PartInitException;
......
66 73
import org.eclipse.ui.commands.ICommandService;
67 74
import org.eclipse.ui.contexts.IContextService;
68 75
import org.eclipse.ui.handlers.IHandlerService;
69
import org.eclipse.ui.internal.Workbench;
70 76
import org.eclipse.ui.part.ViewPart;
71 77
import org.txm.Toolbox;
72
import org.txm.chartsengine.core.results.ChartResult;
73 78
import org.txm.core.results.TXMResult;
74 79
import org.txm.objects.Project;
75
import org.txm.objects.SavedQuery;
76
import org.txm.objects.Text;
77 80
import org.txm.objects.Workspace;
78 81
import org.txm.rcp.StatusLine;
79
import org.txm.rcp.TXMWindows;
80 82
import org.txm.rcp.editors.TXMEditor;
81
import org.txm.rcp.editors.TXMResultEditorInput;
82 83
import org.txm.rcp.handlers.BaseAbstractHandler;
83 84
import org.txm.rcp.handlers.results.DeleteObject;
84 85
import org.txm.rcp.messages.TXMUIMessages;
85 86
import org.txm.rcp.utils.JobHandler;
86 87
import org.txm.searchengine.cqp.corpus.Corpus;
88
import org.txm.searchengine.cqp.corpus.MainCorpus;
87 89
import org.txm.searchengine.cqp.corpus.Partition;
88 90
import org.txm.searchengine.cqp.corpus.Subcorpus;
89 91
import org.txm.utils.logger.Log;
......
121 123
	 */
122 124
	private static HashMap<Class, Class> managedDoubleClickClasses = new HashMap<Class, Class>();
123 125

  
124
	
126

  
125 127
	public static HashMap<String, String> doubleClickInstalledCommands = new HashMap<String, String>();
126
	
127
	
128

  
129

  
128 130
	public static HashMap<Class, Class> getManagedDoubleClickClasses() {
129 131
		return managedDoubleClickClasses;
130 132
	}
131
	
132
	
133

  
134

  
133 135
	/**
134 136
	 * Gets the single instance of CorporaView.
135 137
	 *
......
195 197
		PlatformUI.getWorkbench().getHelpSystem().setHelp(
196 198
				treeViewer.getControl(), TXMUIMessages.CorporaView_0);
197 199
		getSite().setSelectionProvider(treeViewer);
198
//		treeViewer.addFilter(new ViewerFilter() {
200
		treeViewer.setColumnProperties(new String[]{"name"}); // mandatory to enable edit mode -> used to identify columns
201

  
202

  
203
//		ColumnViewerEditorActivationStrategy actSupport = new ColumnViewerEditorActivationStrategy(treeViewer) {
204
//			protected boolean isEditorActivationEvent(ColumnViewerEditorActivationEvent event) {
205
//				System.out.println("activated");
206
//				return event.keyCode == SWT.F2;
207
//			}
208
//		};
209
//		int f = ColumnViewerEditor.TABBING_MOVE_TO_ROW_NEIGHBOR | 
210
//			    ColumnViewerEditor.TABBING_VERTICAL |
211
//			    ColumnViewerEditor.KEYBOARD_ACTIVATION;
212
//		
213
//		TreeViewerEditor.create(treeViewer, actSupport, f);
214
//
215
//		treeViewer.setCellEditors(new CellEditor[]{new TextCellEditor(treeViewer.getTree())});
216
//		treeViewer.setCellModifier(new ICellModifier() {
217
//
199 218
//			@Override
200
//			public boolean select(Viewer viewer, Object parentElement, Object element) {
201
//				if (element instanceof Text) return false;
202
//				if (element instanceof SavedQuery) return false;
203
//				return true;
219
//			public void modify(Object element, String property, Object value) {
220
//				System.out.println("modify: "+element+" "+property+" "+value);
221
//				if (element instanceof TreeItem)
222
//				{
223
//					//update element and tree model
224
//					TreeItem treeItem = (TreeItem)element;
225
//					TXMResult data = (TXMResult)treeItem.getData();
226
//					data.setUserName(value.toString());
227
//					treeItem.setText(value.toString());
228
//				}
204 229
//			}
230
//
231
//			@Override
232
//			public Object getValue(Object element, String property) {
233
//				if (element instanceof TXMResult) {
234
//					return ((TXMResult)element).getUserName();
235
//				}
236
//				return element.toString();
237
//			}
238
//
239
//			@Override
240
//			public boolean canModify(Object element, String property) {
241
//				return element instanceof TXMResult;
242
//			}
205 243
//		});
244

  
245
		//		treeViewer.addFilter(new ViewerFilter() {
246
		//			@Override
247
		//			public boolean select(Viewer viewer, Object parentElement, Object element) {
248
		//				if (element instanceof Text) return false;
249
		//				if (element instanceof SavedQuery) return false;
250
		//				return true;
251
		//			}
252
		//		});
206 253
		treeViewer.setContentProvider(new TXMResultContentProvider(this));
207 254
		//treeViewer.setLabelProvider(new TextometrieLabelProvider());
208 255
		treeViewer.setLabelProvider(
209 256
				new DecoratingLabelProvider(new TXMResultLabelProvider(),
210 257
						PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator()));
211
		
258

  
212 259
		// for now the sorter is used to sort the Corpus, Subcorpus and partition objects
213 260
		treeViewer.setSorter(new ViewerSorter() {
214
		    public int category(Object element) {
215
		    	if (element instanceof Subcorpus) return 2; // must do it before the Corpus test
216
		    	else if (element instanceof Corpus) return 0;
217
		        else if (element instanceof Partition) return 1;
218
		        else return 3;
219
		    }
220
		    
221
		    public int compare(Viewer viewer, Object e1, Object e2) {
222
		    	
223
		    	int cat1 = category(e1);
224
		        int cat2 = category(e2);
261
			public int category(Object element) {
262
				if (element instanceof Subcorpus) return 2; // must do it before the Corpus test
263
				else if (element instanceof Corpus) return 0;
264
				else if (element instanceof Partition) return 1;
265
				else return 3;
266
			}
225 267

  
226
		        if (cat1 != cat2) {
268
			public int compare(Viewer viewer, Object e1, Object e2) {
269

  
270
				int cat1 = category(e1);
271
				int cat2 = category(e2);
272

  
273
				if (cat1 != cat2) {
227 274
					return cat1 - cat2;
228 275
				}
229
		    	
230
		    	if (e1 instanceof TXMResult && e2 instanceof TXMResult) {
231
		    		return TXMResult.compare((TXMResult)e1, (TXMResult)e2);
232
		    	} else {
233
		    		return super.compare(viewer, e1, e2);
234
		    	}
235
		    }
276

  
277
				if (e1 instanceof TXMResult && e2 instanceof TXMResult) {
278
					return TXMResult.compare((TXMResult)e1, (TXMResult)e2);
279
				} else {
280
					return super.compare(viewer, e1, e2);
281
				}
282
			}
236 283
		});
237
		
284

  
238 285
		if (Toolbox.isInitialized()) {
239 286
			Workspace w = null;
240 287
			while (w == null) {
......
270 317
				// FIXME: define here what to display
271 318
				String mess = ((TXMResult)selectedItem).getSimpleDetails();
272 319
				if (mess == null) mess = selectedItem.toString();
273
				
320

  
274 321
				StatusLine.setMessage(mess);
275 322
			}
276 323

  
......
297 344
				e1.printStackTrace();
298 345
			}
299 346
		}
300
		
301
		
347

  
348

  
302 349
		treeViewer.addDoubleClickListener(new IDoubleClickListener() {
303 350
			@Override
304 351
			public void doubleClick(DoubleClickEvent event) {
......
306 353
				Object selectedItem = selection.getFirstElement();
307 354
				//System.out.println("dbl click: "+selectedItem);
308 355
				if (selectedItem != null) {
309
					
356

  
310 357
					// FIXME: this code should be in conflict with the native RCP system based in EditorInput.equals(), see if we can remove it
311
//					if (selectedItem instanceof TXMResult) {
312
//
313
//						TXMResult txmResult = (TXMResult) selectedItem;
314
//						TXMResultEditorInput<TXMResult> input = new TXMResultEditorInput<TXMResult>(txmResult);
315
//
316
//						IWorkbenchWindow window = TXMWindows.getActiveWindow();
317
//						if (window != null) {
318
//							IWorkbenchPage page = window.getActivePage();
319
//							IEditorPart editor = page.findEditor(input);
320
//							if (editor != null) {
321
//								page.activate(editor);
322
//								return; // ok done
323
//							}
324
//						}
325
//					}
358
					//					if (selectedItem instanceof TXMResult) {
359
					//
360
					//						TXMResult txmResult = (TXMResult) selectedItem;
361
					//						TXMResultEditorInput<TXMResult> input = new TXMResultEditorInput<TXMResult>(txmResult);
362
					//
363
					//						IWorkbenchWindow window = TXMWindows.getActiveWindow();
364
					//						if (window != null) {
365
					//							IWorkbenchPage page = window.getActivePage();
366
					//							IEditorPart editor = page.findEditor(input);
367
					//							if (editor != null) {
368
					//								page.activate(editor);
369
					//								return; // ok done
370
					//							}
371
					//						}
372
					//					}
326 373

  
327 374
					String commandId = doubleClickInstalledCommands.get(selectedItem.getClass().getName());
328 375
					if (commandId != null) {
329 376
						BaseAbstractHandler.executeCommand(commandId);
330 377
					}
331
					
378

  
332 379
					// test if a double click listener has been set
333 380
					Class commandClass = managedDoubleClickClasses.get(selectedItem.getClass());
334 381
					//System.out.println("classes: "+managedDoubleClickClasses);
......
375 422
						}
376 423
					}
377 424
				}
425
				//				else if (arg0.keyCode == SWT.CR || arg0.keyCode == SWT.KEYPAD_CR) {
426
				//
427
				//					ISelection isel = treeViewer.getSelection();
428
				//					if (isel instanceof StructuredSelection) {
429
				//						System.out.println("EDIT! "+((StructuredSelection)isel).getFirstElement());
430
				//						treeViewer.editElement(((StructuredSelection)isel).getFirstElement(), 10);
431
				//					}
432
				//
433
				//				}
378 434
			}
379 435
		});
380 436

  
......
489 545
			public void run() {
490 546

  
491 547
				//FIXME: Debug
492
//				System.err.println("CorporaView.refreshObject(...).new Runnable() {...}.run(): refreshing node " + result);
493
//				System.err.println("CorporaView.refreshObject(...).new Runnable() {...}.run(): direct parent " + result.getParent());
494
//				System.err.println("CorporaView.refreshObject(...).new Runnable() {...}.run(): path " + result.getFullPathSimpleName());
548
				//				System.err.println("CorporaView.refreshObject(...).new Runnable() {...}.run(): refreshing node " + result);
549
				//				System.err.println("CorporaView.refreshObject(...).new Runnable() {...}.run(): direct parent " + result.getParent());
550
				//				System.err.println("CorporaView.refreshObject(...).new Runnable() {...}.run(): path " + result.getFullPathSimpleName());
495 551

  
496 552
				CorporaView corporaView = getInstance();
497 553
				corporaView.treeViewer.refresh(); // FIXME: without that the refresh sometimes doesn't work, need to investigate (after some test it may occurs when a hierarchy of more than one result is created. Need to refresh all the hierarchy result one by one?)
498
				
554

  
499 555
				corporaView.treeViewer.refresh(result);
500 556

  
501 557
				try {
......
537 593
	 * @param resultDataClass
538 594
	 * @param commandClass
539 595
	 */
540
//	public static void addDoubleClickListener(final Class resultDataClass, final Class commandClass)	{
541
//		if (managedDoubleClickClasses.containsKey(managedDoubleClickClasses)) {
542
//			Log.warning("The " + commandClass + " class for result " + resultDataClass + " is already managed by the Corpora view.");
543
//			return;
544
//		}
545
//		//FIXME: this won't works if the ComputeXXX commands is not called -> we can't do lazy load
546
//		// also not work for the intermediate results (eg. lexical table of a CA computed from a partition)
547
//		managedDoubleClickClasses.put(resultDataClass, commandClass);
548
//	}
596
	//	public static void addDoubleClickListener(final Class resultDataClass, final Class commandClass)	{
597
	//		if (managedDoubleClickClasses.containsKey(managedDoubleClickClasses)) {
598
	//			Log.warning("The " + commandClass + " class for result " + resultDataClass + " is already managed by the Corpora view.");
599
	//			return;
600
	//		}
601
	//		//FIXME: this won't works if the ComputeXXX commands is not called -> we can't do lazy load
602
	//		// also not work for the intermediate results (eg. lexical table of a CA computed from a partition)
603
	//		managedDoubleClickClasses.put(resultDataClass, commandClass);
604
	//	}
549 605
}
tmp/org.txm.rcp/META-INF/MANIFEST.MF (revision 820)
1 1
Manifest-Version: 1.0
2
Require-Bundle: org.eclipse.ui;visibility:=reexport,org.eclipse.core.r
3
 untime;visibility:=reexport,org.eclipse.core.filesystem;bundle-versio
4
 n="1.2.0";visibility:=reexport,org.eclipse.ui.ide;visibility:=reexpor
5
 t,org.eclipse.ui.console;bundle-version="3.4.0";visibility:=reexport,
6
 org.eclipse.jface.text;visibility:=reexport,org.eclipse.ui.browser;bu
7
 ndle-version="3.2.300";visibility:=reexport,org.eclipse.ui.forms;visi
8
 bility:=reexport,org.eclipse.ui.editors;visibility:=reexport,org.txm.
9
 core;visibility:=reexport,org.eclipse.e4.ui.workbench.addons.swt;bund
10
 le-version="1.0.0";visibility:=reexport,org.eclipse.equinox.ds;bundle
11
 -version="1.4.100";visibility:=reexport,org.eclipse.equinox.event;bun
12
 dle-version="1.3.0";visibility:=reexport,org.eclipse.equinox.p2.ui;bu
13
 ndle-version="2.3.0";visibility:=reexport,org.eclipse.equinox.p2.ui.s
14
 dk;bundle-version="1.0.300";visibility:=reexport,org.eclipse.equinox.
15
 p2.ui.sdk.scheduler;bundle-version="1.2.0";visibility:=reexport,org.e
16
 clipse.update.configurator;bundle-version="3.3.200";visibility:=reexp
17
 ort,org.eclipse.e4.ui.css.swt.theme;bundle-version="0.9.100";visibili
18
 ty:=reexport,org.eclipse.e4.ui.css.swt;bundle-version="0.11.0";visibi
19
 lity:=reexport,org.eclipse.e4.ui.css.core;bundle-version="0.10.100";v
20
 isibility:=reexport,org.eclipse.equinox.p2.updatesite;bundle-version=
21
 "1.0.400";visibility:=reexport,org.eclipse.platform;bundle-version="4
22
 .3.0";visibility:=reexport,org.eclipse.equinox.util;bundle-version="1
23
 .0.500";visibility:=reexport,org.eclipse.equinox.p2.operations;visibi
24
 lity:=reexport,org.eclipse.equinox.p2.metadata;bundle-version="2.2.0"
25
 ;visibility:=reexport,org.eclipse.equinox.p2.director;visibility:=ree
26
 xport,org.eclipse.equinox.p2.ui.discovery;bundle-version="1.0.0";visi
27
 bility:=reexport,org.eclipse.equinox.p2.discovery;bundle-version="1.0
28
 .200";visibility:=reexport,org.eclipse.equinox.p2.discovery.compatibi
29
 lity;bundle-version="1.0.101";visibility:=reexport,org.eclipse.swt;vi
30
 sibility:=reexport,org.eclipse.equinox.p2.repository;bundle-version="
31
 2.3.0";visibility:=reexport,org.eclipse.equinox.p2.core;bundle-versio
32
 n="2.3.0";visibility:=reexport,org.eclipse.equinox.p2.engine;bundle-v
33
 ersion="2.3.0";visibility:=reexport,org.eclipse.equinox.p2.console;bu
34
 ndle-version="1.0.300";visibility:=reexport,org.eclipse.ui.net;bundle
35
 -version="1.2.200";visibility:=reexport,org.eclipse.core.net;visibili
36
 ty:=reexport,org.eclipse.e4.ui.model.workbench;visibility:=reexport,o
37
 rg.eclipse.e4.ui.workbench;bundle-version="1.0.0";visibility:=reexpor
38
 t,org.eclipse.e4.core.contexts;bundle-version="1.3.0";visibility:=ree
39
 xport,org.eclipse.core.expressions;visibility:=reexport,org.eclipse.u
40
 i.navigator;bundle-version="3.5.300";visibility:=reexport,org.eclipse
41
 .ui.navigator.resources;bundle-version="3.4.500";visibility:=reexport
42
 ,org.eclipse.e4.ui.di;visibility:=reexport,org.eclipse.ui.themes;bund
43
 le-version="1.0.1";visibility:=reexport,org.eclipse.core.resources;bu
44
 ndle-version="3.9.1";visibility:=reexport,org.eclipse.ui.workbench.te
45
 xteditor;bundle-version="3.9.0";visibility:=reexport,org.eclipse.e4.u
46
 i.bindings;bundle-version="0.10.200";visibility:=reexport,org.eclipse
47
 .osgi.services;bundle-version="3.4.0";visibility:=reexport,org.eclips
48
 e.osgi.util;bundle-version="3.3.0";visibility:=reexport,org.eclipse.e
49
 quinox.p2.reconciler.dropins;bundle-version="1.1.200";visibility:=ree
50
 xport,org.txm.utils;bundle-version="1.0.0";visibility:=reexport,org.t
51
 xm.libs.batik;bundle-version="0.0.0";visibility:=reexport,org.eclipse
52
 .ui.views.log;bundle-version="1.0.500";visibility:=reexport,org.eclip
53
 se.ui.workbench;visibility:=reexport,org.txm.searchengine.cqp.core;vi
54
 sibility:=reexport,org.txm.chartsengine.core;bundle-version="1.0.0";v
55
 isibility:=reexport,org.txm.chartsengine.jfreechart.core;bundle-versi
56
 on="1.0.0";visibility:=reexport,org.txm.chartsengine.r.core;bundle-ve
57
 rsion="1.0.0";visibility:=reexport,org.txm.specificities.core;bundle-
58
 version="1.0.0";visibility:=reexport,org.txm.statsengine.core;bundle-
59
 version="1.0.0";visibility:=reexport,org.txm.statsengine.r.core;bundl
60
 e-version="1.0.0";visibility:=reexport,org.txm.searchengine.core;bund
61
 le-version="1.0.0";visibility:=reexport,org.txm.groovy.core;visibilit
62
 y:=reexport
2
Require-Bundle: org.eclipse.ui;visibility:=reexport,
3
 org.eclipse.core.runtime;visibility:=reexport,
4
 org.eclipse.core.filesystem;bundle-version="1.2.0";visibility:=reexport,
5
 org.eclipse.ui.ide;visibility:=reexport,
6
 org.eclipse.ui.console;bundle-version="3.4.0";visibility:=reexport,
7
 org.eclipse.jface.text;visibility:=reexport,
8
 org.eclipse.ui.browser;bundle-version="3.2.300";visibility:=reexport,
9
 org.eclipse.ui.forms;visibility:=reexport,
10
 org.eclipse.ui.editors;visibility:=reexport,
11
 org.txm.core;visibility:=reexport,
12
 org.eclipse.e4.ui.workbench.addons.swt;bundle-version="1.0.0";visibility:=reexport,
13
 org.eclipse.equinox.ds;bundle-version="1.4.100";visibility:=reexport,
14
 org.eclipse.equinox.event;bundle-version="1.3.0";visibility:=reexport,
15
 org.eclipse.equinox.p2.ui;bundle-version="2.3.0";visibility:=reexport,
16
 org.eclipse.equinox.p2.ui.sdk;bundle-version="1.0.300";visibility:=reexport,
17
 org.eclipse.equinox.p2.ui.sdk.scheduler;bundle-version="1.2.0";visibility:=reexport,
18
 org.eclipse.update.configurator;bundle-version="3.3.200";visibility:=reexport,
19
 org.eclipse.e4.ui.css.swt.theme;bundle-version="0.9.100";visibility:=reexport,
20
 org.eclipse.e4.ui.css.swt;bundle-version="0.11.0";visibility:=reexport,
21
 org.eclipse.e4.ui.css.core;bundle-version="0.10.100";visibility:=reexport,
22
 org.eclipse.equinox.p2.updatesite;bundle-version="1.0.400";visibility:=reexport,
23
 org.eclipse.platform;bundle-version="4.3.0";visibility:=reexport,
24
 org.eclipse.equinox.util;bundle-version="1.0.500";visibility:=reexport,
25
 org.eclipse.equinox.p2.operations;visibility:=reexport,
26
 org.eclipse.equinox.p2.metadata;bundle-version="2.2.0";visibility:=reexport,
27
 org.eclipse.equinox.p2.director;visibility:=reexport,
28
 org.eclipse.equinox.p2.ui.discovery;bundle-version="1.0.0";visibility:=reexport,
29
 org.eclipse.equinox.p2.discovery;bundle-version="1.0.200";visibility:=reexport,
30
 org.eclipse.equinox.p2.discovery.compatibility;bundle-version="1.0.101";visibility:=reexport,
31
 org.eclipse.swt;visibility:=reexport,
32
 org.eclipse.equinox.p2.repository;bundle-version="2.3.0";visibility:=reexport,
33
 org.eclipse.equinox.p2.core;bundle-version="2.3.0";visibility:=reexport,
34
 org.eclipse.equinox.p2.engine;bundle-version="2.3.0";visibility:=reexport,
35
 org.eclipse.equinox.p2.console;bundle-version="1.0.300";visibility:=reexport,
36
 org.eclipse.ui.net;bundle-version="1.2.200";visibility:=reexport,
37
 org.eclipse.core.net;visibility:=reexport,
38
 org.eclipse.e4.ui.model.workbench;visibility:=reexport,
39
 org.eclipse.e4.ui.workbench;bundle-version="1.0.0";visibility:=reexport,
40
 org.eclipse.e4.core.contexts;bundle-version="1.3.0";visibility:=reexport,
41
 org.eclipse.core.expressions;visibility:=reexport,
42
 org.eclipse.ui.navigator;bundle-version="3.5.300";visibility:=reexport,
43
 org.eclipse.ui.navigator.resources;bundle-version="3.4.500";visibility:=reexport,
44
 org.eclipse.e4.ui.di;visibility:=reexport,
45
 org.eclipse.ui.themes;bundle-version="1.0.1";visibility:=reexport,
46
 org.eclipse.core.resources;bundle-version="3.9.1";visibility:=reexport,
47
 org.eclipse.ui.workbench.texteditor;bundle-version="3.9.0";visibility:=reexport,
48
 org.eclipse.e4.ui.bindings;bundle-version="0.10.200";visibility:=reexport,
49
 org.eclipse.osgi.services;bundle-version="3.4.0";visibility:=reexport,
50
 org.eclipse.osgi.util;bundle-version="3.3.0";visibility:=reexport,
51
 org.eclipse.equinox.p2.reconciler.dropins;bundle-version="1.1.200";visibility:=reexport,
52
 org.txm.utils;bundle-version="1.0.0";visibility:=reexport,
53
 org.txm.libs.batik;bundle-version="0.0.0";visibility:=reexport,
54
 org.eclipse.ui.views.log;bundle-version="1.0.500";visibility:=reexport,
55
 org.eclipse.ui.workbench;visibility:=reexport,
56
 org.txm.searchengine.cqp.core;visibility:=reexport,
57
 org.txm.chartsengine.core;bundle-version="1.0.0";visibility:=reexport,
58
 org.txm.chartsengine.jfreechart.core;bundle-version="1.0.0";visibility:=reexport,
59
 org.txm.chartsengine.r.core;bundle-version="1.0.0";visibility:=reexport,
60
 org.txm.specificities.core;bundle-version="1.0.0";visibility:=reexport,
61
 org.txm.statsengine.core;bundle-version="1.0.0";visibility:=reexport,
62
 org.txm.statsengine.r.core;bundle-version="1.0.0";visibility:=reexport,
63
 org.txm.searchengine.core;bundle-version="1.0.0";visibility:=reexport,
64
 org.txm.groovy.core;visibility:=reexport,
65
 org.eclipse.jface
63 66
Export-Package: junit.extensions,junit.framework,junit.runner,junit.te
64 67
 xtui,org.apache.commons.cli,org.apache.commons.lang,org.apache.common
65 68
 s.lang.builder,org.apache.commons.lang.enum,org.apache.commons.lang.e
tmp/org.txm.annotation.core/src/org/txm/annotation/core/AnnotationEnginesManager.java (revision 820)
17 17
	public boolean startEngines(IProgressMonitor monitor) {
18 18
		
19 19
		for (AnnotationEngine e : engines.values()) {
20
			System.out.println(e);
20
			
21
			// lazy mode
22
			
21 23
//			AnnotationEngine se = (AnnotationEngine)e;
22 24
//			if (monitor != null) monitor.subTask("Starting "+ se.getName()+" annotation engine.");
23 25
//			try {
tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/MainCorpus.java (revision 820)
572 572
	@Override
573 573
	public String getDetails() {
574 574
		try {
575
			return "T "+this.getSize();
575
			return this.getName()+" T="+this.getSize();
576 576
		} catch (CqiClientException e) {
577 577
			return "corpus not ready.";
578 578
		}
tmp/org.txm.information.core/src/org/txm/properties/core/messages/messages_fr.properties (revision 820)
7 7
Properties_2  = ** Erreur
8 8
Properties_22 = Propriétés des structures (max {0} valeurs)
9 9
Properties_26 = Pas de propriété
10
Properties_3  = Description du corpus 
10
Properties_3  = Détails du corpus CQP 
11 11
Properties_4  = \ propriétés
12 12
Properties_40 = * Statistiques Générales\n
13 13
Properties_41 = - T
tmp/org.txm.information.core/src/org/txm/properties/core/functions/Properties.java (revision 820)
33 33
import java.io.FileOutputStream;
34 34
import java.io.IOException;
35 35
import java.io.OutputStreamWriter;
36
import java.io.PrintWriter;
36 37
import java.io.UnsupportedEncodingException;
37 38
import java.util.ArrayList;
38 39
import java.util.Collections;
......
60 61
import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
61 62
import org.txm.searchengine.cqp.corpus.WordProperty;
62 63
import org.txm.utils.AsciiUtils;
64
import org.txm.utils.io.IOUtils;
63 65
import org.txm.utils.logger.Log;
64 66

  
65 67
/**
......
523 525
	 * @return true, if successful
524 526
	 */
525 527
	public boolean toTxt(File outfile, String encoding, int maxvalue) {
526
		BufferedWriter writer = null;
528
		PrintWriter writer = null;
527 529
		try {
528
			writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outfile),	encoding));
529
		} catch (UnsupportedEncodingException e1) {
530
			org.txm.utils.logger.Log.printStackTrace(e1);
531
			return false;
532
		} catch (FileNotFoundException e1) {
533
			org.txm.utils.logger.Log.printStackTrace(e1);
534
			return false;
535
		}
536

  
537
		try {
530
			writer = IOUtils.getWriter(outfile, encoding);
538 531
			writer.write(this.dump(maxvalue));
539 532
			writer.close();
540
		} catch (IOException e) {
533
		} catch (Exception e) {
541 534
			org.txm.utils.logger.Log.printStackTrace(e);
542 535
			return false;
543 536
		}
......
552 545
	 * @return true, if successful
553 546
	 */
554 547
	public boolean toHTML(File outfile) {
555
		OutputStreamWriter writer;
548
		PrintWriter writer;
556 549
		try {
557
			writer = new OutputStreamWriter(new FileOutputStream(outfile), "UTF-8"); //$NON-NLS-1$
550
			writer = IOUtils.getWriter(outfile); //$NON-NLS-1$
558 551
			writer.write(this.htmlDump());
559 552
			writer.close();
560 553
		} catch (IOException e) {
tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java (revision 820)
54 54
public abstract class TXMPreferences extends AbstractPreferenceInitializer {
55 55

  
56 56
	
57
	// FIXME: here we must use a ProjectScope when we'll use IProject for the corporas of TXM
57
	// FIXME: here we must use a ProjectScope when we'll use IProject for TXM corpora 
58 58
	public static IScopeContext scope = InstanceScope.INSTANCE;
59 59

  
60 60
	/**
61 61
	 * Alternative nodes to look up when getting a preference.
62 62
	 */
63 63
	public static ArrayList<String> alternativeNodesQualifiers = new ArrayList<String>();
64

  
65 64
	
66 65
	/**
67 66
	 * Default unit/token property String.
tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 820)
104 104
	/**
105 105
	 * The user name. To rename a result but also to store the simple name for unserialization and lazy loading.
106 106
	 */
107
	protected String userName;
108
	
107
	//protected String userName;
108

  
109 109
	/**
110 110
	 * The command preferences node qualifier.
111 111
	 */
......
145 145
	public TXMResult(String uuid) {
146 146
		this(uuid, null);
147 147
	}
148
	
148

  
149 149
	/**
150 150
	 * Creates a new TXMResult, child of the specified parent.
151 151
	 * If UUID is null, a new UUID is generated.
......
164 164
		else	{
165 165
			this.uniqueID = uuid;
166 166
		}
167
		
168 167

  
168

  
169 169
		this.weight = 0;
170 170
		this.visible = true;
171 171
		if (parent != null) {
......
175 175
			Log.warning("The TXMResult " + this.getClass() + " was attached to no parent.");
176 176
		}
177 177

  
178
		
178

  
179 179
		this.children = new ArrayList<TXMResult>(1);
180 180
		//		Base binaryCorpus = this.getBinaryCorpus();
181 181
		//		if (binaryCorpus != null && this.getClass() != Base.class) {
......
190 190

  
191 191
		this.dirty = true;
192 192

  
193
		
193

  
194 194
		// retrieving parent from UUID
195 195
		if(parent == null && uuid != null && !this.getStringParameterValue(TXMPreferences.PARENT_UUID).isEmpty())	{
196 196
			TXMResult retrievedParent = TXMResult.getResult(this.getStringParameterValue(TXMPreferences.PARENT_UUID));
......
198 198
				Log.warning("Parent retrieved from UUID: " + retrievedParent + ".");
199 199
				retrievedParent.addChild(this);
200 200
			}
201
			
202
			// retrieving user name
203
			if (!this.getStringParameterValue(TXMPreferences.NAME).isEmpty()) {
204
				this.userName = this.getStringParameterValue(TXMPreferences.NAME);
205
			}
206 201
		}
207 202

  
208
		
209
		
203
		// retrieving user name
204
//		if (!this.getStringParameterValue(TXMPreferences.NAME).isEmpty()) {
205
//			this.userName = this.getStringParameterValue(TXMPreferences.NAME);
206
//		}
207

  
210 208
		// loads parameters from local result node, current command preferences or default command preferences
211 209
		try {
212 210
			this.autoLoadParametersFromAnnotations(); // auto fill from Parameter annotations
213 211
			this.loadParameters();  // subclasses manual settings
214
			
215
			
212

  
213

  
216 214
		} catch (Exception e) {
217 215
			// TODO Auto-generated catch block
218 216
			e.printStackTrace();
219 217
		}
220 218
	}
221
	
219

  
222 220
	public void setUserName(String name) {
223
		userName = name;
221
		//userName = name;
222
		this.saveParameter(TXMPreferences.NAME, name);
224 223
	}
225 224

  
226 225
	/**
......
264 263
		}
265 264
		return null;
266 265
	}
267
	
268 266

  
267

  
269 268
	/**
270 269
	 * Gets a member field according to its key.
271 270
	 * @param key
272 271
	 * @return the field if exists otherwise null
273 272
	 */
274 273
	public Field getField(String key)	{
275
		
274

  
276 275
		Field field = null; 
277
		
276

  
278 277
		List<Field> fields = this.getAllFields();
279 278

  
280 279
		for (Field f : fields) {
......
284 283
				break;
285 284
			}
286 285
		}
287
		
286

  
288 287
		return field;
289 288
	}
290
	
289

  
291 290
	/**
292 291
	 * Returns all the member fields of the class instance.
293 292
	 * @return the list of declared fields
......
714 713
		// internal data to save for unserialization
715 714
		this.saveParameter("class", this.getClass().getName());
716 715
		// store the user name if exists otherwise the simple name
717
		if(this.userName != null)	{
718
			this.saveParameter(TXMPreferences.NAME, this.userName);
719
		}
720
		else	{
716
		if(this.getStringParameterValue(TXMPreferences.NAME).isEmpty())	{
721 717
			this.saveParameter(TXMPreferences.NAME, this.getSimpleName());
722 718
		}
723 719
		this.saveParameter(TXMPreferences.RESULT_UUID, this.uniqueID);
......
725 721
		if(this.parent != null)	{
726 722
			this.saveParameter(TXMPreferences.PARENT_UUID, this.parent.getUUID());
727 723
		}
728
		
729
		
724

  
725

  
730 726
		List<Field> fields = this.getAllFields();
731 727

  
732 728
		for (Field f : fields) {
......
895 891
			targetField.setAccessible(true);
896 892

  
897 893
			// FIXME: debug
898
//			if(value != null)	{
899
//				Log.info("TXMResult.setParameter(): setting parameter " + key + " = " + value + " for " + this.getClass() + " (" + value.getClass() + ")");
900
//			}
894
			//			if(value != null)	{
895
			//				Log.info("TXMResult.setParameter(): setting parameter " + key + " = " + value + " for " + this.getClass() + " (" + value.getClass() + ")");
896
			//			}
901 897

  
902 898
			targetField.set(this, value);
903 899
		}
......
941 937
		return false;
942 938
	}
943 939

  
944
	
940

  
945 941
	/**
946 942
	 * Gets a child specified by its index in the children list.
947 943
	 * @param index
......
955 951
			return null;
956 952
		}
957 953
	}
958
	
954

  
959 955
	/**
960 956
	 * Adds a child result to this result.
961 957
	 * If the child already have a parent, the child will be remove from its old parent children.
......
1090 1086
	 * @return the first child if exists otherwise null
1091 1087
	 */
1092 1088
	synchronized public TXMResult getFirstChild(Class type) {
1093
		 ArrayList<TXMResult> children = this.getChildren(type, false);
1094
		 try {
1089
		ArrayList<TXMResult> children = this.getChildren(type, false);
1090
		try {
1095 1091
			return children.get(0);
1096 1092
		}
1097 1093
		catch (Exception e) {
......
1099 1095
		}
1100 1096
	}
1101 1097

  
1102
	
1098

  
1103 1099
	/**
1104 1100
	 * Gets the first child.
1105 1101
	 * @param classSimpleName
......
1153 1149
		else	{
1154 1150
			ArrayList<TXMResult> results = root.getDeepChildren();
1155 1151
			for (int i = 0; i < results.size(); i++) {
1156
				
1152

  
1157 1153
				// FIXME: skipping invisible results
1158 1154
				if(!results.get(i).isVisible())	{
1159 1155
					continue;
1160 1156
				}
1161
				
1157

  
1162 1158
				if(results.get(i).getUUID().equals(UUID))	{
1163 1159
					result = results.get(i);
1164 1160
					break;
......
1167 1163
		}
1168 1164
		return result;
1169 1165
	}
1170
	
1166

  
1171 1167
	/**
1172 1168
	 * Gets the TXMResult specified by its UUID in the children of the Toolbox Workspace member.
1173 1169
	 * @param UUID
......
1176 1172
	synchronized public static TXMResult getResult(String UUID)	{
1177 1173
		return getResult(Toolbox.workspace, UUID);
1178 1174
	}
1179
	
1175

  
1180 1176
	/**
1181 1177
	 * Filters the nodes specified by their class and their visibility state.
1182 1178
	 * 
......
1229 1225
		return node;
1230 1226
	}
1231 1227

  
1232
	
1228

  
1233 1229
	/**
1234 1230
	 * Gets the first parent of the specified class, eg. this.getFirstParent(Partition.class);
1235 1231
	 * Returns the object itself if it is of the specified class.
......
1454 1450
	public abstract boolean canCompute() throws Exception;
1455 1451

  
1456 1452
	/**
1457
	 * 
1453
	 * render the object getDetails() String in one line
1458 1454
	 */
1459
	public String getSimpleDetails() {
1455
	public final String getSimpleDetails() {
1460 1456
		String mess = this.getDetails();
1461 1457
		if (mess != null)
1462 1458
			return mess.replace("\n", "  ");
......
1496 1492
		return this.compute(monitor, true);
1497 1493
	}
1498 1494

  
1499
	
1495

  
1500 1496
	/**
1501 1497
	 * 
1502 1498
	 * @param monitor
......
1507 1503
	public boolean compute(IProgressMonitor monitor, boolean deepComputing) throws Exception	{
1508 1504
		return this.compute(monitor, deepComputing, true);
1509 1505
	}
1510
	
1511
	
1506

  
1507

  
1512 1508
	/**
1513 1509
	 * Computes the result if 
1514 1510
	 * it can be computed 
......
1527 1523
	protected boolean compute(IProgressMonitor monitor, boolean deepComputing, boolean updateLastParameters) throws Exception {
1528 1524

  
1529 1525
		boolean skipComputing = false;
1530
		
1526

  
1531 1527
		this.monitor = monitor;
1532 1528

  
1533 1529
		if (!this.isDirty() && !this.isDirtyFromHistory()) {
......
1545 1541
			skipComputing = true;
1546 1542
		}
1547 1543

  
1548
		
1544

  
1549 1545
		if(!skipComputing)	{
1550
		
1546

  
1551 1547
			// FIXME: Debug
1552 1548
			Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing result of type " + this.getClass() + "...");
1553
	
1554
	
1549

  
1550

  
1555 1551
			//		// TODO THIS IS FUCKING LAZY LINE CODES OH YEAH YOU MAD BRO
1556 1552
			// TODO where do we put this parent compute ? :o
1557 1553
			//		if (parent != null && !parent.getHasBeenComputedOnce()) { // parent must be computed at least one time
......
1559 1555
			if (parent != null && !parent.hasBeenComputedOnce()) { 
1560 1556
				if (!this.parent.compute(monitor, false, updateLastParameters)) {
1561 1557
					Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": failed to compute parent result.");
1562
	
1558

  
1563 1559
					//return false;
1564 1560
				}
1565 1561
			}
1566
	
1562

  
1567 1563
			// Computing requirements test
1568 1564
			if (!this.canCompute()) {
1569 1565
				// FIXME: Debug
1570 1566
				Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": missing or wrong parameters, computing aborted.");
1571
	
1567

  
1572 1568
				return false;
1573 1569
			}
1574
	
1570

  
1575 1571
			// Computing
1576 1572
			if (!this._compute()) {
1577
	
1573

  
1578 1574
				// FIXME: Debug
1579 1575
				Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": computing failed.");
1580
	
1576

  
1581 1577
				return false;
1582 1578
			}
1583
			
1579

  
1584 1580
			// FIXME: Children cascade computing
1585 1581
			if(deepComputing)	{
1586
				
1582

  
1587 1583
				// FIXME: Debug
1588 1584
				Log.finest("TXMResult.compute(): " + this.getClass().getSimpleName() + ": cascade computing of " + this.children.size() + " children.");
1589 1585

  
1590
				
1586

  
1591 1587
				for (int i = 0; i < this.children.size(); i++) {
1592 1588
					this.getChild(i).setDirty(); // force recomputing even if some parameters of the result itself have not changed
1593 1589
					this.getChild(i).compute(monitor, deepComputing, updateLastParameters);
1594 1590
				}
1595 1591
			}
1596
			
1592

  
1597 1593
		}
1598
		
1594

  
1599 1595
		// store last used parameters
1600 1596
		if(updateLastParameters)	{
1601 1597
			this.updateLastParameters();
......
1764 1760
	}
1765 1761

  
1766 1762
	/**
1767
	 * @return the userName
1763
	 * @return the userName (never null) "" if not set
1768 1764
	 */
1769 1765
	public String getUserName() {
1770
		return userName;
1766
		return this.getStringParameterValue(TXMPreferences.NAME);
1771 1767
	}
1772 1768

  
1773 1769
	@Override
......
1779 1775
	public static int compare(TXMResult e1, TXMResult e2) {
1780 1776
		if (e1 == null && e2 == null) return 0;
1781 1777
		if (e1 == null) return 1;
1782
		
1778

  
1783 1779
		return e1.getUUID().compareTo(e2.getUUID());
1784 1780
	}
1785 1781
}
tmp/org.txm.core/src/java/org/txm/core/messages/messages_fr.properties (revision 820)
81 81

  
82 82
Error_CONNECTION_FAILED = ** Echec de connexion au moteur de recherche avec les paramètres suivants : 
83 83

  
84
FAILED = Échec.
85 84

  
86 85
FMAX_1 = Fmax : 
87 86

  
......
295 294
common_query           = Requête :
296 295
common_reference       = Référence
297 296
common_rows            = Lignes
298
common_structuralUnit  = Unité structurelle : 
299 297
common_structure       = Structure
300 298
common_units           = Unités
301 299

  
tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties (revision 820)
84 84

  
85 85
Error_CONNECTION_FAILED = ** Error : while connection to search engine, with the following parameters: 
86 86

  
87
FAILED = Failed.
88 87

  
89 88
FMAX_1 = Fmax: 
90 89
FMAX_2 = , fmax 
tmp/org.txm.core/src/java/org/txm/core/engines/EnginesManager.java (revision 820)
57 57
		
58 58
		for (int i = 0; i < contributions.length; i++) {
59 59
			try {
60
				@SuppressWarnings("unchecked")
60 61
				T e = (T)contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
61 62
				
62
				System.out.println("Initializing engine: " + e);
63
				Log.info("Initializing engine: " + e);
63 64
				
64 65
				if (e.initialize()) {
65 66
					this.engines.put(e.getName(), e);
tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java (revision 820)
180 180
			// Query:
181 181
			getMainParametersComposite().getLayout().numColumns = 4;
182 182
			// make
183
			getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
183
			getMainParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
184 184
			
185 185
			miniInfoLabel = new Label(getMainParametersComposite(), SWT.NONE);
186 186
			miniInfoLabel.setText("No query - ");
......
222 222
			});
223 223
			// System.out.println(parent.getLayout());
224 224
			Composite mainPanel = this.getExtendedParametersComposite();
225
			GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true);
225
			GridData gridData = new GridData(GridData.FILL, GridData.CENTER, true, true);
226 226
			mainPanel.setLayoutData(gridData);
227 227
			GridLayout glayout = new GridLayout(2, false);
228 228
			glayout.marginBottom = glayout.marginTop = glayout.marginHeight = glayout.verticalSpacing = 0;
tmp/org.txm.information.rcp/src/org/txm/properties/rcp/editors/PropertiesEditor.java (revision 820)
79 79
		this.maxPropertiesToDisplay.setLayoutData(gdata);
80 80
		this.maxPropertiesToDisplay.addSelectionListener(new ComputeSelectionListener(this));
81 81

  
82
		Group editComposite = this.getTopToolbar().installGroup("edit", "edit properties", null, null, false);
82
		Group editComposite = this.getTopToolbar().installGroup("edit properties", "edit properties", null, null, false);
83 83
		editComposite.setLayout(GLComposite.createDefaultLayout(3));
84 84
		
85 85
		Label nameLabel = new Label(editComposite, SWT.NONE);
86
		nameLabel.setText("Displayed name");
86
		nameLabel.setText("Displayed name: ");
87 87

  
88 88
		nameText = new Text(editComposite, SWT.BORDER);
89 89
		nameText.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
90 90
		nameSaveButton = new Button(editComposite, SWT.PUSH);
91
		nameSaveButton.setText("Change name");
91
		nameSaveButton.setText("Apply");
92 92
		nameSaveButton.addSelectionListener(new SelectionListener() {
93 93
			@Override
94 94
			public void widgetSelected(SelectionEvent e) {
......
104 104
		});
105 105

  
106 106
		Label descLabel = new Label(editComposite, SWT.NONE);
107
		descLabel.setText("Description");
107
		descLabel.setText("Description: ");
108 108

  
109 109
		descriptionText = new StyledText(editComposite, SWT.BORDER|SWT.V_SCROLL);
110 110
		descriptionText.setLayoutData(GridDataFactory.fillDefaults().hint(400, 100).minSize(400, 100).span(1, 2).create());
111 111
		descriptionSaveButton = new Button(editComposite, SWT.PUSH);
112
		descriptionSaveButton.setText("Change description");
112
		descriptionSaveButton.setText("Apply");
113 113
		descriptionSaveButton.addSelectionListener(new SelectionListener() {
114 114
			@Override
115 115
			public void widgetSelected(SelectionEvent e) {

Formats disponibles : Unified diff