Révision 1514
tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java (revision 1514) | ||
---|---|---|
292 | 292 |
if (this.corpus.getCreationDate() != null) { |
293 | 293 |
buff.append(NLS.bind("<p>Created the {0}</p>", TXMResult.PRETTY_TIME_FORMAT.format(this.corpus.getCreationDate()))); |
294 | 294 |
} |
295 |
if (this.corpus.getComputeDate() != null) {
|
|
296 |
buff.append(NLS.bind("<p>Imported the {0}</p>", TXMResult.PRETTY_TIME_FORMAT.format(this.corpus.getComputeDate())));
|
|
295 |
if (this.corpus.getLastComputingDate() != null) {
|
|
296 |
buff.append(NLS.bind("<p>Imported the {0}</p>", TXMResult.PRETTY_TIME_FORMAT.format(this.corpus.getLastComputingDate())));
|
|
297 | 297 |
} |
298 | 298 |
} |
299 | 299 |
|
tmp/org.txm.cooccurrence.rcp/src/org/txm/cooccurrence/rcp/editors/CooccurrencesEditor.java (revision 1514) | ||
---|---|---|
90 | 90 |
import org.txm.rcp.preferences.RCPPreferences; |
91 | 91 |
import org.txm.rcp.swt.widget.AssistedQueryWidget; |
92 | 92 |
import org.txm.rcp.swt.widget.FloatSpinner; |
93 |
import org.txm.rcp.swt.widget.LabeledSpinner; |
|
93 | 94 |
import org.txm.rcp.swt.widget.PropertiesSelector; |
94 | 95 |
import org.txm.rcp.views.QueriesView; |
95 | 96 |
import org.txm.searchengine.cqp.clientExceptions.CqiClientException; |
... | ... | |
239 | 240 |
ComputeKeyListener computeKeyListener = new ComputeKeyListener(this); |
240 | 241 |
|
241 | 242 |
|
243 |
|
|
244 |
// Main parameters area |
|
242 | 245 |
Composite queryArea = new Composite(paramArea, SWT.NONE); |
243 | 246 |
|
244 | 247 |
FormData queryLayoutData = new FormData(); |
... | ... | |
263 | 266 |
layoutData.grabExcessHorizontalSpace = true; |
264 | 267 |
queryWidget.setLayoutData(layoutData); |
265 | 268 |
queryWidget.addKeyListener(computeKeyListener); |
269 |
queryWidget.getQueryWidget().addModifyListener(computeKeyListener); |
|
266 | 270 |
|
271 |
|
|
267 | 272 |
//TODO add new parameter to select the cooccurrents with a CQL |
268 | 273 |
// queryLabel = new Label(getMainParametersComposite(), SWT.NONE); |
269 | 274 |
// queryLabel.setText("Cooc"); |
... | ... | |
305 | 310 |
// } |
306 | 311 |
// }); |
307 | 312 |
|
313 |
|
|
314 |
|
|
315 |
|
|
316 |
// Extended parameters |
|
317 |
|
|
308 | 318 |
// Filters |
309 | 319 |
Composite filtercontrols = new Composite(paramArea, SWT.NONE); |
310 | 320 |
FormData filtersLayoutData = new FormData(); |
... | ... | |
325 | 335 |
propertiesSelector.setTitle(CooccurrenceUIMessages.cooccurrentsPropertiesColon); |
326 | 336 |
propertiesSelector.addSelectionListener(computeSelectionListener); |
327 | 337 |
|
328 |
// FIXME: became useless? |
|
329 |
/* |
|
330 |
* FormData propsLayoutData = new FormData(); propsLayoutData.top = new |
|
331 |
* FormAttachment (queryArea, 0); propsLayoutData.left = new |
|
332 |
* FormAttachment (0); propsLayoutData.right = new FormAttachment (100); |
|
333 |
* propsArea.setLayoutData(propsLayoutData); |
|
334 |
*/ |
|
338 |
// Thresholds |
|
339 |
// Fmin |
|
340 |
LabeledSpinner fMin = new LabeledSpinner(filtercontrols, this, CooccurrenceUIMessages.thresholdsColonFmin); |
|
341 |
this.fMin = fMin.getSpinner(); |
|
335 | 342 |
|
336 |
/* |
|
337 |
* GridLayout gridLayout = new GridLayout(); gridLayout.numColumns = 9; |
|
338 |
* gridLayout.makeColumnsEqualWidth = false; |
|
339 |
* filtercontrols.setLayout(gridLayout); |
|
340 |
*/ |
|
343 |
// Cmin |
|
344 |
LabeledSpinner cMin = new LabeledSpinner(filtercontrols, this, CooccurrenceUIMessages.cmin); |
|
345 |
this.cMin = cMin.getSpinner(); |
|
341 | 346 |
|
342 |
Label label = new Label(filtercontrols, SWT.NONE); |
|
343 |
label.setText(CooccurrenceUIMessages.thresholdsColonFmin); |
|
347 |
// Minimum score |
|
348 |
LabeledSpinner minimumScore = new LabeledSpinner(filtercontrols, this, new Label(filtercontrols, SWT.NONE), new FloatSpinner(filtercontrols, SWT.BORDER), CooccurrenceUIMessages.score_2); |
|
349 |
this.minScore = (FloatSpinner) minimumScore.getSpinner(); |
|
344 | 350 |
|
345 |
fMin = new Spinner(filtercontrols, SWT.BORDER); |
|
346 |
fMin.setMinimum(1); |
|
347 |
fMin.setMaximum(99999); |
|
348 |
fMin.setIncrement(1); |
|
349 |
fMin.setPageIncrement(100); |
|
350 |
fMin.addSelectionListener(computeSelectionListener); |
|
351 |
fMin.addKeyListener(computeKeyListener); |
|
352 |
|
|
353 |
label = new Label(filtercontrols, SWT.NONE); |
|
354 |
label.setText(CooccurrenceUIMessages.cmin); |
|
355 |
cMin = new Spinner(filtercontrols, SWT.BORDER); |
|
356 |
cMin.setMinimum(1); |
|
357 |
cMin.setMaximum(99999); |
|
358 |
cMin.setIncrement(1); |
|
359 |
cMin.setPageIncrement(100); |
|
360 |
cMin.addSelectionListener(computeSelectionListener); |
|
361 |
cMin.addKeyListener(computeKeyListener); |
|
362 |
|
|
363 |
label = new Label(filtercontrols, SWT.NONE); |
|
364 |
label.setText(CooccurrenceUIMessages.score_2); |
|
365 |
minScore = new FloatSpinner(filtercontrols, SWT.BORDER); |
|
366 |
minScore.addSelectionListener(computeSelectionListener); |
|
367 |
minScore.addKeyListener(computeKeyListener); |
|
368 |
|
|
369 | 351 |
// empant |
370 | 352 |
empantPanel = new EmpantWidget(paramArea, SWT.NONE, this.getCorpus()); |
371 | 353 |
|
... | ... | |
380 | 362 |
|
381 | 363 |
infoLine = new Label(this.getBottomToolBarContainer(), SWT.NONE); |
382 | 364 |
infoLine.setLayoutData(new RowData(600, SWT.DEFAULT)); |
365 |
|
|
366 |
|
|
367 |
|
|
383 | 368 |
// result area |
384 | 369 |
Composite resultArea = this.getResultArea(); |
385 |
// FIXME: became useless? |
|
386 |
// FormData resultLayoutData = new FormData(); |
|
387 |
// resultLayoutData.top = new FormAttachment(scrollComposite, 0); |
|
388 |
// resultLayoutData.left = new FormAttachment(0); |
|
389 |
// resultLayoutData.right = new FormAttachment(100); |
|
390 |
// resultLayoutData.bottom = new FormAttachment(100); |
|
391 |
// resultArea.setLayoutData(resultLayoutData); |
|
392 | 370 |
|
393 | 371 |
viewer = new TableViewer(resultArea, SWT.MULTI | SWT.FULL_SELECTION | SWT.BORDER); |
394 | 372 |
viewer.getTable().addKeyListener(new TableKeyListener(viewer)); |
tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java (revision 1514) | ||
---|---|---|
3 | 3 |
import java.io.ByteArrayInputStream; |
4 | 4 |
import java.io.ByteArrayOutputStream; |
5 | 5 |
import java.io.File; |
6 |
import java.io.FileOutputStream; |
|
6 | 7 |
import java.io.IOException; |
7 | 8 |
import java.io.ObjectInputStream; |
8 | 9 |
import java.io.ObjectOutputStream; |
... | ... | |
15 | 16 |
import java.util.HashMap; |
16 | 17 |
import java.util.Map; |
17 | 18 |
|
18 |
import org.eclipse.core.resources.IFile; |
|
19 | 19 |
import org.eclipse.core.runtime.Platform; |
20 | 20 |
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; |
21 | 21 |
import org.eclipse.core.runtime.preferences.DefaultScope; |
22 | 22 |
import org.eclipse.core.runtime.preferences.IEclipsePreferences; |
23 |
import org.eclipse.core.runtime.preferences.IPreferencesService; |
|
23 | 24 |
import org.eclipse.core.runtime.preferences.IScopeContext; |
24 | 25 |
import org.eclipse.core.runtime.preferences.InstanceScope; |
25 | 26 |
import org.eclipse.osgi.util.NLS; |
26 | 27 |
import org.osgi.framework.FrameworkUtil; |
27 | 28 |
import org.osgi.service.prefs.BackingStoreException; |
28 | 29 |
import org.osgi.service.prefs.Preferences; |
29 |
import org.txm.Toolbox; |
|
30 | 30 |
import org.txm.core.results.TXMParameters; |
31 | 31 |
import org.txm.core.results.TXMResult; |
32 | 32 |
import org.txm.objects.Project; |
... | ... | |
51 | 51 |
* (We can also define a custom Scope to do that, for example to change the saved object location or the filename) |
52 | 52 |
* |
53 | 53 |
* |
54 |
* @author mdecorde |
|
54 | 55 |
* @author sjacquot |
55 | 56 |
* |
56 | 57 |
*/ |
... | ... | |
76 | 77 |
|
77 | 78 |
// TXMResult internal parameters, essentially for Links and Persistence |
78 | 79 |
public final static String RESULT_PARAMETERS_NODE_PATH = "result_parameters_node_path"; //$NON-NLS-1$ |
79 |
//public final static String RESULT_UUID = "result_uuid"; //$NON-NLS-1$ |
|
80 | 80 |
public final static String PARENT_PARAMETERS_NODE_PATH = "parent_parameters_node_path"; //$NON-NLS-1$ |
81 | 81 |
public final static String BUNDLE_ID = "bundle_id"; //$NON-NLS-1$ |
82 | 82 |
public final static String USER_NAME = "user_name"; //$NON-NLS-1$ |
83 | 83 |
public final static String LAZY_NAME = "lazy_name"; //$NON-NLS-1$ |
84 | 84 |
public final static String VISIBLE = "visible"; //$NON-NLS-1$ |
85 | 85 |
public static final String LOCK = "locked_result"; //$NON-NLS-1$ |
86 |
|
|
86 | 87 |
/** |
87 | 88 |
* Result creation date. |
88 | 89 |
*/ |
... | ... | |
1723 | 1724 |
* @throws IOException |
1724 | 1725 |
*/ |
1725 | 1726 |
public static boolean flush(TXMResult result, File parametersFile) throws IOException { |
1727 |
|
|
1728 |
// FIXME: less wtf version... |
|
1729 |
IPreferencesService service = org.eclipse.core.runtime.Platform.getPreferencesService(); |
|
1726 | 1730 |
try { |
1731 |
service.exportPreferences((IEclipsePreferences) preferencesRootNode.node(result.getParametersNodePath()), new FileOutputStream(parametersFile), null); |
|
1732 |
} |
|
1733 |
catch (Exception e1) { |
|
1734 |
// TODO Auto-generated catch block |
|
1735 |
e1.printStackTrace(); |
|
1736 |
} |
|
1737 |
|
|
1738 |
|
|
1739 |
// FIXME: wtf version... |
|
1740 |
try { |
|
1727 | 1741 |
preferencesRootNode.node(result.getParametersNodePath()).flush(); |
1728 | 1742 |
|
1729 | 1743 |
Project p = result.getProject(); |
tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java (revision 1514) | ||
---|---|---|
77 | 77 |
public static final Pattern FILE_NAME_PATTERN = Pattern.compile("[^a-zA-Z0-9\\.-]+"); //$NON-NLS-1$ |
78 | 78 |
public static final String UNDERSCORE = "_"; |
79 | 79 |
|
80 |
/** |
|
81 |
* Results counter to create unique ids. |
|
82 |
*/ |
|
80 | 83 |
private static int next = 0; |
81 | 84 |
|
82 |
|
|
83 |
|
|
84 |
// /** |
|
85 |
// * Unique ID of the result. |
|
86 |
// */ |
|
87 |
// protected String uniqueID; |
|
88 |
|
|
89 | 85 |
/** |
90 | 86 |
* Editor can use this to test if the result has been computed once. |
91 | 87 |
*/ |
... | ... | |
103 | 99 |
protected boolean dirty = true; |
104 | 100 |
|
105 | 101 |
/** |
106 |
* If locked, the result is not updated when computed. |
|
107 |
*/ |
|
108 |
@Parameter(key=TXMPreferences.LOCK, type=Parameter.INTERNAL) |
|
109 |
protected boolean locked = false; |
|
110 |
|
|
111 |
/** |
|
112 | 102 |
* if a method changed the internal data without **recomputing** the result, the result must be marked "altered" |
113 | 103 |
*/ |
114 | 104 |
protected boolean altered = false; |
115 | 105 |
|
116 | 106 |
/** |
117 |
* The result parent. Should not be null except for roots TXMResult |
|
107 |
* The result parent. Should not be null except for roots TXMResult.
|
|
118 | 108 |
*/ |
119 | 109 |
protected TXMResult parent; |
120 | 110 |
|
... | ... | |
176 | 166 |
protected String userName; |
177 | 167 |
|
178 | 168 |
/** |
179 |
* To store the simple name for unserialization and lazy loading.
|
|
180 |
* This string can be used, for example, to display some infos in UI even if the result has not yet been recomputed.
|
|
169 |
* To store the simple name for unserialization and lazy loading. |
|
170 |
* This string can be used, for example, to display some information in UI even if the result has not yet been recomputed.
|
|
181 | 171 |
*/ |
182 | 172 |
@Parameter(key=TXMPreferences.LAZY_NAME, type=Parameter.INTERNAL) |
183 | 173 |
private String lazyName; |
184 | 174 |
|
185 | 175 |
/** |
186 |
* Last compute date.
|
|
176 |
* Last computing date.
|
|
187 | 177 |
*/ |
188 | 178 |
@Parameter(key=TBXPreferences.LAST_COMPUTING_DATE, type=Parameter.INTERNAL) |
189 | 179 |
private Date lastComputingDate; |
... | ... | |
194 | 184 |
@Parameter(key=TBXPreferences.CREATION_DATE, type=Parameter.INTERNAL) |
195 | 185 |
private Date creationDate; |
196 | 186 |
|
197 |
// true if the result is computing = in compute(,) method |
|
187 |
/** |
|
188 |
* If locked, the result is not updated when computed. |
|
189 |
*/ |
|
190 |
@Parameter(key=TXMPreferences.LOCK, type=Parameter.INTERNAL) |
|
191 |
protected boolean locked = false; |
|
192 |
|
|
193 |
|
|
194 |
/** |
|
195 |
* Current computing state. |
|
196 |
* true if the result is computing = in compute(,) method |
|
197 |
* |
|
198 |
*/ |
|
198 | 199 |
protected boolean computing = false; |
199 | 200 |
|
200 | 201 |
|
... | ... | |
312 | 313 |
} |
313 | 314 |
} |
314 | 315 |
|
315 |
public Date getComputeDate() { |
|
316 |
return this.lastComputingDate; |
|
317 |
} |
|
318 |
|
|
319 |
public Date getCreationDate() { |
|
320 |
return this.creationDate; |
|
321 |
} |
|
322 |
|
|
323 |
|
|
324 | 316 |
/** |
325 | 317 |
* Sets the user name. |
326 | 318 |
* @param name |
... | ... | |
2579 | 2571 |
public ArrayList<HashMap<String, Object>> getParametersHistory() { |
2580 | 2572 |
return parametersHistory; |
2581 | 2573 |
} |
2574 |
|
|
2575 |
/** |
|
2576 |
* Gets the last computing date. |
|
2577 |
* @return the last computing date |
|
2578 |
*/ |
|
2579 |
public Date getLastComputingDate() { |
|
2580 |
return this.lastComputingDate; |
|
2581 |
} |
|
2582 | 2582 |
|
2583 |
/** |
|
2584 |
* Gets the creation date. |
|
2585 |
* @return the creation date |
|
2586 |
*/ |
|
2587 |
public Date getCreationDate() { |
|
2588 |
return this.creationDate; |
|
2589 |
} |
|
2590 |
|
|
2591 |
|
|
2583 | 2592 |
public boolean toParametersFile(File outfile) throws IOException { |
2584 | 2593 |
return TXMPreferences.flush(this, outfile); |
2585 | 2594 |
} |
2595 |
|
|
2596 |
|
|
2586 | 2597 |
} |
tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java (revision 1514) | ||
---|---|---|
670 | 670 |
// return false; |
671 | 671 |
// } |
672 | 672 |
|
673 |
return true;
|
|
673 |
return this.lexicalTable.getProperty() != null;
|
|
674 | 674 |
} |
675 | 675 |
|
676 | 676 |
|
tmp/org.txm.lexicaltable.rcp/src/org/txm/lexicaltable/rcp/editors/LexicalTableEditor.java (revision 1514) | ||
---|---|---|
235 | 235 |
this.vMaxSpinner.setMinimum(1); |
236 | 236 |
thresholdsGroup.getVMaxLabel().setText(TXMCoreMessages.common_numberOfLines); |
237 | 237 |
|
238 |
// // Number of lines |
|
239 |
// Label nLines = new Label(extendedParametersArea, SWT.NONE); |
|
240 |
// nLines.setText(TXMCoreMessages.common_numberOfLines); |
|
241 |
// vMaxSpinner = new Spinner(extendedParametersArea, SWT.BORDER); |
|
242 |
// vMaxSpinner.setMinimum(1); |
|
243 |
// vMaxSpinner.setMaximum(9999999); |
|
244 |
// |
|
245 |
// // Fmin |
|
246 |
// Label fmin = new Label(extendedParametersArea, SWT.NONE); |
|
247 |
// fmin.setText(TXMCoreMessages.common_fMin); |
|
248 |
// fMinSpinner = new Spinner(extendedParametersArea, SWT.BORDER); |
|
249 |
// fMinSpinner.setMinimum(1); |
|
250 |
// fMinSpinner.setMaximum(9999999); |
|
251 |
|
|
252 |
|
|
253 | 238 |
// Merge or delete columns button |
254 | 239 |
mergeDeleteColumnsButton = new Button(extendedParametersArea, SWT.PUSH); |
255 | 240 |
mergeDeleteColumnsButton.setText(LexicalTableUIMessages.mergeOrDeleteColumns); |
tmp/org.txm.concordance.rcp/src/org/txm/concordance/rcp/editors/ConcordanceEditor.java (revision 1514) | ||
---|---|---|
848 | 848 |
* @param controlArea the control area |
849 | 849 |
*/ |
850 | 850 |
private void composeControlArea(final Composite controlArea) { |
851 |
|
|
852 |
|
|
853 |
// Computing listeners |
|
854 |
ComputeKeyListener computeKeyListener = new ComputeKeyListener(this); |
|
855 |
|
|
856 |
|
|
851 | 857 |
GridLayout controlLayout = new GridLayout(1, false); |
852 | 858 |
controlLayout.verticalSpacing = 0; |
853 | 859 |
controlLayout.marginWidth = 0; |
... | ... | |
883 | 889 |
queryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); |
884 | 890 |
|
885 | 891 |
// [ (v)] |
886 |
// queryWidget = new QueryWidget(queryArea, SWT.DROP_DOWN); |
|
887 |
queryWidget = new AssistedQueryWidget(getMainParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus()); |
|
892 |
queryWidget = new AssistedQueryWidget(this.getMainParametersComposite(), SWT.DROP_DOWN, concordance.getCorpus()); |
|
888 | 893 |
queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); |
889 |
queryWidget.addKeyListener(new ComputeKeyListener(this)); |
|
890 |
// FIXME: to compute when changing the query from history combo box |
|
891 |
// FIXME: commented because it doesn't work, the computing is launched as soon as we clic on the arrow of the combo box |
|
894 |
queryWidget.addKeyListener(computeKeyListener); |
|
895 |
queryWidget.getQueryWidget().addModifyListener(computeKeyListener); |
|
896 |
|
|
897 |
// FIXME: SJ: for computing when changing the query from history combo box |
|
898 |
// FIXME: SJ: commented because it doesn't work, the computing is launched as soon as we clic on the arrow of the combo box |
|
892 | 899 |
//queryWidget.getQueryWidget().addSelectionListener(new ComputeSelectionListener(this)); |
893 | 900 |
|
894 | 901 |
// hide the parameters panel |
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesEditor.java (revision 1514) | ||
---|---|---|
49 | 49 |
import org.txm.rcp.editors.listeners.ComputeKeyListener; |
50 | 50 |
import org.txm.rcp.editors.listeners.ComputeSelectionListener; |
51 | 51 |
import org.txm.rcp.swt.GLComposite; |
52 |
import org.txm.rcp.swt.widget.LabeledSpinner; |
|
52 | 53 |
import org.txm.rcp.swt.widget.ThresholdsGroup; |
53 | 54 |
import org.txm.rcp.swt.widget.structures.PropertiesComboViewer; |
54 | 55 |
import org.txm.searchengine.cqp.corpus.CQPCorpus; |
... | ... | |
129 | 130 |
|
130 | 131 |
// Extended parameters |
131 | 132 |
Composite extendedParametersArea = this.getExtendedParametersGroup(); |
132 |
//((GridLayout)extendedParametersArea.getLayout()).numColumns = 3; |
|
133 | 133 |
|
134 |
// GridLayout gridLayout = new GridLayout(); |
|
135 |
// gridLayout.numColumns = 3; |
|
136 |
// extendedParametersArea.setLayout(gridLayout); |
|
137 |
|
|
138 |
// Computing listeners |
|
139 |
ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this); |
|
140 |
ComputeKeyListener computeKeyListener = new ComputeKeyListener(this); |
|
141 |
|
|
142 | 134 |
// max score |
143 |
Label maxScoreLabel = new Label(extendedParametersArea, SWT.NONE); |
|
144 |
maxScoreLabel.setText("Maximum score"); |
|
145 |
|
|
146 |
this.maxScoreFilter = new Spinner(extendedParametersArea, SWT.BORDER); |
|
147 |
this.maxScoreFilter.setToolTipText("The maximum score to display"); |
|
135 |
LabeledSpinner maxScore = new LabeledSpinner(extendedParametersArea, this, "Maximum score", "The maximum score to display"); |
|
136 |
this.maxScoreFilter = maxScore.getSpinner(); |
|
148 | 137 |
this.maxScoreFilter.setMinimum(0); |
149 | 138 |
this.maxScoreFilter.setMaximum(100000); |
150 |
|
|
151 |
this.maxScoreFilter.addKeyListener(computeKeyListener); |
|
152 |
this.maxScoreFilter.addSelectionListener(computeSelectionListener); |
|
153 | 139 |
|
154 |
|
|
155 |
|
|
156 | 140 |
// Result area |
157 | 141 |
GLComposite resultArea = this.getResultArea(); |
158 | 142 |
|
tmp/org.txm.specificities.rcp/src/org/txm/specificities/rcp/editors/SpecificitiesSelectionEditor.java (revision 1514) | ||
---|---|---|
1 | 1 |
package org.txm.specificities.rcp.editors; |
2 | 2 |
|
3 | 3 |
import org.eclipse.swt.SWT; |
4 |
import org.eclipse.swt.layout.GridLayout; |
|
5 | 4 |
import org.eclipse.swt.widgets.Composite; |
6 | 5 |
import org.eclipse.swt.widgets.Label; |
7 | 6 |
import org.eclipse.swt.widgets.ToolItem; |
8 | 7 |
import org.txm.chartsengine.rcp.editors.ChartEditor; |
9 | 8 |
import org.txm.core.results.Parameter; |
10 | 9 |
import org.txm.rcp.IImageKeys; |
11 |
import org.txm.rcp.editors.listeners.ComputeKeyListener; |
|
12 | 10 |
import org.txm.rcp.editors.listeners.ComputeSelectionListener; |
13 | 11 |
import org.txm.rcp.swt.widget.FloatSpinner; |
12 |
import org.txm.rcp.swt.widget.LabeledSpinner; |
|
14 | 13 |
import org.txm.specificities.core.functions.SpecificitiesSelection; |
15 | 14 |
import org.txm.specificities.core.preferences.SpecificitiesPreferences; |
16 | 15 |
import org.txm.specificities.rcp.handlers.ComputeSpecifities; |
... | ... | |
35 | 34 |
* Banality threshold. |
36 | 35 |
*/ |
37 | 36 |
@Parameter(key=SpecificitiesPreferences.CHART_BANALITY, type=Parameter.RENDERING) |
38 |
protected FloatSpinner banality; |
|
37 |
protected FloatSpinner banalitySpinner;
|
|
39 | 38 |
|
40 | 39 |
|
41 | 40 |
@Override |
42 | 41 |
public void __createPartControl() { |
43 | 42 |
|
44 |
|
|
45 | 43 |
// Computing listeners |
46 | 44 |
ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(this, true); |
47 |
ComputeKeyListener computeKeyListener = new ComputeKeyListener(this); |
|
48 |
|
|
49 | 45 |
|
50 | 46 |
// Group bars by lines |
51 |
groupBarsByLines = new ToolItem(this.getToolBar(), SWT.CHECK); |
|
52 |
groupBarsByLines.setToolTipText(SpecificitiesUIMessages.groupBarsByLines); |
|
53 |
groupBarsByLines.setImage(IImageKeys.getImage(ComputeSpecifities.class, "icons/silk_group_bars_by_lines.png")); |
|
54 |
groupBarsByLines.addSelectionListener(computeSelectionListener); |
|
47 |
this.groupBarsByLines = new ToolItem(this.getToolBar(), SWT.CHECK);
|
|
48 |
this.groupBarsByLines.setToolTipText(SpecificitiesUIMessages.groupBarsByLines);
|
|
49 |
this.groupBarsByLines.setImage(IImageKeys.getImage(ComputeSpecifities.class, "icons/silk_group_bars_by_lines.png"));
|
|
50 |
this.groupBarsByLines.addSelectionListener(computeSelectionListener);
|
|
55 | 51 |
|
56 |
|
|
57 | 52 |
// Banality |
58 | 53 |
Composite extendedParametersArea = this.getExtendedParametersGroup(); |
59 |
GridLayout gridLayout = new GridLayout(); |
|
60 |
gridLayout.numColumns = 2; |
|
61 |
extendedParametersArea.setLayout(gridLayout); |
|
62 |
|
|
63 |
|
|
64 |
Label label = new Label(extendedParametersArea, SWT.NONE); |
|
65 |
label.setText("Banality"); |
|
66 |
|
|
67 |
banality = new FloatSpinner(extendedParametersArea, SWT.BORDER); |
|
68 |
banality.setToolTipText("Banality threshold"); |
|
69 |
banality.setMaximumAsFloat(200); |
|
70 |
banality.addSelectionListener(computeSelectionListener); |
|
71 |
banality.addKeyListener(computeKeyListener); |
|
72 |
|
|
54 |
|
|
55 |
LabeledSpinner banality = new LabeledSpinner(extendedParametersArea, this, new Label(extendedParametersArea, SWT.NONE), new FloatSpinner(extendedParametersArea, SWT.BORDER), "Banality", "Banality threshold", true); |
|
56 |
this.banalitySpinner = (FloatSpinner) banality.getSpinner(); |
|
57 |
this.banalitySpinner.setMaximumAsFloat(200); |
|
58 |
this.banalitySpinner.addSelectionListener(computeSelectionListener); |
|
73 | 59 |
} |
74 | 60 |
|
75 | 61 |
|
tmp/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java (revision 1514) | ||
---|---|---|
47 | 47 |
} |
48 | 48 |
|
49 | 49 |
// get the more recent one |
50 |
if (project != null && p.getComputeDate().compareTo(project.getComputeDate()) > 0) {
|
|
50 |
if (project != null && p.getLastComputingDate().compareTo(project.getLastComputingDate()) > 0) {
|
|
51 | 51 |
project = p; |
52 | 52 |
} else { |
53 | 53 |
project = p; |
... | ... | |
64 | 64 |
project.setLang(Locale.getDefault().getCountry()); |
65 | 65 |
System.out.println(NLS.bind("The {0} corpus will be created.", project)); |
66 | 66 |
} else { |
67 |
System.out.println(NLS.bind("The {0} ({1}) corpus will be replaced.", project, project.getComputeDate()));
|
|
67 |
System.out.println(NLS.bind("The {0} ({1}) corpus will be replaced.", project, project.getLastComputingDate()));
|
|
68 | 68 |
} |
69 | 69 |
|
70 | 70 |
//project.compute(); // create/update files |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/views/debug/TXMResultDebugView.java (revision 1514) | ||
---|---|---|
97 | 97 |
public void refresh() { |
98 | 98 |
|
99 | 99 |
if(this.currentResult == null) { |
100 |
this.displayArea.setText(""); |
|
100 |
this.displayArea.setText(""); //$NON-NLS-1$
|
|
101 | 101 |
return; |
102 | 102 |
} |
103 | 103 |
|
104 | 104 |
StringBuffer buffer = new StringBuffer(); |
105 | 105 |
buffer.append("Class: " + this.currentResult.getClass() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
106 |
//buffer.append("UUID: " + this.currentResult.getUUID() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
|
107 | 106 |
buffer.append("Node path: " + this.currentResult.getParametersNodePath() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
108 | 107 |
buffer.append("Simple name: " + this.currentResult.getSimpleName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
109 | 108 |
buffer.append("User name: " + this.currentResult.getUserName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
110 | 109 |
buffer.append("Lazy name: " + this.currentResult.getLazyName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
111 | 110 |
buffer.append("Name: " + this.currentResult.getName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
112 | 111 |
buffer.append("Creation date: " + this.currentResult.getCreationDate() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
113 |
buffer.append("Compute date: " + this.currentResult.getComputeDate() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
112 |
buffer.append("Last computing date: " + this.currentResult.getLastComputingDate() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$
|
|
114 | 113 |
buffer.append("Valid filename: " + this.currentResult.getValidFileName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
115 | 114 |
buffer.append("Empty name: " + this.currentResult.getEmptyName() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
116 | 115 |
buffer.append("toString(): " + this.currentResult.toString() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java (revision 1514) | ||
---|---|---|
67 | 67 |
import org.txm.rcp.JobsTimer; |
68 | 68 |
import org.txm.rcp.StatusLine; |
69 | 69 |
import org.txm.rcp.TXMWindows; |
70 |
import org.txm.rcp.editors.listeners.BaseAbstractComputeListener; |
|
70 | 71 |
import org.txm.rcp.handlers.BaseAbstractHandler; |
71 | 72 |
import org.txm.rcp.messages.TXMUIMessages; |
72 | 73 |
import org.txm.rcp.swt.GLComposite; |
... | ... | |
440 | 441 |
} |
441 | 442 |
|
442 | 443 |
if (this.getResult().isLocked()) { |
443 |
setLocked(true); |
|
444 |
this.setLocked(true);
|
|
444 | 445 |
} |
445 | 446 |
|
446 | 447 |
// disable the compute button, it will be re-enable or not later when the UI will check if the editor is dirty or not |
447 |
ToolItem computeButton = this.topToolBar.getItemByContributionId(TOP_TOOLBAR_COMPUTE_BUTTON_ID); |
|
448 |
if (computeButton != null) { |
|
449 |
computeButton.setEnabled(false); |
|
450 |
} |
|
448 |
// ToolItem computeButton = this.topToolBar.getItemByContributionId(TOP_TOOLBAR_COMPUTE_BUTTON_ID);
|
|
449 |
// if (computeButton != null) {
|
|
450 |
// computeButton.setEnabled(false);
|
|
451 |
// }
|
|
451 | 452 |
|
452 | 453 |
} catch(Throwable e) { |
453 | 454 |
Log.severe(TXMCoreMessages.bind("TXMEditor.createPartControl(): can not create the editor for result {0}.", this.getResult())); //$NON-NLS-1$ |
454 | 455 |
e.printStackTrace(); |
455 | 456 |
createPartControlDoneSucessfully = false; |
456 | 457 |
} |
458 |
|
|
459 |
this.setDirty(false); |
|
457 | 460 |
} |
458 | 461 |
|
459 | 462 |
public void setLocked(boolean b) { |
... | ... | |
630 | 633 |
public void setDirty(boolean dirty) { |
631 | 634 |
this.dirty = dirty; |
632 | 635 |
|
636 |
// FIXME: SJ: future version that enable the button ONLY if the result can compute |
|
637 |
// need to check all canCompute() result method before enabling it |
|
638 |
// try { |
|
639 |
// // enable/disable the compute button according to dirty state of the editor |
|
640 |
// if (this.computeButton != null && !this.computeButton.isDisposed()) { |
|
641 |
// this.computeButton.setEnabled(this.getResult().canCompute() && dirty && !this.getResult().isLocked()); |
|
642 |
// } |
|
643 |
// } |
|
644 |
// catch (Exception e) { |
|
645 |
// // TODO Auto-generated catch block |
|
646 |
// e.printStackTrace(); |
|
647 |
// } |
|
648 |
|
|
649 |
// FIXME: old version |
|
633 | 650 |
// enable/disable the compute button according to dirty state of the editor |
634 | 651 |
if (this.computeButton != null && !this.computeButton.isDisposed()) { |
635 |
this.computeButton.setEnabled(dirty && !getResult().isLocked());
|
|
652 |
this.computeButton.setEnabled(this.dirty && !this.getResult().isLocked());
|
|
636 | 653 |
} |
637 | 654 |
|
638 | 655 |
firePropertyChange(IEditorPart.PROP_DIRTY); |
... | ... | |
1101 | 1118 |
((ToolItem)object).setSelection((Boolean) value); |
1102 | 1119 |
} |
1103 | 1120 |
else if(object instanceof FloatSpinner) { |
1121 |
|
|
1122 |
((FloatSpinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, true); |
|
1123 |
|
|
1104 | 1124 |
if(value instanceof Double) { |
1105 | 1125 |
((FloatSpinner)object).setSelection((Double) value); |
1106 | 1126 |
} |
1107 | 1127 |
else { |
1108 | 1128 |
((FloatSpinner)object).setSelection((Float) value); |
1109 | 1129 |
} |
1130 |
|
|
1131 |
((FloatSpinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, false); |
|
1110 | 1132 |
} |
1111 | 1133 |
else if(object instanceof Spinner) { |
1134 |
((Spinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, true); |
|
1112 | 1135 |
((Spinner)object).setSelection((Integer) value); |
1136 |
((Spinner)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, false); |
|
1113 | 1137 |
} |
1114 | 1138 |
else if(object instanceof Text) { |
1115 | 1139 |
((Text)object).setText(String.valueOf(value)); |
... | ... | |
1121 | 1145 |
if(value != null) { |
1122 | 1146 |
// FIXME: fire a new selection changed event leading to a cyclic recursion... |
1123 | 1147 |
// FIXME: became useless? since there is now a test above on !this.getResult().hasParameterChanged(parameter.key(), this.lastComputingParameters) |
1124 |
((Viewer)object).setData("ignore", true); //$NON-NLS-1$
|
|
1148 |
((Viewer)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, true);
|
|
1125 | 1149 |
if (value instanceof StructuredSelection) { // no need to create a new StructuredSelection |
1126 | 1150 |
((Viewer)object).setSelection((StructuredSelection)value, true); |
1127 | 1151 |
} |
1128 | 1152 |
else { |
1129 | 1153 |
((Viewer)object).setSelection(new StructuredSelection(value), true); |
1130 | 1154 |
} |
1131 |
((Viewer)object).setData("ignore", false); //$NON-NLS-1$
|
|
1155 |
((Viewer)object).setData(BaseAbstractComputeListener.IGNORE_EVENT, false);
|
|
1132 | 1156 |
} |
1133 | 1157 |
} |
1134 | 1158 |
else if(object instanceof PropertiesSelector) { |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeListener.java (revision 1514) | ||
---|---|---|
12 | 12 |
* |
13 | 13 |
*/ |
14 | 14 |
// FIXME: became useless? |
15 |
// actually this could be useful to pass it all events |
|
15 | 16 |
@Deprecated |
16 | 17 |
public class ComputeListener extends BaseAbstractComputeListener implements Listener { |
17 | 18 |
|
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeSelectionListener.java (revision 1514) | ||
---|---|---|
44 | 44 |
if((this.autoCompute |
45 | 45 |
|| RCPPreferences.getInstance().getBoolean(RCPPreferences.AUTO_UPDATE_EDITOR)) |
46 | 46 |
|
47 |
&& (!(e.getSource() instanceof Spinner)) |
|
47 |
//&& (!(e.getSource() instanceof Spinner))
|
|
48 | 48 |
|
49 |
//&& (!(e.getSource() instanceof Spinner) || (e.stateMask & SWT.BUTTON_MASK) != 0)
|
|
49 |
&& (!(e.getSource() instanceof Spinner) || (e.stateMask & SWT.BUTTON_MASK) != 0) |
|
50 | 50 |
) { |
51 | 51 |
this.editor.compute(true); |
52 | 52 |
} |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/ComputeKeyListener.java (revision 1514) | ||
---|---|---|
6 | 6 |
import org.eclipse.swt.SWT; |
7 | 7 |
import org.eclipse.swt.events.KeyEvent; |
8 | 8 |
import org.eclipse.swt.events.KeyListener; |
9 |
import org.eclipse.swt.events.ModifyEvent; |
|
10 |
import org.eclipse.swt.events.ModifyListener; |
|
9 | 11 |
import org.txm.core.results.TXMResult; |
10 | 12 |
import org.txm.rcp.editors.TXMEditor; |
11 | 13 |
|
12 | 14 |
/** |
13 |
* Key listener that calls TXMEditor.compute() when the Enter key is pressed. |
|
15 |
* Key and text Modify listener that calls TXMEditor.compute() when the Enter key is pressed. |
|
16 |
* Also manage the dirty editor state when the text of the widget has changed. |
|
14 | 17 |
* |
15 | 18 |
* @author mdecorde |
16 | 19 |
* @author sjacquot |
17 | 20 |
* |
18 | 21 |
*/ |
19 |
public class ComputeKeyListener extends BaseAbstractComputeListener implements KeyListener { |
|
22 |
public class ComputeKeyListener extends BaseAbstractComputeListener implements KeyListener, ModifyListener {
|
|
20 | 23 |
|
21 | 24 |
|
22 | 25 |
/** |
23 | 26 |
* @param editor |
24 | 27 |
*/ |
25 | 28 |
public ComputeKeyListener(TXMEditor<? extends TXMResult> editor) { |
26 |
super(editor);
|
|
29 |
this(editor, false);
|
|
27 | 30 |
} |
28 | 31 |
|
32 |
/** |
|
33 |
* |
|
34 |
* @param editor |
|
35 |
* @param autoCompute |
|
36 |
*/ |
|
37 |
public ComputeKeyListener(TXMEditor<? extends TXMResult> editor, boolean autoCompute) { |
|
38 |
super(editor, autoCompute); |
|
39 |
} |
|
40 |
|
|
41 |
|
|
29 | 42 |
@Override |
30 | 43 |
public void keyPressed(KeyEvent e) { |
31 | 44 |
if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) { |
32 | 45 |
this.editor.compute(true); |
33 | 46 |
} |
34 | 47 |
// if other key than Return is pressed then makes the editor dirty |
35 |
else { |
|
36 |
this.editor.setDirty(true); |
|
37 |
} |
|
48 |
// else {
|
|
49 |
// this.editor.setDirty(true);
|
|
50 |
// }
|
|
38 | 51 |
// FIXME: update the result from the widget |
39 | 52 |
// purpose here is, for example, to enable the compute command button when a query is typed |
40 | 53 |
// the code below doesn't work as expected |
... | ... | |
50 | 63 |
|
51 | 64 |
} |
52 | 65 |
|
66 |
@Override |
|
67 |
public void modifyText(ModifyEvent e) { |
|
68 |
if(!mustIgnoreEvent(e) && !this.autoCompute) { |
|
69 |
this.editor.setDirty(true); |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
53 | 73 |
} |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java (revision 1514) | ||
---|---|---|
6 | 6 |
import java.util.EventObject; |
7 | 7 |
|
8 | 8 |
import org.eclipse.jface.viewers.Viewer; |
9 |
import org.eclipse.swt.widgets.Widget; |
|
9 | 10 |
import org.txm.core.results.TXMResult; |
10 | 11 |
import org.txm.rcp.editors.TXMEditor; |
11 | 12 |
|
... | ... | |
18 | 19 |
*/ |
19 | 20 |
public abstract class BaseAbstractComputeListener { |
20 | 21 |
|
22 |
|
|
23 |
public final static String IGNORE_EVENT = "ignoreEvent"; |
|
24 |
|
|
25 |
|
|
21 | 26 |
/** |
22 | 27 |
* Linked editor. |
23 | 28 |
*/ |
... | ... | |
56 | 61 |
public static boolean mustIgnoreEvent(EventObject event) { |
57 | 62 |
// to skip programmatically setSelection() call, especially for the auto-updating editor Widgets from result methods |
58 | 63 |
if(event.getSource() instanceof Viewer) { |
59 |
if(((Viewer)event.getSource()).getData("ignore") != null && (Boolean)((Viewer)event.getSource()).getData("ignore") == true) {
|
|
64 |
if(((Viewer)event.getSource()).getData(IGNORE_EVENT) != null && (Boolean)((Viewer)event.getSource()).getData(IGNORE_EVENT) == true) {
|
|
60 | 65 |
return true; |
61 | 66 |
} |
62 | 67 |
} |
68 |
else if(event.getSource() instanceof Widget) { |
|
69 |
if(((Widget)event.getSource()).getData(IGNORE_EVENT) != null && (Boolean)((Widget)event.getSource()).getData(IGNORE_EVENT) == true) { |
|
70 |
return true; |
|
71 |
} |
|
72 |
} |
|
73 |
|
|
63 | 74 |
return false; |
64 | 75 |
} |
65 | 76 |
|
tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/LabeledSpinner.java (revision 1514) | ||
---|---|---|
1 |
/** |
|
2 |
* |
|
3 |
*/ |
|
4 |
package org.txm.rcp.swt.widget; |
|
5 |
|
|
6 |
import org.eclipse.swt.SWT; |
|
7 |
import org.eclipse.swt.widgets.Composite; |
|
8 |
import org.eclipse.swt.widgets.Label; |
|
9 |
import org.eclipse.swt.widgets.Spinner; |
|
10 |
import org.txm.rcp.editors.TXMEditor; |
|
11 |
import org.txm.rcp.editors.listeners.ComputeKeyListener; |
|
12 |
|
|
13 |
/** |
|
14 |
* Convenience class to create a labeled Spinner dedicated to editor parameters areas. |
|
15 |
* This class also adds all the needed computing listeners. |
|
16 |
* |
|
17 |
* @author sjacquot |
|
18 |
* |
|
19 |
*/ |
|
20 |
public class LabeledSpinner { |
|
21 |
|
|
22 |
/** |
|
23 |
* The label. |
|
24 |
*/ |
|
25 |
protected Label label; |
|
26 |
|
|
27 |
|
|
28 |
/** |
|
29 |
* The spinner |
|
30 |
*/ |
|
31 |
protected Spinner spinner; |
|
32 |
|
|
33 |
|
|
34 |
|
|
35 |
/** |
|
36 |
* |
|
37 |
*/ |
|
38 |
public LabeledSpinner(Composite parent, TXMEditor editor, Label label, Spinner spinner, String labelText, String spinnerTooltip, boolean autoCompute) { |
|
39 |
this.label = label; |
|
40 |
this.spinner = spinner; |
|
41 |
|
|
42 |
|
|
43 |
if(this.label == null) { |
|
44 |
this.label = new Label(parent, SWT.NONE); |
|
45 |
} |
|
46 |
|
|
47 |
if(this.spinner == null) { |
|
48 |
this.spinner = new Spinner(parent, SWT.BORDER); |
|
49 |
} |
|
50 |
|
|
51 |
this.label.setText(labelText); |
|
52 |
|
|
53 |
if(spinnerTooltip != null) { |
|
54 |
this.spinner.setToolTipText(spinnerTooltip); |
|
55 |
} |
|
56 |
|
|
57 |
// default parameters and range |
|
58 |
this.spinner.setMinimum(0); |
|
59 |
this.spinner.setMaximum(9999999); |
|
60 |
this.spinner.setIncrement(1); |
|
61 |
this.spinner.setPageIncrement(100); |
|
62 |
|
|
63 |
// add computing listeners |
|
64 |
ComputeKeyListener listener = new ComputeKeyListener(editor, autoCompute); |
|
65 |
this.spinner.addKeyListener(listener); |
|
66 |
this.spinner.addModifyListener(listener); |
|
67 |
} |
|
68 |
|
|
69 |
public LabeledSpinner(Composite parent, TXMEditor editor, Label label, Spinner spinner, String labelText) { |
|
70 |
this(parent, editor, label, spinner, labelText, null, false); |
|
71 |
} |
|
72 |
|
|
73 |
|
|
74 |
public LabeledSpinner(Composite parent, TXMEditor editor, String labelText, String spinnerTooltip) { |
|
75 |
this(parent, editor, null, null, labelText, spinnerTooltip, false); |
|
76 |
} |
|
77 |
|
|
78 |
|
|
79 |
public LabeledSpinner(Composite parent, TXMEditor editor, String labelText) { |
|
80 |
this(parent, editor, labelText, null); |
|
81 |
} |
|
82 |
|
|
83 |
/** |
|
84 |
* @return the label |
|
85 |
*/ |
|
86 |
public Label getLabel() { |
|
87 |
return label; |
|
88 |
} |
|
89 |
|
|
90 |
|
|
91 |
/** |
|
92 |
* @return the spinner |
|
93 |
*/ |
|
94 |
public Spinner getSpinner() { |
|
95 |
return spinner; |
|
96 |
} |
|
97 |
|
|
98 |
} |
|
0 | 99 |
tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ThresholdsGroup.java (revision 1514) | ||
---|---|---|
42 | 42 |
protected Spinner fMaxSpinner; |
43 | 43 |
|
44 | 44 |
/** |
45 |
* Maximum number of lines filtering. |
|
45 |
* Maximum number of lines filtering spinner.
|
|
46 | 46 |
*/ |
47 | 47 |
protected Spinner vMaxSpinner; |
48 | 48 |
|
... | ... | |
99 | 99 |
|
100 | 100 |
this.setText(TXMCoreMessages.common_thresholds); |
101 | 101 |
|
102 |
// Computing listeners |
|
103 |
ComputeSelectionListener computeSelectionListener = new ComputeSelectionListener(editor, autoCompute); |
|
104 |
ComputeKeyListener computeKeyListener = new ComputeKeyListener(editor); |
|
105 |
|
|
106 | 102 |
GridLayout gridLayout = new GridLayout(); |
107 | 103 |
|
108 | 104 |
if(displayFMax) { |
... | ... | |
120 | 116 |
fieldsGridData.minimumWidth = 100; |
121 | 117 |
|
122 | 118 |
// Fmin |
123 |
this.fMinLabel = new Label(this, SWT.NONE); |
|
124 |
this.fMinLabel.setText(TXMCoreMessages.common_fMin); |
|
125 |
this.fMinLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); |
|
126 |
|
|
127 |
fMinSpinner = new Spinner(this, SWT.BORDER); |
|
128 |
fMinSpinner.setMinimum(0); |
|
129 |
fMinSpinner.setMaximum(9999999); |
|
130 |
fMinSpinner.setIncrement(1); |
|
131 |
fMinSpinner.setPageIncrement(100); |
|
132 |
fMinSpinner.setLayoutData(fieldsGridData); |
|
133 |
|
|
119 |
LabeledSpinner fMin = new LabeledSpinner(this, editor, TXMCoreMessages.common_fMin); |
|
120 |
this.fMinLabel = fMin.getLabel(); |
|
121 |
this.fMinSpinner = fMin.getSpinner(); |
|
122 |
|
|
134 | 123 |
// Fmax |
135 | 124 |
if(displayFMax) { |
136 |
this.fMaxLabel = new Label(this, SWT.NONE); |
|
137 |
this.fMaxLabel.setText(TXMCoreMessages.common_fMax); |
|
138 |
this.fMaxLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); |
|
139 |
|
|
140 |
fMaxSpinner = new Spinner(this, SWT.BORDER); |
|
141 |
fMaxSpinner.setMinimum(0); |
|
142 |
fMaxSpinner.setMaximum(9999999); |
|
143 |
fMaxSpinner.setIncrement(1); |
|
144 |
fMaxSpinner.setPageIncrement(100); |
|
145 |
fMaxSpinner.setLayoutData(fieldsGridData); |
|
125 |
LabeledSpinner fMax = new LabeledSpinner(this, editor, TXMCoreMessages.common_fMax); |
|
126 |
this.fMaxLabel = fMax.getLabel(); |
|
127 |
this.fMaxSpinner = fMax.getSpinner(); |
|
146 | 128 |
} |
147 | 129 |
|
148 | 130 |
// Vmax |
149 |
this.vMaxLabel = new Label(this, SWT.NONE); |
|
150 |
this.vMaxLabel.setText(TXMCoreMessages.common_vMax); |
|
151 |
this.vMaxLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); |
|
152 |
|
|
153 |
vMaxSpinner = new Spinner(this, SWT.BORDER); |
|
154 |
vMaxSpinner.setMinimum(0); |
|
155 |
vMaxSpinner.setMaximum(9999999); |
|
156 |
vMaxSpinner.setIncrement(1); |
|
157 |
vMaxSpinner.setPageIncrement(100); |
|
158 |
vMaxSpinner.setLayoutData(fieldsGridData); |
|
131 |
LabeledSpinner vMax = new LabeledSpinner(this, editor, TXMCoreMessages.common_vMax); |
|
132 |
this.vMaxLabel = vMax.getLabel(); |
|
133 |
this.vMaxSpinner = vMax.getSpinner(); |
|
159 | 134 |
|
160 |
fMinSpinner.addKeyListener(computeKeyListener); |
|
161 |
fMinSpinner.addSelectionListener(computeSelectionListener); |
|
162 |
|
|
163 |
if(displayFMax) { |
|
164 |
fMaxSpinner.addKeyListener(computeKeyListener); |
|
165 |
fMaxSpinner.addSelectionListener(computeSelectionListener); |
|
166 |
} |
|
167 |
|
|
168 |
vMaxSpinner.addKeyListener(computeKeyListener); |
|
169 |
vMaxSpinner.addSelectionListener(computeSelectionListener); |
|
170 | 135 |
} |
171 | 136 |
|
172 | 137 |
/** |
tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/IndexEditor.java (revision 1514) | ||
---|---|---|
59 | 59 |
import org.txm.rcp.messages.TXMUIMessages; |
60 | 60 |
import org.txm.rcp.swt.GLComposite; |
61 | 61 |
import org.txm.rcp.swt.widget.AssistedChoiceQueryWidget; |
62 |
import org.txm.rcp.swt.widget.LabeledSpinner; |
|
62 | 63 |
import org.txm.rcp.swt.widget.NavigationWidget; |
63 | 64 |
import org.txm.rcp.swt.widget.PropertiesSelector; |
64 | 65 |
import org.txm.rcp.swt.widget.ThresholdsGroup; |
... | ... | |
236 | 237 |
this.vMaxSpinner = thresholdsGroup.getVMaxSpinner(); |
237 | 238 |
|
238 | 239 |
|
239 |
Label lNLigneppage = new Label(this.getExtendedParametersGroup(), SWT.NONE); |
|
240 |
lNLigneppage.setText(IndexUIMessages.pageSize); |
|
240 |
// FIXME: SJ: we should create a widget class for the number of results per page |
|
241 |
// Number of results per page |
|
242 |
LabeledSpinner numberOfResultsPerPage = new LabeledSpinner(this.getExtendedParametersGroup(), this, IndexUIMessages.pageSize); |
|
243 |
this.nLinesPerPageSpinner = numberOfResultsPerPage.getSpinner(); |
|
244 |
this.nLinesPerPageSpinner.setMinimum(0); |
|
245 |
this.nLinesPerPageSpinner.setMaximum(99999); |
|
246 |
this.nLinesPerPageSpinner.setIncrement(1); |
|
247 |
this.nLinesPerPageSpinner.setPageIncrement(100); |
|
241 | 248 |
|
242 |
nLinesPerPageSpinner = new Spinner(this.getExtendedParametersGroup(), SWT.BORDER); |
|
243 |
nLinesPerPageSpinner.setMinimum(0); |
|
244 |
nLinesPerPageSpinner.setMaximum(99999); |
|
245 |
nLinesPerPageSpinner.setIncrement(1); |
|
246 |
nLinesPerPageSpinner.setPageIncrement(100); |
|
249 |
|
|
247 | 250 |
|
248 |
// FIXME; became useless? |
|
249 |
// nLinesPerPageSpinner.addSelectionListener(new SelectionListener() { |
|
250 |
// @Override |
|
251 |
// public void widgetSelected(SelectionEvent e) { } |
|
252 |
// |
|
253 |
// @Override |
|
254 |
// public void widgetDefaultSelected(SelectionEvent e) { |
|
255 |
// index.setTopLine(0); |
|
256 |
// index.setNLinesPerPage(nLinesPerPageSpinner.getSelection()); |
|
257 |
// fillResultArea(); |
|
258 |
// viewer.getTable().select(0); |
|
259 |
// viewer.getTable().showSelection(); |
|
260 |
// } |
|
261 |
// }); |
|
262 |
|
|
263 |
nLinesPerPageSpinner.addSelectionListener(computeSelectionListener); |
|
264 |
nLinesPerPageSpinner.addKeyListener(computeKeyListener); |
|
265 |
|
|
266 |
|
|
267 |
|
|
251 |
// Bottom toolbar |
|
268 | 252 |
navigationArea = new NavigationWidget(infosArea, SWT.NONE); |
269 | 253 |
navigationArea.setLayoutData(new GridData(SWT.CENTER, SWT.FILL, true, false)); |
270 | 254 |
|
tmp/org.txm.index.rcp/src/org/txm/index/rcp/editors/LexiconEditor.java (revision 1514) | ||
---|---|---|
23 | 23 |
this.queryWidget.setVisible(false); |
24 | 24 |
this.queryWidget.setSize(0, 0); |
25 | 25 |
this.queryWidget.setLayoutData(new GridData(0, 0)); |
26 |
//this.queryWidget.dispose(); |
|
27 | 26 |
this.queryLabel.setVisible(false); |
28 | 27 |
this.queryLabel.dispose(); |
29 | 28 |
|
Formats disponibles : Unified diff