comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java @ 4131:360e22afb98b

Cosmetics, warnings and minor TODOs.
author Christian Lins <christian.lins@intevation.de>
date Mon, 15 Oct 2012 00:04:35 +0200
parents fe67f1345687
children
comparison
equal deleted inserted replaced
4130:df8ac7ff6b1a 4131:360e22afb98b
1 package de.intevation.flys.client.client.ui; 1 package de.intevation.flys.client.client.ui;
2
3 import java.util.ArrayList;
4 import java.util.List;
5 import java.util.LinkedHashMap;
6 2
7 import com.google.gwt.core.client.GWT; 3 import com.google.gwt.core.client.GWT;
8 import com.google.gwt.i18n.client.NumberFormat; 4 import com.google.gwt.i18n.client.NumberFormat;
9 5
6 import com.smartgwt.client.data.AdvancedCriteria;
10 import com.smartgwt.client.data.Criteria; 7 import com.smartgwt.client.data.Criteria;
11 import com.smartgwt.client.data.Criterion; 8 import com.smartgwt.client.data.Criterion;
12 import com.smartgwt.client.data.AdvancedCriteria; 9 import com.smartgwt.client.data.Record;
10 import com.smartgwt.client.types.Alignment;
13 import com.smartgwt.client.types.OperatorId; 11 import com.smartgwt.client.types.OperatorId;
14
15 import com.smartgwt.client.data.Record;
16 import com.smartgwt.client.util.SC; 12 import com.smartgwt.client.util.SC;
17 import com.smartgwt.client.types.Alignment;
18 import com.smartgwt.client.widgets.Canvas; 13 import com.smartgwt.client.widgets.Canvas;
19 import com.smartgwt.client.widgets.Label; 14 import com.smartgwt.client.widgets.Label;
20 import com.smartgwt.client.widgets.grid.ListGrid;
21 import com.smartgwt.client.widgets.form.DynamicForm; 15 import com.smartgwt.client.widgets.form.DynamicForm;
22 import com.smartgwt.client.widgets.form.fields.SelectItem; 16 import com.smartgwt.client.widgets.form.fields.SelectItem;
23 import com.smartgwt.client.widgets.form.fields.StaticTextItem; 17 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
18 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
19 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
20 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
24 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; 21 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
25 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; 22 import com.smartgwt.client.widgets.grid.ListGrid;
26 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; 23 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
27 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
28 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; 24 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
29 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
30 import com.smartgwt.client.widgets.layout.HLayout; 25 import com.smartgwt.client.widgets.layout.HLayout;
31 import com.smartgwt.client.widgets.layout.VLayout; 26 import com.smartgwt.client.widgets.layout.VLayout;
27 import com.smartgwt.client.widgets.tab.Tab;
32 import com.smartgwt.client.widgets.tab.TabSet; 28 import com.smartgwt.client.widgets.tab.TabSet;
33 import com.smartgwt.client.widgets.tab.Tab; 29 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
34 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; 30 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
35 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; 31
36 32 import de.intevation.flys.client.client.Config;
33 import de.intevation.flys.client.client.FLYSConstants;
34 import de.intevation.flys.client.client.event.FilterHandler;
35 import de.intevation.flys.client.client.event.RangeFilterEvent;
36 import de.intevation.flys.client.client.event.StringFilterEvent;
37 import de.intevation.flys.client.client.ui.range.DistanceInfoDataSource;
38 import de.intevation.flys.client.client.ui.range.LocationsTable;
39 import de.intevation.flys.client.client.ui.range.RangeTable;
37 import de.intevation.flys.client.shared.model.ArtifactDescription; 40 import de.intevation.flys.client.shared.model.ArtifactDescription;
38 import de.intevation.flys.client.shared.model.Data; 41 import de.intevation.flys.client.shared.model.Data;
39 import de.intevation.flys.client.shared.model.DataItem; 42 import de.intevation.flys.client.shared.model.DataItem;
40 import de.intevation.flys.client.shared.model.DataList; 43 import de.intevation.flys.client.shared.model.DataList;
41 import de.intevation.flys.client.shared.model.DefaultData; 44 import de.intevation.flys.client.shared.model.DefaultData;
42 import de.intevation.flys.client.shared.model.DefaultDataItem; 45 import de.intevation.flys.client.shared.model.DefaultDataItem;
43 46
44 import de.intevation.flys.client.client.Config; 47 import java.util.ArrayList;
45 import de.intevation.flys.client.client.FLYSConstants; 48 import java.util.LinkedHashMap;
46 import de.intevation.flys.client.client.ui.range.DistanceInfoDataSource; 49 import java.util.List;
47 import de.intevation.flys.client.client.ui.range.RangeTable;
48 import de.intevation.flys.client.client.ui.range.LocationsTable;
49 import de.intevation.flys.client.client.event.FilterHandler;
50 import de.intevation.flys.client.client.event.StringFilterEvent;
51 import de.intevation.flys.client.client.event.RangeFilterEvent;
52 50
53 51
54 public class DistancePanel extends AbstractUIProvider implements BlurHandler, FilterHandler 52 public class DistancePanel extends AbstractUIProvider implements BlurHandler, FilterHandler
55 { 53 {
54
55 private static final long serialVersionUID = -883142387908664588L;
56 56
57 public static final int DEFAULT_STEP_WIDTH = 100; 57 public static final int DEFAULT_STEP_WIDTH = 100;
58 58
59 public static final String FIELD_LOWER = "ld_from"; 59 public static final String FIELD_LOWER = "ld_from";
60 public static final String FIELD_UPPER = "ld_to"; 60 public static final String FIELD_UPPER = "ld_to";
91 } 91 }
92 92
93 93
94 @Override 94 @Override
95 public Canvas create(DataList data) { 95 public Canvas create(DataList data) {
96 Data d = data.get(0);
97
98 VLayout layout = new VLayout(); 96 VLayout layout = new VLayout();
99 layout.setMembersMargin(10); 97 layout.setMembersMargin(10);
100 98
101 Label label = new Label(getLabel()); 99 Label label = new Label(getLabel());
102 100
410 distancePanel.setStep(step); 408 distancePanel.setStep(step);
411 } 409 }
412 410
413 411
414 protected double getDefaultStep() { 412 protected double getDefaultStep() {
415 return (double) DEFAULT_STEP_WIDTH; 413 return DEFAULT_STEP_WIDTH;
416 } 414 }
417 415
418 416
419 protected double getDefaultValue(Data data) 417 protected double getDefaultValue(Data data)
420 throws NumberFormatException 418 throws NumberFormatException
440 url, river, "distances")); 438 url, river, "distances"));
441 locationsTable.setDataSource(new DistanceInfoDataSource( 439 locationsTable.setDataSource(new DistanceInfoDataSource(
442 url, river, "locations")); 440 url, river, "locations"));
443 441
444 distancesTable.addRecordClickHandler(new RecordClickHandler() { 442 distancesTable.addRecordClickHandler(new RecordClickHandler() {
443 @Override
445 public void onRecordClick(RecordClickEvent e) { 444 public void onRecordClick(RecordClickEvent e) {
446 Record r = e.getRecord(); 445 Record r = e.getRecord();
447 446
448 String from = r.getAttribute("from"); 447 String from = r.getAttribute("from");
449 String to = r.getAttribute("to"); 448 String to = r.getAttribute("to");
457 } 456 }
458 } 457 }
459 }); 458 });
460 459
461 locationsTable.addRecordClickHandler(new RecordClickHandler() { 460 locationsTable.addRecordClickHandler(new RecordClickHandler() {
461 @Override
462 public void onRecordClick(RecordClickEvent e) { 462 public void onRecordClick(RecordClickEvent e) {
463 Record r = e.getRecord(); 463 Record r = e.getRecord();
464 int field = e.getFieldNum(); 464 int field = e.getFieldNum();
465 465
466 try { 466 try {
509 509
510 SelectItem filterCriteria = new SelectItem(); 510 SelectItem filterCriteria = new SelectItem();
511 filterCriteria.setShowTitle(false); 511 filterCriteria.setShowTitle(false);
512 filterCriteria.setWidth(100); 512 filterCriteria.setWidth(100);
513 filterCriteria.addChangedHandler(new ChangedHandler() { 513 filterCriteria.addChangedHandler(new ChangedHandler() {
514 @Override
514 public void onChanged(ChangedEvent e) { 515 public void onChanged(ChangedEvent e) {
515 if(e.getValue().toString().equals("range")) { 516 if(e.getValue().toString().equals("range")) {
516 filterRange.setVisible(true); 517 filterRange.setVisible(true);
517 filterDescription.setVisible(false); 518 filterDescription.setVisible(false);
518 filterDescription.clear(); 519 filterDescription.clear();
542 filterLayout.addMember(form); 543 filterLayout.addMember(form);
543 filterLayout.addMember(filterDescription); 544 filterLayout.addMember(filterDescription);
544 filterLayout.addMember(filterRange); 545 filterLayout.addMember(filterRange);
545 filterLayout.setHeight(30); 546 filterLayout.setHeight(30);
546 tabs.addTabSelectedHandler(new TabSelectedHandler() { 547 tabs.addTabSelectedHandler(new TabSelectedHandler() {
548 @Override
547 public void onTabSelected(TabSelectedEvent evt) { 549 public void onTabSelected(TabSelectedEvent evt) {
548 filterDescription.clear(); 550 filterDescription.clear();
549 filterRange.clear(); 551 filterRange.clear();
550 filterResultCount.setValue(""); 552 filterResultCount.setValue("");
551 553
560 helperContainer.addMember(filterLayout); 562 helperContainer.addMember(filterLayout);
561 helperContainer.addMember(form2); 563 helperContainer.addMember(form2);
562 } 564 }
563 565
564 566
567 @Override
565 public void onFilterCriteriaChanged(StringFilterEvent event) { 568 public void onFilterCriteriaChanged(StringFilterEvent event) {
566 String search = event.getFilter(); 569 String search = event.getFilter();
567 570
568 if (search != null && search.length() > 0) { 571 if (search != null && search.length() > 0) {
569 Criteria c = new Criteria("description", search); 572 Criteria c = new Criteria("description", search);
577 filterResultCount.setValue(""); 580 filterResultCount.setValue("");
578 } 581 }
579 } 582 }
580 583
581 584
585 @Override
582 public void onFilterCriteriaChanged(RangeFilterEvent event) { 586 public void onFilterCriteriaChanged(RangeFilterEvent event) {
583 Float from = event.getFrom() - 0.001f; 587 Float from = event.getFrom() - 0.001f;
584 Float to = event.getTo() + 0.001f; 588 Float to = event.getTo() + 0.001f;
585 589
586 Criterion combinedFilter = null; 590 Criterion combinedFilter = null;

http://dive4elements.wald.intevation.org