Révision 1538

tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java (revision 1538)
208 208
					}
209 209
				}
210 210
			});
211
			queryWidget.getQueryWidget().addModifyListener(computeKeyListener);
211 212
			
213
			
212 214
			Button addNewQueryButton = new Button(getMainParametersComposite(), SWT.PUSH);
213 215
			addNewQueryButton.setText(ProgressionUIMessages.add);
214 216
			addNewQueryButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, false, false));
......
278 280
			bandeField.setEnabled(densityButton.getSelection());
279 281
			bandeField.setText("" + this.getResult().getBandeMultiplier()); //$NON-NLS-1$
280 282
			bandeField.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, true, 2, 1));
283
			bandeField.addKeyListener(computeKeyListener);
284
			bandeField.addModifyListener(computeKeyListener);
281 285

  
286
			
287
			
282 288
			// Structural units and properties combo viewers
283 289
			StructuralUnitsCombosGroup structuration = new StructuralUnitsCombosGroup(paramPanel, this, this.getResult().getStructuralUnit(), this.getResult().getStructuralUnitProperty());
284 290
			GridData gdata = new GridData(GridData.BEGINNING, GridData.BEGINNING, true, false, 3, 1);
......
297 303
			regexLabel.setAlignment(SWT.CENTER);
298 304

  
299 305
			propertyRegex = new Text(structuration, SWT.SINGLE | SWT.BORDER);
300
			// FIXME: layout
301
			//propertyRegex.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 2, 1));
302 306
			propertyRegex.addKeyListener(computeKeyListener);
307
			propertyRegex.addModifyListener(computeKeyListener);
308
			
303 309

  
304

  
305 310
			// Repeat same values in part markers
306 311
			repeatSameValues = new Button(paramPanel, SWT.CHECK);
307 312
			repeatSameValues.setText(ProgressionUIMessages.repeatSameValues);
......
613 618
	@Override
