Révision 773
| tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java (revision 773) | ||
|---|---|---|
| 3 | 3 |
*/ |
| 4 | 4 |
package org.txm.progression.rcp.editors; |
| 5 | 5 |
|
| 6 |
import java.io.File; |
|
| 7 |
import java.io.FileNotFoundException; |
|
| 8 |
import java.io.IOException; |
|
| 9 |
import java.io.UnsupportedEncodingException; |
|
| 6 | 10 |
import java.util.ArrayList; |
| 7 | 11 |
import java.util.List; |
| 12 |
import java.util.Properties; |
|
| 8 | 13 |
|
| 9 | 14 |
import org.eclipse.swt.SWT; |
| 10 | 15 |
import org.eclipse.swt.custom.ScrolledComposite; |
| 16 |
import org.eclipse.swt.events.KeyEvent; |
|
| 11 | 17 |
import org.eclipse.swt.events.SelectionEvent; |
| 12 | 18 |
import org.eclipse.swt.events.SelectionListener; |
| 13 | 19 |
import org.eclipse.swt.layout.GridData; |
| ... | ... | |
| 15 | 21 |
import org.eclipse.swt.widgets.Button; |
| 16 | 22 |
import org.eclipse.swt.widgets.Composite; |
| 17 | 23 |
import org.eclipse.swt.widgets.Event; |
| 24 |
import org.eclipse.swt.widgets.FileDialog; |
|
| 18 | 25 |
import org.eclipse.swt.widgets.Label; |
| 19 | 26 |
import org.eclipse.swt.widgets.Listener; |
| 20 | 27 |
import org.eclipse.swt.widgets.Text; |
| ... | ... | |
| 30 | 37 |
import org.txm.rcp.editors.TXMEditor; |
| 31 | 38 |
import org.txm.rcp.editors.listeners.ComputeKeyListener; |
| 32 | 39 |
import org.txm.rcp.editors.listeners.ComputeSelectionListener; |
| 40 |
import org.txm.rcp.messages.TXMUIMessages; |
|
| 33 | 41 |
import org.txm.rcp.swt.widget.AssistedQueryWidget; |
| 34 | 42 |
import org.txm.rcp.swt.widget.structures.StructuralUnitPropertiesComboViewer; |
| 35 | 43 |
import org.txm.rcp.swt.widget.structures.StructuralUnitsComboViewer; |
| 36 | 44 |
import org.txm.rcp.swt.widget.structures.StructuralUnitsCombosGroup; |
| 37 | 45 |
import org.txm.searchengine.cqp.corpus.Corpus; |
| 38 | 46 |
import org.txm.searchengine.cqp.corpus.query.Query; |
| 47 |
import org.txm.utils.io.IOUtils; |
|
| 39 | 48 |
import org.txm.utils.logger.Log; |
| 40 | 49 |
|
| 41 | 50 |
/** |
| ... | ... | |
| 120 | 129 |
@Parameter(key=ProgressionPreferences.REPEAT_SAME_VALUES) |
| 121 | 130 |
protected Button repeatSameValues; |
| 122 | 131 |
|
| 132 |
private AssistedQueryWidget queryWidget; |
|
| 123 | 133 |
|
| 124 | 134 |
|
| 125 | 135 |
|
| 126 | 136 |
|
| 137 |
|
|
| 127 | 138 |
@Override |
| 128 | 139 |
public void __createPartControl(Composite parent) {
|
| 129 | 140 |
|
| ... | ... | |
| 167 | 178 |
|
| 168 | 179 |
|
| 169 | 180 |
try {
|
| 181 |
// Query: |
|
| 182 |
getMinimalParametersComposite().getLayout().numColumns = 2; |
|
| 183 |
// make |
|
| 184 |
getMinimalParametersComposite().setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false)); |
|
| 185 |
|
|
| 186 |
Label queryLabel = new Label(getMinimalParametersComposite(), SWT.NONE); |
|
| 187 |
queryLabel.setText("Add query");
|
|
| 188 |
queryLabel.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false)); |
|
| 170 | 189 |
|
| 171 |
|
|
| 190 |
// [ (v)] |
|
| 191 |
// queryWidget = new QueryWidget(queryArea, SWT.DROP_DOWN); |
|
| 192 |
queryWidget = new AssistedQueryWidget(getMinimalParametersComposite(), SWT.DROP_DOWN, getResult().getCorpus()); |
|
| 193 |
queryWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); |
|
| 194 |
queryWidget.addKeyListener(new ComputeKeyListener(this) {
|
|
| 195 |
@Override |
|
| 196 |
public void keyPressed(KeyEvent e) {
|
|
| 197 |
if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
|
|
| 198 |
onPlusButtonPressed(null, queryWidget.getQueryString()); |
|
| 199 |
super.keyPressed(e); |
|
| 200 |
} |
|
| 201 |
} |
|
| 202 |
}); |
|
| 203 |
|
|
| 172 | 204 |
// System.out.println(parent.getLayout()); |
| 173 | 205 |
Composite mainPanel = this.getCommandParametersGroup(); |
| 174 | 206 |
GridData gridData = new GridData(GridData.FILL, GridData.FILL, true, true); |
| ... | ... | |
| 289 | 321 |
// add query button |
| 290 | 322 |
Button plusButton = new Button(queriesFocusComposite, SWT.NONE); |
| 291 | 323 |
plusButton.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false)); |
| 292 |
plusButton.setText(ProgressionUIMessages.ProgressionDialog_9);
|
|
| 324 |
plusButton.setText("Add multiple queries...");
|
|
| 293 | 325 |
|
| 294 | 326 |
plusButton.addListener(SWT.Selection, new Listener() {
|
| 295 | 327 |
@Override |
| 296 | 328 |
public void handleEvent(Event event) {
|
| 297 |
if (colors.length > queryWidgets.size()) {
|
|
| 298 |
Log.info("add query field");
|
|
| 299 |
addFocusQueryField(); |
|
| 300 |
sc1.layout(true); |
|
| 301 |
queriesFocusComposite.layout(true); |
|
| 302 |
sc1.setMinSize(queriesFocusComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); |
|
| 329 |
FileDialog dialog = new FileDialog(event.display.getActiveShell(), SWT.OPEN); |
|
| 330 |
dialog.setText("Select a UTF-8 property file");
|
|
| 331 |
String path = dialog.open(); |
|
| 332 |
if (path != null) {
|
|
| 333 |
Properties props = new Properties(); |
|
| 334 |
try {
|
|
| 335 |
props.load(IOUtils.getReader(new File(path))); |
|
| 336 |
for (Object k : props.keySet()) {
|
|
| 337 |
onPlusButtonPressed(event, props.get(k).toString()); |
|
| 338 |
} |
|
| 339 |
} catch (Exception e) {
|
|
| 340 |
// TODO Auto-generated catch block |
|
| 341 |
e.printStackTrace(); |
|
| 342 |
} |
|
| 303 | 343 |
} |
| 304 | 344 |
} |
| 305 | 345 |
}); |
| 306 | 346 |
|
| 307 |
|
|
| 308 | 347 |
} catch (Exception e) {
|
| 309 | 348 |
Log.printStackTrace(e); |
| 310 | 349 |
} |
| ... | ... | |
| 312 | 351 |
|
| 313 | 352 |
} |
| 314 | 353 |
|
| 354 |
public void onPlusButtonPressed(Event event, String defaultValue) {
|
|
| 355 |
if (colors.length > queryWidgets.size()) {
|
|
| 356 |
Log.info("add query field");
|
|
| 357 |
QueryField qf = addFocusQueryField(); |
|
| 358 |
if (qf != null) qf.setQuery(defaultValue); |
|
| 359 |
sc1.layout(true); |
|
| 360 |
queriesFocusComposite.layout(true); |
|
| 361 |
sc1.setMinSize(queriesFocusComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); |
|
| 362 |
} |
|
| 363 |
} |
|
| 315 | 364 |
|
| 316 | 365 |
|
| 317 |
|
|
| 318 | 366 |
/** |
| 319 | 367 |
* |
| 320 | 368 |
* @author mdecorde |
| ... | ... | |
| 426 | 474 |
|
| 427 | 475 |
// create the queries fields |
| 428 | 476 |
if (queries == null) {
|
| 429 |
addFocusQueryField(); |
|
| 477 |
//addFocusQueryField();
|
|
| 430 | 478 |
} |
| 431 | 479 |
else {
|
| 432 | 480 |
for (Query q : queries) {
|
Formats disponibles : Unified diff