Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/LocationPicker.java @ 7602:c50dbbe17950
issue1596: Store table (cell) data twice: Once as (formatted) string
as coming from server, once transformed into float (or string).
The benefit is that now we can sort table data numerically, while keeping
the formatted and i18ned display of values.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 27 Nov 2013 14:55:25 +0100 |
parents | ea9eef426962 |
children | d1cfd23e35cd |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
10 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
11 import java.util.LinkedHashMap; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
12 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
13 import com.google.gwt.core.client.GWT; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
14 import com.google.gwt.i18n.client.NumberFormat; |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
15 import com.smartgwt.client.data.AdvancedCriteria; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.data.Criteria; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.data.Criterion; |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
18 import com.smartgwt.client.types.Alignment; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
19 import com.smartgwt.client.types.ListGridFieldType; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.types.OperatorId; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
21 import com.smartgwt.client.widgets.form.DynamicForm; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.form.fields.SelectItem; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
23 import com.smartgwt.client.widgets.form.fields.StaticTextItem; |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
24 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
25 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
26 import com.smartgwt.client.widgets.grid.CellFormatter; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
27 import com.smartgwt.client.widgets.grid.ListGrid; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
28 import com.smartgwt.client.widgets.grid.ListGridField; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
29 import com.smartgwt.client.widgets.grid.ListGridRecord; |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
30 import com.smartgwt.client.widgets.grid.events.CellClickHandler; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
31 import com.smartgwt.client.widgets.layout.HLayout; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
32 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
33 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
34 import org.dive4elements.river.client.client.event.FilterHandler; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
35 import org.dive4elements.river.client.client.event.RangeFilterEvent; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
36 import org.dive4elements.river.client.client.event.StringFilterEvent; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
37 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
38 /** |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
39 * Bundle widgets and handler for a lacation input helper. |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
40 * |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
41 * Note that the construction is weird and driven by issues that arose due to |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
42 * reasons not understood. |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
43 */ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
44 public class LocationPicker |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
45 implements FilterHandler |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
46 { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
47 /** The message class that provides i18n strings.*/ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
48 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
49 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
50 /** The locations table. */ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
51 protected ListGrid locationTable; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
52 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
53 protected HLayout filterLayout; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
54 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
55 DynamicForm resultCountForm; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
56 |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
57 CellClickHandler handler; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
58 |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
59 boolean isDistance = false; |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
60 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
61 /** Text to show number of matched items when filtered. */ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
62 protected StaticTextItem filterResultCount; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
63 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
64 |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
65 public LocationPicker(CellClickHandler handler) { |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
66 locationTable = new ListGrid(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
67 locationTable.setShowHeaderContextMenu(false); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
68 this.handler = handler; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
69 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
70 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
71 public void prepareFilter() { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
72 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
73 filterResultCount = new StaticTextItem(MSG.resultCount()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
74 filterResultCount.setTitleAlign(Alignment.LEFT); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
75 filterResultCount.setTitleStyle("color: #000"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
76 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
77 final TableFilter filter = new TableFilter(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
78 filter.setHeight("30px"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
79 filter.addFilterHandler(this); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
80 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
81 final RangeTableFilter filterRange = new RangeTableFilter(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
82 filterRange.setHeight("30px"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
83 filterRange.addFilterHandler(this); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
84 filterRange.setVisible(false); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
85 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
86 SelectItem filterCriteria = new SelectItem(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
87 filterCriteria.setShowTitle(false); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
88 filterCriteria.setWidth(100); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
89 filterCriteria.addChangedHandler(new ChangedHandler() { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
90 public void onChanged(ChangedEvent e) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
91 if(e.getValue().toString().equals("range")) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
92 filterRange.setVisible(true); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
93 filter.setVisible(false); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
94 filter.clear(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
95 filterResultCount.setValue(""); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
96 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
97 else { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
98 filterRange.setVisible(false); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
99 filterRange.clear(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
100 filter.setVisible(true); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
101 filterResultCount.setValue(""); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
102 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
103 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
104 }); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
105 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
106 LinkedHashMap<String, String> filterMap = |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
107 new LinkedHashMap<String, String>(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
108 filterMap.put("description", MSG.description()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
109 filterMap.put("range", MSG.range()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
110 filterCriteria.setValueMap(filterMap); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
111 filterCriteria.setValue("description"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
112 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
113 DynamicForm form = new DynamicForm(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
114 form.setFields(filterCriteria); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
115 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
116 resultCountForm = new DynamicForm(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
117 resultCountForm.setFields(filterResultCount); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
118 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
119 filterLayout = new HLayout(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
120 filterLayout.addMember(form); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
121 filterLayout.addMember(filter); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
122 filterLayout.addMember(filterRange); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
123 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
124 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
125 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
126 /** Access the main widget, a table in which locations can be chosen. */ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
127 public ListGrid getLocationTable() { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
128 return locationTable; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
129 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
130 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
131 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
132 /** Access the 'form' that shows the filter result count. */ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
133 public DynamicForm getResultCountForm() { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
134 return resultCountForm; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
135 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
136 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
137 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
138 /** Access the layout containing filter stuff. */ |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
139 public HLayout getFilterLayout() { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
140 return filterLayout; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
141 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
142 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
143 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
144 /** |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
145 * This method creates a table that contains the location values. |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
146 */ |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
147 public void createLocationTable(/*RecordClickHandler handler*/) { |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
148 GWT.log("Create Location Table in LocationPicker"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
149 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
150 String baseUrl = GWT.getHostPageBaseURL(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
151 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
152 locationTable.setWidth100(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
153 locationTable.setShowRecordComponents(true); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
154 locationTable.setShowRecordComponentsByCell(true); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
155 locationTable.setHeight100(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
156 locationTable.setEmptyMessage(MSG.empty_filter()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
157 locationTable.setCanReorderFields(false); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
158 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
159 ListGridField addLocation = new ListGridField ("", ""); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
160 addLocation.setType (ListGridFieldType.ICON); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
161 addLocation.setWidth (20); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
162 addLocation.setCellIcon (baseUrl + MSG.markerGreen()); |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
163 ListGridField addTo = new ListGridField ("", ""); |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
164 addTo.setType (ListGridFieldType.ICON); |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
165 addTo.setWidth (20); |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
166 addTo.setCellIcon (baseUrl + MSG.markerRed()); |
4736
b195fede1c3b
Remove trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4221
diff
changeset
|
167 |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
168 ListGridField ldescr = new ListGridField("description", |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
169 MSG.description()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
170 ldescr.setType(ListGridFieldType.TEXT); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
171 ldescr.setWidth("*"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
172 ListGridField lside = new ListGridField("riverside", |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
173 MSG.riverside()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
174 lside.setType(ListGridFieldType.TEXT); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
175 lside.setWidth("10%"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
176 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
177 ListGridField loc = new ListGridField("from", MSG.location()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
178 loc.setCellFormatter(new CellFormatter() { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
179 public String format( |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
180 Object value, |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
181 ListGridRecord record, |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
182 int rowNum, int colNum) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
183 if (value == null) return null; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
184 try { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
185 NumberFormat nf; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
186 double v = Double.parseDouble((String)value); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
187 nf = NumberFormat.getFormat("###0.00##"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
188 return nf.format(v); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
189 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
190 catch (Exception e) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
191 return value.toString(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
192 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
193 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
194 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
195 ); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
196 loc.setType(ListGridFieldType.FLOAT); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
197 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
198 loc.setWidth("10%"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
199 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
200 ListGridField bottom = |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
201 new ListGridField("bottom", MSG.bottom_edge()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
202 bottom.setType(ListGridFieldType.TEXT); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
203 bottom.setWidth("10%"); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
204 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
205 ListGridField top = |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
206 new ListGridField("top", MSG.top_edge()); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
207 top.setType(ListGridFieldType.TEXT); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
208 top.setWidth("10%"); |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
209 locationTable.addCellClickHandler(handler); |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
210 if (isDistance) { |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
211 locationTable.setFields( |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
212 addLocation, addTo, ldescr, loc, lside, bottom, top); |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
213 } |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
214 else { |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
215 locationTable.setFields( |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
216 addLocation, ldescr, loc, lside, bottom, top); |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
217 } |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
218 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
219 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
220 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
221 @Override |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
222 public void onFilterCriteriaChanged(StringFilterEvent event) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
223 String search = event.getFilter(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
224 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
225 if (search != null && search.length() > 0) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
226 Criteria c = new Criteria("description", search); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
227 locationTable.filterData(c); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
228 filterResultCount.setValue(locationTable.getRecords().length); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
229 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
230 else { |
2454
99bd77501188
Issue 514.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1590
diff
changeset
|
231 locationTable.clearCriteria(); |
99bd77501188
Issue 514.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1590
diff
changeset
|
232 filterResultCount.setValue(""); |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
233 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
234 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
235 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
236 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
237 @Override |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
238 public void onFilterCriteriaChanged(RangeFilterEvent event) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
239 Float from = event.getFrom() - 0.001f; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
240 Float to = event.getTo() + 0.001f; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
241 |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
242 Criterion combinedFilter = null; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
243 if (from.equals(Float.NaN) && to.equals(Float.NaN)) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
244 locationTable.clearCriteria(); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
245 filterResultCount.setValue(""); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
246 return; |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
247 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
248 else if (from.equals(Float.NaN)) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
249 combinedFilter = |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
250 new Criterion("from", OperatorId.LESS_OR_EQUAL, to); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
251 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
252 else if (to.equals(Float.NaN)) { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
253 combinedFilter = |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
254 new Criterion("from", OperatorId.GREATER_OR_EQUAL, from); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
255 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
256 else { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
257 combinedFilter = |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
258 new AdvancedCriteria(OperatorId.AND, new Criterion[] { |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
259 new Criterion("from", OperatorId.GREATER_OR_EQUAL, from), |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
260 new Criterion("from", OperatorId.LESS_OR_EQUAL, to) |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
261 }); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
262 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
263 locationTable.filterData(combinedFilter); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
264 filterResultCount.setValue(locationTable.getRecords().length); |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
265 } |
4221
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
266 |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
267 public void setIsDistance(boolean value) { |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
268 this.isDistance = value; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
269 } |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
270 |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
271 public boolean isDistance() { |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
272 return this.isDistance; |
480de0dbca8e
Extended location input helper.
Raimund Renkert <rrenkert@intevation.de>
parents:
2454
diff
changeset
|
273 } |
1590
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
274 } |
4b773cfd11b5
Refactoring to ease code-reuse.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
diff
changeset
|
275 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |