annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DistancePanelInputHelper.java @ 9237:972e10522ed6

salix.supraregional ui
author gernotbelger
date Tue, 10 Jul 2018 11:24:12 +0200
parents
children
rev   line source
9237
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
2 * Software engineering by Intevation GmbH
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
3 *
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
4 * This file is Free Software under the GNU AGPL (>=v3)
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
6 * documentation coming with Dive4Elements River for details.
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
7 */
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
8
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
9 package org.dive4elements.river.client.client.ui;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
10
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
11 import java.util.LinkedHashMap;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
12
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
13 import org.dive4elements.river.client.client.Config;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
14 import org.dive4elements.river.client.client.FLYSConstants;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
15 import org.dive4elements.river.client.client.event.FilterHandler;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
16 import org.dive4elements.river.client.client.event.RangeFilterEvent;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
17 import org.dive4elements.river.client.client.event.StringFilterEvent;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
18 import org.dive4elements.river.client.client.ui.range.DistanceInfoDataSource;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
19 import org.dive4elements.river.client.client.ui.range.LocationsTable;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
20 import org.dive4elements.river.client.client.ui.range.RangeTable;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
21
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
22 import com.smartgwt.client.data.AdvancedCriteria;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
23 import com.smartgwt.client.data.Criteria;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
24 import com.smartgwt.client.data.Criterion;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
25 import com.smartgwt.client.types.Alignment;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
26 import com.smartgwt.client.types.OperatorId;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
27 import com.smartgwt.client.widgets.Canvas;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
28 import com.smartgwt.client.widgets.form.DynamicForm;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
29 import com.smartgwt.client.widgets.form.fields.SelectItem;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
30 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
31 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
32 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
33 import com.smartgwt.client.widgets.grid.ListGrid;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
34 import com.smartgwt.client.widgets.layout.HLayout;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
35 import com.smartgwt.client.widgets.layout.VLayout;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
36 import com.smartgwt.client.widgets.tab.Tab;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
37 import com.smartgwt.client.widgets.tab.TabSet;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
38 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
39 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
40
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
41 /** Panel to allow input of distance for calculation range. */
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
42 public class DistancePanelInputHelper implements FilterHandler {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
43
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
44 private RangeTable distancesTable;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
45 private LocationsTable locationsTable;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
46 private TabSet tabs;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
47 private StaticTextItem filterResultCount;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
48 private TableFilter filterDescription;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
49 private RangeTableFilter filterRange;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
50 private ListGrid currentFiltered;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
51 protected final VLayout helperContainer;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
52 private final FLYSConstants MSG;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
53 private final String river;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
54
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
55 public DistancePanelInputHelper(final FLYSConstants MSG, final VLayout helperContainer, final String river) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
56 this.MSG = MSG;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
57 this.helperContainer = helperContainer;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
58 this.river = river;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
59
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
60 initHelperPanel(); // copy from DistancePanel
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
61 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
62
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
63 protected void initHelperPanel() {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
64 this.distancesTable = new RangeTable();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
65 this.locationsTable = new LocationsTable();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
66
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
67 final Config config = Config.getInstance();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
68 final String url = config.getServerUrl();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
69 // final String river = getRiverName();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
70
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
71 this.distancesTable.setAutoFetchData(true);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
72 this.locationsTable.setAutoFetchData(true);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
73 this.distancesTable.setDataSource(new DistanceInfoDataSource(url, this.river, "distances"));
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
74 this.locationsTable.setDataSource(new DistanceInfoDataSource(url, this.river, "locations"));
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
75
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
76 // recordClickHandlers were here
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
77
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
78 this.tabs = new TabSet();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
79 this.tabs.setWidth100();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
80 this.tabs.setHeight100();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
81
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
82 final Tab locations = new Tab(this.MSG.locations());
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
83 final Tab distances = new Tab(this.MSG.distance());
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
84
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
85 locations.setPane(this.locationsTable);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
86 distances.setPane(this.distancesTable);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
87
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
88 this.tabs.addTab(locations, 0);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
89 this.tabs.addTab(distances, 1);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
90
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
91 this.filterResultCount = new StaticTextItem(this.MSG.resultCount());
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
92 this.filterResultCount.setTitleAlign(Alignment.LEFT);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
93 this.filterResultCount.setTitleStyle("color: #000");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
94
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
95 this.filterDescription = new TableFilter();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
96 this.filterDescription.setHeight("30px");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
97 this.filterDescription.addFilterHandler(this);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
98
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
99 this.filterRange = new RangeTableFilter();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
100 this.filterRange.setHeight("30px");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
101 this.filterRange.addFilterHandler(this);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
102 this.filterRange.setVisible(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
103
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
104 final SelectItem filterCriteria = new SelectItem();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
105 filterCriteria.setShowTitle(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
106 filterCriteria.setWidth(100);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
107 filterCriteria.addChangedHandler(new ChangedHandler() {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
108 @Override
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
109 public void onChanged(final ChangedEvent e) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
110 if (e.getValue().toString().equals("range")) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
111 DistancePanelInputHelper.this.filterRange.setVisible(true);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
112 DistancePanelInputHelper.this.filterDescription.setVisible(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
113 DistancePanelInputHelper.this.filterDescription.clear();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
114 } else {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
115 DistancePanelInputHelper.this.filterRange.setVisible(false);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
116 DistancePanelInputHelper.this.filterRange.clear();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
117 DistancePanelInputHelper.this.filterDescription.setVisible(true);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
118 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
119 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
120 });
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
121
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
122 final LinkedHashMap<String, String> filterMap = new LinkedHashMap<String, String>();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
123 filterMap.put("description", this.MSG.description());
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
124 filterMap.put("range", this.MSG.range());
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
125 filterCriteria.setValueMap(filterMap);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
126 filterCriteria.setValue("description");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
127
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
128 final DynamicForm form = new DynamicForm();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
129 form.setFields(filterCriteria);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
130
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
131 final DynamicForm form2 = new DynamicForm();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
132 form2.setFields(this.filterResultCount);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
133
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
134 final HLayout filterLayout = new HLayout();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
135 filterLayout.addMember(form);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
136 filterLayout.addMember(this.filterDescription);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
137 filterLayout.addMember(this.filterRange);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
138 filterLayout.setHeight(30);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
139 this.tabs.addTabSelectedHandler(new TabSelectedHandler() {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
140 @Override
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
141 public void onTabSelected(final TabSelectedEvent evt) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
142 DistancePanelInputHelper.this.filterDescription.clear();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
143 DistancePanelInputHelper.this.filterRange.clear();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
144 DistancePanelInputHelper.this.filterResultCount.setValue("");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
145
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
146 final Canvas c = evt.getTabPane();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
147 if (c instanceof ListGrid) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
148 DistancePanelInputHelper.this.currentFiltered = (ListGrid) c;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
149 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
150 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
151 });
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
152
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
153 this.helperContainer.addMember(this.tabs);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
154 this.helperContainer.addMember(filterLayout);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
155 this.helperContainer.addMember(form2);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
156 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
157
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
158 @Override
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
159 public void onFilterCriteriaChanged(final StringFilterEvent event) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
160 final String search = event.getFilter();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
161
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
162 if (search != null && search.length() > 0) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
163 final Criteria c = new Criteria("description", search);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
164 this.locationsTable.filterData(c);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
165 this.distancesTable.filterData(c);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
166 this.filterResultCount.setValue(this.currentFiltered.getRecords().length);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
167 } else {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
168 this.locationsTable.clearCriteria();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
169 this.distancesTable.clearCriteria();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
170 this.filterResultCount.setValue("");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
171 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
172 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
173
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
174 @Override
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
175 public void onFilterCriteriaChanged(final RangeFilterEvent event) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
176 final Float from = event.getFrom() - 0.001f;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
177 final Float to = event.getTo() + 0.001f;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
178
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
179 Criterion combinedFilter = null;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
180 Criterion locationFilter = null;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
181
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
182 if (from.equals(Float.NaN) && to.equals(Float.NaN)) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
183 this.locationsTable.clearCriteria();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
184 this.distancesTable.clearCriteria();
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
185 this.filterResultCount.setValue("");
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
186 return;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
187 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
188
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
189 if (from.equals(Float.NaN)) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
190 combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
191
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
192 locationFilter = new Criterion("from", OperatorId.LESS_OR_EQUAL, to);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
193
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
194 this.locationsTable.filterData(locationFilter);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
195 this.distancesTable.filterData(combinedFilter);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
196 this.filterResultCount.setValue(this.currentFiltered.getRecords().length);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
197 return;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
198 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
199
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
200 if (to.equals(Float.NaN)) {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
201 combinedFilter = new Criterion("from", OperatorId.GREATER_OR_EQUAL, from);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
202 } else {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
203 final AdvancedCriteria c1 = new AdvancedCriteria(OperatorId.AND,
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
204 new Criterion[] { new Criterion("from", OperatorId.GREATER_OR_EQUAL, from), new Criterion("from", OperatorId.LESS_OR_EQUAL, to) });
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
205
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
206 final AdvancedCriteria c2 = new AdvancedCriteria(OperatorId.AND,
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
207 new Criterion[] { new Criterion("to", OperatorId.GREATER_OR_EQUAL, from), new Criterion("to", OperatorId.LESS_OR_EQUAL, to) });
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
208
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
209 final AdvancedCriteria c3 = new AdvancedCriteria(OperatorId.AND,
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
210 new Criterion[] { new Criterion("from", OperatorId.LESS_OR_EQUAL, to), new Criterion("to", OperatorId.GREATER_OR_EQUAL, from) });
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
211
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
212 combinedFilter = new AdvancedCriteria(OperatorId.OR, new Criterion[] { c1, c2, c3 });
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
213 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
214 this.locationsTable.filterData(combinedFilter);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
215 this.distancesTable.filterData(combinedFilter);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
216 this.filterResultCount.setValue(this.currentFiltered.getRecords().length);
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
217
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
218 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
219
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
220 public ListGrid getDistancesTable() {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
221 return this.distancesTable;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
222 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
223
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
224 public ListGrid getLocationsTable() {
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
225 return this.locationsTable;
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
226 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
227
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
228 }
972e10522ed6 salix.supraregional ui
gernotbelger
parents:
diff changeset
229 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org