annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java @ 9369:1a4d2ce77423

radio choice fix
author gernotbelger
date Thu, 02 Aug 2018 17:39:13 +0200
parents c7e5285d434f
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
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
11 import java.util.LinkedHashMap;
9173
2ec912345359 little work on uinfo.inundationduration
gernotbelger
parents: 9066
diff changeset
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
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
20 import com.google.gwt.core.client.GWT;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
21 import com.smartgwt.client.widgets.Canvas;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
22 import com.smartgwt.client.widgets.Label;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
23 import com.smartgwt.client.widgets.form.DynamicForm;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
24 import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
25 import com.smartgwt.client.widgets.layout.HLayout;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
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
2ec912345359 little work on uinfo.inundationduration
gernotbelger
parents: 9066
diff changeset
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
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
35 private final String datakey;
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
36
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
37 public RadioPanel(final String datakey) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
38 this.datakey = datakey;
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
39 }
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
40
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
41 protected final String getDatakey() {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
42 return this.datakey;
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
43 }
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
44
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 @Override
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
46 public Canvas createOld(final DataList dataList) {
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
47 final HLayout layout = new HLayout();
9369
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
48 for (final Data data : dataList.getAll()) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
49 if (this.datakey.equals(data.getLabel())) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
50 final DataItem[] items = data.getItems();
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
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
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
53 final Label label = new Label(dataList.getLabel());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
54 final Label value = new Label(items[0].getLabel());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
55 layout.setWidth(400);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
56 label.setWidth(200); // nicht ändern; scheint wohl ne Konstante zu sein!
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
57 value.setWidth(180); // änderbar
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
58 layout.setHeight(35);
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59
9369
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
60 layout.addMember(label);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
61 layout.addMember(value);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
62 layout.addMember(getBackButton(dataList.getState()));
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
63
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
64 }
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
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
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
70 public Canvas create(final DataList dataList) {
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
71 final VLayout layout = new VLayout();
9369
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
72 for (final Data data : dataList.getAll()) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
73 if (this.datakey.equals(data.getLabel())) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
74 final DataItem[] items = data.getItems();
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
75
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
76 final Label label = new Label(data.getDescription());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
77 label.setWrap(false);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
78 final RadioGroupItem rgi = new RadioGroupItem("selection");
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
79 rgi.setWrapTitle(false);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
80 rgi.setWrap(false);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
81 rgi.setShowTitle(false);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
82 GWT.log("items: " + items.length);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
83 final LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>();
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
84 for (final DataItem item : items) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
85 GWT.log(item.getStringValue() + "; " + item.getLabel());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
86 if (!item.getLabel().startsWith("ignore_")) {
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
87 elems.put(item.getStringValue(), item.getLabel());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
88 this.valueLabelMap.put(item.getStringValue(), item.getLabel());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
89 }
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
90 }
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
91 rgi.setValueMap(elems);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
92 rgi.setDefaultValue(items[0].getStringValue());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
93
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
94 this.form = new DynamicForm();
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
95 this.form.setFields(rgi);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
96 layout.setMembersMargin(10);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
97 layout.setHeight(35);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
98 label.setHeight(35);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
99 layout.setWidth(300);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
100 label.setWidth(300);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
101
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
102 layout.addMember(label);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
103 layout.addMember(this.form);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
104 layout.addMember(getNextButton());
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
105 layout.setMembersMargin(10);
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
106
9267
c7e5285d434f bundu bezugswst work
gernotbelger
parents: 9173
diff changeset
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
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
114 final String value = this.form.getValueAsString("selection");
9173
2ec912345359 little work on uinfo.inundationduration
gernotbelger
parents: 9066
diff changeset
115
2ec912345359 little work on uinfo.inundationduration
gernotbelger
parents: 9066
diff changeset
116 final DataItem item = new DefaultDataItem("label_irrelevant", "description_irrelevant", value);
2ec912345359 little work on uinfo.inundationduration
gernotbelger
parents: 9066
diff changeset
117
9369
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
118 return new Data[] { new DefaultData(this.datakey, "label_no_effect", "description_no_effect", new DataItem[] { item })
1a4d2ce77423 radio choice fix
gernotbelger
parents: 9267
diff changeset
119
9173
2ec912345359 little work on uinfo.inundationduration
gernotbelger
parents: 9066
diff changeset
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 }

http://dive4elements.wald.intevation.org