614 619
	public void updateEditorFromChart(boolean update) {
615 620

  
616
		queryList = this.getResult().getQueries();
621
		//queryList = this.getResult().getQueries();
617 622
		
618 623
		 // initialize query fields
619 624
		if (queryWidgets.size() == 0 && queryList != null) {
tmp/org.txm.chartsengine.core/src/org/txm/chartsengine/core/preferences/ChartsEnginePreferences.java (revision 1538)
72 72
	/**
73 73
	 * Default font string representation.
74 74
	 */
75
	public final static String DEFAULT_FONT = "1|Lucida Sans Unicode|11.0|0|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|34|Lucida Sans Unicode;"; //$NON-NLS-1$  
75
	public final static String DEFAULT_FONT = "1|Lucida Sans Unicode|11.0|0|WINDOWS|1|-16|0|0|0|400|0|0|0|0|3|2|1|34|Lucida Sans Unicode;"; //$NON-NLS-1$
76
	
77
	//public final static String DEFAULT_FONT = "1|Lucida Sans|11|0;"; //$NON-NLS-1$
78
	
76 79
	//public final static String DEFAULT_FONT = "1|Tahoma|8.25|0|WINDOWS|1|-11|0|0|0|400|0|0|0|1|0|0|0|0|Tahoma;"; //$NON-NLS-1$
80
	// TODO: version Linux : 1|Lucida Sans|11.0|0|GTK|1|
77 81
	
78 82
	
79
	
80 83
	public final static String DEFAULT_CHART_TYPE = "[Default]"; //$NON-NLS-1$
81 84
	
82 85

  
tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages.properties (revision 1538)
1
#TXM messages generated by the PluginMessagesManager class
2
#Thu Dec 06 15:00:56 CET 2018
3
occurrences=Occurrences
4
density=(density)
5
doneColonNoMatchFound=Done\: no match found.
6
progressionOf=Progression of 
7
theProgressionCommandIsNotYetAvailableForDiscontinuousSubcorpora=The Progression command is not available for discontinuous sub-corpora.
8
filteringREGEXColon=, filtering REGEX\: 
9
RESULT_TYPE=Progression
10
inP0=in
11
structureColon=structure\: 
12
tEqualsP0=T \= {0}
13
propertyColon=, property\: 
14
errorColonSubcorpusWithSize0=** Error\: the sub-corpus is empty
1
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
2
#TXM messages generated by the PluginMessagesManager class
3
#Thu Dec 06 15:00:56 CET 2018
4

  
5
RESULT_TYPE = Progression
6

  
7
density = (density)
8

  
9
doneColonNoMatchFound = Done: no match found.
10

  
11
errorColonSubcorpusWithSize0 = ** Error: the sub-corpus is empty
12

  
13
filteringREGEXColon = , filtering REGEX: 
14

  
15
inP0 = in {0}
16

  
17
occurrences = Occurrences
18

  
19
progressionOf = Progression of 
20

  
21
propertyColon = , property: 
22

  
23
structureColon = structure: 
24

  
25
tEqualsP0 = T = {0}
26

  
27
theProgressionCommandIsNotYetAvailableForDiscontinuousSubcorpora = The Progression command is not available for discontinuous sub-corpora.
tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages_fr.properties (revision 1538)
1
#TXM messages generated by the PluginMessagesManager class
2
#Thu Dec 06 15:00:56 CET 2018
3
occurrences=Occurrences
4
density=(densité)
5
doneColonNoMatchFound=Terminé\: pas de correspondance trouvée.
6
progressionOf=Progression de 
7
theProgressionCommandIsNotYetAvailableForDiscontinuousSubcorpora=La fonctionnalité Progression n'est pas disponible pour les sous-corpus discontinus.
8
filteringREGEXColon=, REGEX de filtrage \: 
9
RESULT_TYPE=Progression
10
inP0=dans
11
structureColon=structure \:  
12
tEqualsP0=T \= {0}
13
propertyColon=, propriété \:  
14
errorColonSubcorpusWithSize0=** Erreur \: le sous-corpus est vide
1
#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
2
#TXM messages generated by the PluginMessagesManager class
3
#Thu Dec 06 15:00:56 CET 2018
4

  
5
RESULT_TYPE = Progression
6

  
7
density = (densité)
8

  
9
doneColonNoMatchFound = Terminé: pas de correspondance trouvée.
10

  
11
errorColonSubcorpusWithSize0 = ** Erreur : le sous-corpus est vide
12

  
13
filteringREGEXColon = , REGEX de filtrage : 
14

  
15
inP0 = dans {0}
16

  
17
occurrences = Occurrences
18

  
19
progressionOf = Progression de 
20

  
21
propertyColon = , propriété :  
22

  
23
structureColon = structure :  
24

  
25
tEqualsP0 = T = {0}
26

  
27
theProgressionCommandIsNotYetAvailableForDiscontinuousSubcorpora = La fonctionnalité Progression n'est pas disponible pour les sous-corpus discontinus.
tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java (revision 1538)
300 300
			this.structurePositions = new int[0];
301 301
			this.structureNames = new String[0];
302 302

  
303
			this.subTask("Processing queries.");
303
			this.subTask("Processing queries...");
304 304
			if (!stepQueries()) {
305 305
				Log.severe(ProgressionCoreMessages.doneColonNoMatchFound);
306 306
				return false;
......
313 313
		}
314 314

  
315 315
		// Structural units
316
		this.subTask("Processing structural units.");
316
		this.subTask("Processing structural units...");
317 317
		if (!this.stepStructuralUnits())	{
318 318
			return false;
319 319
		}
......
322 322

  
323 323
		// Finalization steps
324 324
		if(this.hasParameterChanged(ProgressionPreferences.QUERIES))	{
325
			this.subTask("Finalizing.");
325
			this.subTask("Finalizing...");
326 326
			if (!stepFinalize())	{
327 327
				return false;
328 328
			}
tmp/org.txm.rcp/src/main/java/org/txm/rcp/utils/SWTEditorsUtils.java (revision 1538)
43 43
	 */
44 44
	public static IEditorPart getEditor(TXMResult result)	{
45 45

  
46
		for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
47
			for (IWorkbenchPage page : window.getPages()) {
48
				return page.findEditor(new TXMResultEditorInput<TXMResult>(result));
49
			}
46
		// FIXME: SJ: old version, doesn't work with ChartEditorInput
47
//		for (IWorkbenchWindow window : PlatformUI.getWorkbench().getWorkbenchWindows()) {
48
//			for (IWorkbenchPage page : window.getPages()) {
49
//				return page.findEditor(new TXMResultEditorInput<TXMResult>(result));
50
//			}
51
//		}
52
//		return null;
53
		
54
		// FIXME: SJ: new version, also works with ChartEditorInput
55
		ArrayList<TXMEditor> editors = getEditors(result);
56
		if(!editors.isEmpty())	{
57
			return editors.get(0);
50 58
		}
59
		
51 60
		return null;
52 61
	}
53 62

  
54 63
	/**
55
	 * return all opened editors of every parts of every windows
64
	 * Gets all opened editors.
65
	 * @return all opened editors if there is at least one otherwise returns an empty list
56 66
	 */
57 67
	public static ArrayList<TXMEditor> getEditors() {
58 68
		return getEditors(null);
59 69
	}
60 70

  
71
	/**
72
	 * Gets all opened editors for the specified result.
73
	 * @param result
74
	 * @return all opened editors for the specified result if there is at least one otherwise returns an empty list
75
	 */
61 76
	public static ArrayList<TXMEditor> getEditors(TXMResult result)	{
62 77

  
63 78
		ArrayList<TXMEditor> editors = new ArrayList<TXMEditor>();
......
121 136
		return (TXMEditor)editor;
122 137
	}
123 138

  
124

  
125
	//	// FIXME: SJ: seems useless since page.findEditor() seem to return the multipage editor if a nested editor exists? 
126
	//	/***
127
	//	 * Gets an editor for the specified result if its opened inside a TXMMultiPageEditor.
128
	//	 * @param result the result used by the editor to find
129
	//	 * @return the editor if its opened otherwise null
130
	//	 */
131
	//	public static IEditorPart getEditorInMultiPageEditor(TXMResult result)	{
132
	//		
133
	//		IEditorPart editor = null;
134
	//		
135
	//		for (IEditorReference reference : PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences()) {
136
	//			IEditorPart tmpEditor = reference.getEditor(false);
137
	//
138
	//			if(tmpEditor instanceof TXMMultiPageEditor)	{
139
	//				TXMMultiPageEditor txmMultipageEditor = ((TXMMultiPageEditor)tmpEditor);
140
	//				for (int i = 0; i < txmMultipageEditor.getEditors().size(); i++) {
141
	//					if(txmMultipageEditor.getEditors().get(i) instanceof TXMEditor)	{
142
	//						TXMEditor txmEditor = ((TXMEditor)txmMultipageEditor.getEditors().get(i));
143
	//						if(txmEditor.getResult() == result)	{
144
	//							editor = txmEditor;
145
	//							break;
146
	//						}
147
	//					}
148
	//				}
149
	//				
150
	//			}
151
	//		}
152
	//		
153
	//		return editor;
154
	//	}
155

  
156 139
	/**
157 140
	 * Checks if the editor specified by its editor input is already open in the active page.
158 141
	 * @param editorInput
......
177 160
		return null;
178 161
	}
179 162

  
180
	//	/**
181
	//	 * Checks if the specified editor is already open in the active page.
182
	//	 * @param editor
183
	//	 * @return
184
	//	 */
185
	//	public static boolean isOpenEditor(EditorPart editor)	{
186
	//		return isOpenEditor(editor.getEditorInput());
187
	//	}
188

  
189 163
	/**
190 164
	 * Splits the parent area of an editor and add another one in this area by splitting it. 
191 165
	 * (Same behavior than the splitting drag and drop event on editor.)
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java (revision 1538)
366 366
		try {
367 367
			this.parent = parent;
368 368

  
369
			//this.getContainer().setRedraw(false);
370
			
369 371
			// to hide and display the extended parameters composite
370 372
			this.initParentLayout(parent, 1);
371 373

  
......
453 455
//			}
454 456
			
455 457

  
456
			
457 458
			if (this.getResult().isLocked()) {
458 459
				this.setLocked(true);
459 460
			}
......
471 472
		}
472 473
		
473 474
		this.setDirty(false);
475
		
476
		//this.getContainer().setRedraw(true);
474 477
	}
475 478

  
476 479
	public void setLocked(boolean b) {
......
648 651
		this.dirty = dirty;
649 652

  
650 653
		// FIXME: SJ: future version that enable the button ONLY if the result can compute
651
		// need to check all canCompute() result method before enabling it
654
		// need to check all canCompute() result methods before enabling it
652 655
//		try {
653 656
//			// enable/disable the compute button according to dirty state of the editor
654 657
//			if (this.computeButton != null && !this.computeButton.isDisposed()) {
......
834 837
//									}
835 838
									
836 839

  
840
									
837 841
									// subclasses manual result updating from editor fields
838 842
									Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$
839 843
									updateResultFromEditor();
840
	
841
									 // auto updating result from Parameter annotations in result <=> editor
844

  
845
									// auto updating result from Parameter annotations in result <=> editor
842 846
									Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
843 847
									autoUpdateResultFromEditorParameters();
844
	
848
		
849

  
850
									
845 851
									// FIXME: SJ: useless at this time?
846 852
									// Stores the last parameters before the computing to later auto-update the Widgets only if some parameters have changed 
847 853
									//setLastComputingParameters(TXMEditor.this.getResult().getLastParametersFromHistory());
......
1127 1133
			try {
1128 1134
				f.setAccessible(true);
1129 1135
				object = f.get(this);
1130
				if (object == null) {
1131
					continue; // widget not set
1132
				}
1136
//				if (object == null) {
1137
//					continue; // widget not set
1138
//				}
1133 1139
				value = this.getResult().getParameter(parameter.key(), true); // propagate to parent one time
1134 1140

  
1135 1141
				if (value == null) {
......
1263 1269
			try {
1264 1270
				f.setAccessible(true);
1265 1271
				Object object = f.get(this);
1266
				if (object == null) {
1267
					continue; // widget not set
1268
				}
1272
//				if (object == null) {
1273
//					continue; // widget not set
1274
//				}
1269 1275
				Object value = null;
1270 1276
				if(object instanceof ToolItem)	{
1271 1277
					value = ((ToolItem)object).getSelection(); 
tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/PropertiesComboViewer.java (revision 1538)
10 10
import org.eclipse.jface.viewers.StructuredSelection;
11 11
import org.eclipse.swt.SWT;
12 12
import org.eclipse.swt.widgets.Composite;
13
import org.eclipse.swt.widgets.Spinner;
13 14
import org.txm.core.results.TXMResult;
14 15
import org.txm.rcp.editors.TXMEditor;
16
import org.txm.rcp.editors.listeners.BaseAbstractComputeListener;
15 17
import org.txm.rcp.editors.listeners.ComputeSelectionListener;
16 18
import org.txm.searchengine.cqp.corpus.Property;
17 19

  
......
38 40
	 * @param selectedSUP
39 41
	 * @param addBlankEntry to add an empty blank entry at start of the list to clear property.
40 42
	 */
41
	public PropertiesComboViewer(Composite parent, int style, TXMEditor<? extends TXMResult> editor, boolean autoCompute, List<? extends Property> properties, Property selectedProperty, boolean addBlankEntry) {
43
	public PropertiesComboViewer(Composite parent, int style, TXMEditor<? extends TXMResult> editor, boolean autoCompute, List<? extends Property> properties, Property selectedProperty, boolean addBlankEntry, ComputeSelectionListener listener) {
42 44
		super(parent, style);
43 45
		
44 46
		this.addBlankEntry = addBlankEntry;
......
46 48
		this.setContentProvider(ArrayContentProvider.getInstance());
47 49

  
48 50
		this.updateFromList(properties, selectedProperty);
49

  
51
		
50 52
		// Listener
51
		this.addSelectionChangedListener(new ComputeSelectionListener(editor, autoCompute));
53
		if(listener != null)	{
54
			this.addSelectionChangedListener(listener);
55
		}
52 56

  
53 57
	}
54 58

  
55 59

  
60
	public PropertiesComboViewer(Composite parent, int style, TXMEditor<? extends TXMResult> editor, boolean autoCompute, List<? extends Property> properties, Property selectedProperty, boolean addBlankEntry) {
61
		this(parent, style, editor, autoCompute, properties, selectedProperty, addBlankEntry, new ComputeSelectionListener(editor, autoCompute));
62
	}
63
	
64
	
56 65
	/**
57 66
	 * 
58 67
	 * @param parent
tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/structures/StructuralUnitPropertiesComboViewer.java (revision 1538)
33 33
	 * @param addBlankEntry to add an empty blank entry at start of the list to clear property.
34 34
	 */
35 35
	public StructuralUnitPropertiesComboViewer(Composite parent, int style, TXMEditor<? extends TXMResult> editor, boolean autoCompute, StructuralUnit su, StructuralUnitProperty selectedSUP, boolean addBlankEntry) {
36
		super(parent, style, editor, false, null, null, addBlankEntry);
36
		super(parent, style, editor, false, null, null, addBlankEntry, null);
37
		
37 38
		this.updateFromStructuralUnit(su, selectedSUP);
38 39
		
39 40
		// Listener
tmp/org.txm.rcp/src/main/java/org/txm/rcp/adapters/TXMResultAdapter.java (revision 1538)
41 41
	public String getLabel(Object result) {
42 42
		String label = ((TXMResult) result).getCurrentName();
43 43

  
44
		// FIXME: SJ: doesn't work if a result has more than one editor opened
44 45
		IEditorPart editor = SWTEditorsUtils.getEditor((TXMResult) result);
45 46
		if(editor != null && editor.isDirty())	{
46 47
			label += " *"; //$NON-NLS-1$
tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/SWTChartsComponentsProvider.java (revision 1538)
221 221
		for(int i = 0; i < contributions.length; i++) {
222 222
			
223 223
			// FIXME: to manage more than one input format, Store them in the class rather than in the extension schema?
224
			String formatsStr = contributions[i].getAttribute("inputFormat").replace(" ", "").trim();
225
			String[] formats = formatsStr.split(",");
224
			String formatsStr = contributions[i].getAttribute("inputFormat").replace(" ", "").trim(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
225
			String[] formats = formatsStr.split(","); //$NON-NLS-1$
226 226
			
227 227
			try {
228 228
				SWTChartsComponentsProvider swtChartsComponentsProvider = (SWTChartsComponentsProvider)contributions[i].createExecutableExtension("class");  //$NON-NLS-1$
tmp/org.txm.chartsengine.rcp/src/org/txm/chartsengine/rcp/editors/ChartEditor.java (revision 1538)
668 668
		return chartToolBar;
669 669
	}
670 670

  
671
//	@Override
672
//	public boolean isDirty() {
673
//		boolean d1 = super.isDirty();
674
//		boolean d2 = this.getResult().isChartDirty();
675
//		return super.isDirty() && this.getResult().isChartDirty();
676
//	}
671 677
	
678
	
672 679
	@Override
673 680
	public T getResult()	{
674 681
		return (T) this.getEditorInput().getResult();
tmp/org.txm.partition.rcp/src/org/txm/partition/rcp/editors/PartitionDimensionsEditor.java (revision 1538)
1 1
package org.txm.partition.rcp.editors;
2 2

  
3 3
import org.eclipse.swt.SWT;
4
import org.eclipse.swt.widgets.Composite;
5 4
import org.eclipse.swt.widgets.ToolItem;
6 5
import org.txm.chartsengine.rcp.editors.ChartEditor;
7 6
import org.txm.core.results.Parameter;
......
47 46
	}
48 47

  
49 48

  
50

  
51

  
52 49
	@Override
53 50
	public void updateEditorFromChart(boolean update) {
54 51
		// nothing to do

Formats disponibles : Unified diff