Révision 774

tmp/org.txm.progression.rcp/src/org/txm/progression/rcp/editors/ProgressionEditor.java (revision 774)
29 29
import org.txm.chartsengine.r.core.themes.DefaultTheme;
30 30
import org.txm.chartsengine.rcp.editors.ChartEditor;
31 31
import org.txm.core.results.Parameter;
32
import org.txm.core.results.TXMResult;
32 33
import org.txm.progression.core.functions.Progression;
33 34
import org.txm.progression.core.preferences.ProgressionPreferences;
34 35
import org.txm.progression.rcp.messages.ProgressionUIMessages;
......
97 98
	 * Queries.
98 99
	 */
99 100
	@Parameter(key=ProgressionPreferences.QUERIES)
100
	protected List<Query> queries;
101
	protected List<Query> queryList;
101 102

  
102 103
	/**
103 104
	 * Structural unit.
......
195 196
				@Override
196 197
				public void keyPressed(KeyEvent e) {
197 198
					if (e.keyCode == SWT.CR || e.keyCode == SWT.KEYPAD_CR) {
198
						onPlusButtonPressed(null, queryWidget.getQueryString());
199
						super.keyPressed(e);
199
						if (onPlusButtonPressed(null, queryWidget.getRawString())) {
200
							super.keyPressed(e); // recompute only if the query has been added
201
						}
200 202
					}
201 203
				}
202 204
			});
......
331 333
					String path = dialog.open();
332 334
					if (path != null) {
333 335
						Properties props = new Properties();
336
						int count = 0;
334 337
						try {
335 338
							props.load(IOUtils.getReader(new File(path)));
336 339
							for (Object k : props.keySet()) {
337
								onPlusButtonPressed(event, props.get(k).toString());
340
								if (onPlusButtonPressed(event, props.get(k).toString())) {
341
									count++;
342
								}
338 343
							}
339 344
						} catch (Exception e) {
340 345
							// TODO Auto-generated catch block
341 346
							e.printStackTrace();
342 347
						}
348
						if (count > 0) {
349
							compute(true);
350
						}
343 351
					}
344 352
				}
345 353
			});
......
347 355
		} catch (Exception e) {
348 356
			Log.printStackTrace(e);
349 357
		}
350

  
351

  
352 358
	}
353 359

  
354
	public void onPlusButtonPressed(Event event, String defaultValue) {
360
	public boolean onPlusButtonPressed(Event event, String defaultValue) {
355 361
		if (colors.length > queryWidgets.size()) {
356 362
			Log.info("add query field");
357
			QueryField qf = addFocusQueryField();
358
			if (qf != null) qf.setQuery(defaultValue);
363
			
364
			QueryField qf = addFocusQueryField(defaultValue);
359 365
			sc1.layout(true);
360 366
			queriesFocusComposite.layout(true);
361 367
			sc1.setMinSize(queriesFocusComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
368
			
369
			return qf != null;
362 370
		}
371
		
372
		return false;
363 373
	}
364 374

  
365 375

  
......
372 382

  
373 383
		protected AssistedQueryWidget focusTextBox;
374 384

  
375
		protected TXMEditor editor;
385
		protected TXMEditor<? extends TXMResult> editor;
376 386

  
377 387
		/**
378 388
		 * 
......
428 438
		public void memorize() {
429 439
			focusTextBox.memorize();
430 440
		}
441

  
442
		public String getRawString() {
443
			return focusTextBox.getRawString();
444
		}
431 445
	}
432 446

  
433 447
	/**
......
440 454
		// do not add same query twice
441 455
		if (initialQuery != null && initialQuery.length() > 0) { // test only if the initial query is set
442 456
			for (int i = 0; i < queryWidgets.size(); i++) {
443

  
444
				if (queryWidgets.get(i).getQuery().getQueryString().equals(initialQuery))	{
457
				String existing = queryWidgets.get(i).getRawString();
458
				if (existing.equals(initialQuery))	{
445 459
					System.out.println("The query already exists: " + initialQuery);
446 460
					return null;
447 461
				}
......
473 487
	public void updateEditorFromChart(boolean update) {
474 488

  
475 489
		// create the queries fields
476
		if (queries == null) {
477
			//addFocusQueryField();
478
		}
479
		else {
480
			for (Query q : queries) {
490
//		if (queryList == null) {
491
//			//addFocusQueryField();
492
//		}
493
		if (queryWidgets.size() == 0 && queryList != null) { // initialize query fields
494
			for (Query q : queryList) {
481 495
				addFocusQueryField(q.getQueryString()); 
482 496
			}
483 497
		}
......
493 507
	@Override
494 508
	public void updateResultFromEditor() {
495 509

  
496
		queries = new ArrayList<Query>();
510
		queryList = new ArrayList<Query>();
497 511
		for (QueryField wid : queryWidgets) {
498 512
			if (!wid.getQuery().isEmpty()) { //$NON-NLS-1$
499
				queries.add(wid.getQuery());
513
				queryList.add(wid.getQuery());
500 514
				wid.memorize();
501 515
			}
502 516
		}
tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedQueryWidget.java (revision 774)
110 110
	public String getQueryString() {
111 111
		return querywidget.getQueryString();
112 112
	}
113
	
114
	/**
115
	 * Gets the query string.
116
	 *
117
	 * @return the query string
118
	 */
119
	public String getRawString() {
120
		return querywidget.getText();
121
	}
113 122

  
114 123
	/**
115 124
	 * Memorize.

Formats disponibles : Unified diff