annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/BooleanPanel.java @ 4198:1cdbd8a0c994

Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation. The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks. In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1 icon, RANGE 2 icons for lower and upper.
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Mon, 22 Oct 2012 13:31:25 +0200
parents 360e22afb98b
children
rev   line source
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
3 import com.smartgwt.client.types.FieldType;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import com.smartgwt.client.widgets.Canvas;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
5 import com.smartgwt.client.widgets.Label;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6 import com.smartgwt.client.widgets.layout.VLayout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 import de.intevation.flys.client.shared.model.Data;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
9 import de.intevation.flys.client.shared.model.DataItem;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10 import de.intevation.flys.client.shared.model.DataList;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
11
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12 /**
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
13 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 */
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
15 public class BooleanPanel extends TextProvider {
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 815
diff changeset
17 private static final long serialVersionUID = -8448442865635399232L;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 815
diff changeset
18
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
19 public static final String FIELD_NAME = "boolean_field";
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
20 public static final int TITLE_WIDTH = 0;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 protected String dataName;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
23
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
25 @Override
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26 public Canvas create(DataList dataList) {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27 Data data = dataList.get(0);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 DataItem[] items = data.getItems();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 this.dataName = data.getLabel();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
32 VLayout layout = new VLayout();
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 Label label = new Label(data.getDescription());
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
34 Canvas form = createForm(getTitle(items[0]));
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
35
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
36 layout.setMembersMargin(10);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 layout.setHeight(35);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 label.setHeight(35);
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 layout.addMember(label);
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
41 layout.addMember(form);
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
42 layout.addMember(getNextButton());
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
43 layout.setMembersMargin(10);
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44
794
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
45 initDefaultValues(dataList);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
46
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 return layout;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
51 protected String getTitle(DataItem item) {
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
52 return item.getLabel();
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 @Override
794
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
57 protected void initDefaultValues(DataList dataList) {
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
58 Data data = dataList.get(0);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
59 DataItem item = data.getDefault();
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
60
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
61 String value = item.getStringValue();
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
62 Boolean bool = Boolean.valueOf(value);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
63
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
64 if (bool) {
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
65 form.setValue(getFieldName(), bool);
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
66 }
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
67 }
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
68
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
69
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
70 @Override
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
71 protected FieldType getFieldType() {
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
72 return FieldType.BOOLEAN;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
76 @Override
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
77 protected String getFieldName() {
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
78 return FIELD_NAME;
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
79 }
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
80
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
81
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
82 @Override
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
83 protected String getDataName() {
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
84 return dataName;
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
85 }
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
86
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
87
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
88 @Override
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
89 protected String getValueAsString() {
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
90 Boolean aBool = (Boolean) form.getValue(getFieldName());
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
91
794
40269a176cd2 Set default values in the BooleanPanel, TextProvider and AutoIntegerPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 792
diff changeset
92 return aBool != null ? aBool.toString() : "false";
792
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
93 }
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
94
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
95
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
96 @Override
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
97 protected int getTitleWidth() {
696e3404e991 Finished the panel to activate/deactivate optional parameters.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 787
diff changeset
98 return TITLE_WIDTH;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
100 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org