Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java @ 9580:839b2aa84dd0
minuend/subtrahend-UI-switch
author | gernotbelger |
---|---|
date | Tue, 08 Jan 2019 17:01:09 +0100 |
parents | 1a4d2ce77423 |
children |
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; |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
10 |
9063 | 11 import java.util.LinkedHashMap; |
9173 | 12 import java.util.Map; |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
14 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
15 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
16 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
17 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
18 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
9063 | 20 import com.google.gwt.core.client.GWT; |
21 import com.smartgwt.client.widgets.Canvas; | |
22 import com.smartgwt.client.widgets.Label; | |
23 import com.smartgwt.client.widgets.form.DynamicForm; | |
24 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; | |
25 import com.smartgwt.client.widgets.layout.HLayout; | |
26 import com.smartgwt.client.widgets.layout.VLayout; | |
4184
03de5c424f95
Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents:
3547
diff
changeset
|
27 |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
28 public class RadioPanel extends AbstractUIProvider { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
29 |
4184
03de5c424f95
Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents:
3547
diff
changeset
|
30 private static final long serialVersionUID = 3357071563224461043L; |
03de5c424f95
Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents:
3547
diff
changeset
|
31 |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
32 protected DynamicForm form; |
9173 | 33 private final Map<String, String> valueLabelMap = new LinkedHashMap<String, String>(); |
3547
8a16ff3b9a7f
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3535
diff
changeset
|
34 |
9369 | 35 private final String datakey; |
36 | |
37 public RadioPanel(final String datakey) { | |
38 this.datakey = datakey; | |
39 } | |
40 | |
41 protected final String getDatakey() { | |
42 return this.datakey; | |
43 } | |
44 | |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 @Override |
9063 | 46 public Canvas createOld(final DataList dataList) { |
47 final HLayout layout = new HLayout(); | |
9369 | 48 for (final Data data : dataList.getAll()) { |
49 if (this.datakey.equals(data.getLabel())) { | |
50 final DataItem[] items = data.getItems(); | |
51 // hat Einfluss auf Layout in der Übersicht (oben) nach Setzen des Wertes für den State | |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 |
9369 | 53 final Label label = new Label(dataList.getLabel()); |
54 final Label value = new Label(items[0].getLabel()); | |
55 layout.setWidth(400); | |
56 label.setWidth(200); // nicht ändern; scheint wohl ne Konstante zu sein! | |
57 value.setWidth(180); // änderbar | |
58 layout.setHeight(35); | |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 |
9369 | 60 layout.addMember(label); |
61 layout.addMember(value); | |
62 layout.addMember(getBackButton(dataList.getState())); | |
63 | |
64 } | |
65 } | |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 return layout; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 @Override |
9063 | 70 public Canvas create(final DataList dataList) { |
71 final VLayout layout = new VLayout(); | |
9369 | 72 for (final Data data : dataList.getAll()) { |
73 if (this.datakey.equals(data.getLabel())) { | |
74 final DataItem[] items = data.getItems(); | |
75 | |
76 final Label label = new Label(data.getDescription()); | |
77 label.setWrap(false); | |
78 final RadioGroupItem rgi = new RadioGroupItem("selection"); | |
79 rgi.setWrapTitle(false); | |
80 rgi.setWrap(false); | |
81 rgi.setShowTitle(false); | |
82 GWT.log("items: " + items.length); | |
83 final LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>(); | |
84 for (final DataItem item : items) { | |
85 GWT.log(item.getStringValue() + "; " + item.getLabel()); | |
86 if (!item.getLabel().startsWith("ignore_")) { | |
87 elems.put(item.getStringValue(), item.getLabel()); | |
88 this.valueLabelMap.put(item.getStringValue(), item.getLabel()); | |
89 } | |
90 } | |
91 rgi.setValueMap(elems); | |
92 rgi.setDefaultValue(items[0].getStringValue()); | |
93 | |
94 this.form = new DynamicForm(); | |
95 this.form.setFields(rgi); | |
96 layout.setMembersMargin(10); | |
97 layout.setHeight(35); | |
98 label.setHeight(35); | |
99 layout.setWidth(300); | |
100 label.setWidth(300); | |
101 | |
102 layout.addMember(label); | |
103 layout.addMember(this.form); | |
104 layout.addMember(getNextButton()); | |
105 layout.setMembersMargin(10); | |
106 | |
9267 | 107 } |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
108 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
109 return layout; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
110 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
111 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
112 @Override |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
113 protected Data[] getData() { |
9063 | 114 final String value = this.form.getValueAsString("selection"); |
9173 | 115 |
116 final DataItem item = new DefaultDataItem("label_irrelevant", "description_irrelevant", value); | |
117 | |
9369 | 118 return new Data[] { new DefaultData(this.datakey, "label_no_effect", "description_no_effect", new DataItem[] { item }) |
119 | |
9173 | 120 }; |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
121 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
122 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
123 } |