Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/TableFilter.java @ 4205:0dd8963cec9c
Set also the width of the GaugeTree when resizing the GaugePanel
GWT is no longer able to calculate and set the correct width of the GaugeTree since
the GaugeTree is added via a Canvas wrapper. Therefore set the width manually
when resizing the GaugeTree.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 15:33:16 +0200 |
parents | 98123d34529b |
children |
rev | line source |
---|---|
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
2 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
3 import java.util.ArrayList; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
4 import java.util.List; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
5 |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
6 import com.google.gwt.core.client.GWT; |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
7 |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
8 import com.smartgwt.client.widgets.form.DynamicForm; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
9 import com.smartgwt.client.widgets.form.fields.TextItem; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
11 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
12 import com.smartgwt.client.widgets.form.fields.events.KeyUpEvent; |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
13 import com.smartgwt.client.widgets.form.fields.events.KeyUpHandler; |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.HLayout; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.client.client.event.FilterHandler; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.client.client.event.StringFilterEvent; |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
18 import de.intevation.flys.client.client.FLYSConstants; |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
20 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
21 /** |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
22 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
23 */ |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
24 public class TableFilter |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
25 extends HLayout |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
26 implements ChangedHandler, KeyUpHandler |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
27 { |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
28 /** The message class that provides i18n strings. */ |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
29 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
30 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
31 protected List<FilterHandler> handlers; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 protected TextItem searchfield; |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
34 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 public TableFilter() { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 super(); |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
38 searchfield = new TextItem(MESSAGES.search()); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 handlers = new ArrayList<FilterHandler>(); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 searchfield.addChangedHandler(this); |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
42 searchfield.addKeyUpHandler(this); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1261
diff
changeset
|
43 searchfield.setWidth(120); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 DynamicForm form = new DynamicForm(); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 form.setFields(searchfield); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 addMember(form); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 public void onChanged(ChangedEvent event) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
53 // This event handler is to slow... |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
54 // fireFilterCriteriaChanged(getSearchString()); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
58 public void onKeyUp(KeyUpEvent event) { |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 //To deactivate "As you type" filter add |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 // ' && event.getKeyName().equals("Enter")' |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 // to the if-clause. |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 if (event != null) { |
869
94d9c8353ca9
Fixed the filter function and the helper panel.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
863
diff
changeset
|
63 fireFilterCriteriaChanged(getSearchString()); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 public String getSearchString() { |
875
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
69 if (searchfield.getValueAsString() == null) { |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
70 return ""; |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
71 } |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
72 else { |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
73 return searchfield.getValueAsString(); |
a77958780e1c
Updated the search field style including i18n and changed the handler
Raimund Renkert <raimund.renkert@intevation.de>
parents:
871
diff
changeset
|
74 } |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 public void addFilterHandler(FilterHandler handler) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 if (handler != null) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 handlers.add(handler); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 protected void fireFilterCriteriaChanged(String searchstring) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 StringFilterEvent filter = new StringFilterEvent(searchstring); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 for (FilterHandler handler: handlers) { |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
89 handler.onFilterCriteriaChanged(filter); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
90 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 } |
893
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
92 |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
93 |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
94 public void clear() { |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
95 searchfield.clearValue(); |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
96 fireFilterCriteriaChanged(""); |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
875
diff
changeset
|
97 } |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |