annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java @ 9063:b6919e3c2d86

work on uinfo-inundation_duration states
author gernotbelger
date Tue, 08 May 2018 15:21:23 +0200
parents 5e38e2924c07
children b5d7a9d79837
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;
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
12
5835
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
13 import org.dive4elements.river.client.shared.model.Data;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
14 import org.dive4elements.river.client.shared.model.DataItem;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
15 import org.dive4elements.river.client.shared.model.DataList;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
16 import org.dive4elements.river.client.shared.model.DefaultData;
821a02bbfb4e Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents: 5834
diff changeset
17 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
18
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
19 import com.google.gwt.core.client.GWT;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
20 import com.smartgwt.client.widgets.Canvas;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
21 import com.smartgwt.client.widgets.Label;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
22 import com.smartgwt.client.widgets.form.DynamicForm;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
23 import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
24 import com.smartgwt.client.widgets.layout.HLayout;
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
25 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
26
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
27 public class RadioPanel extends AbstractUIProvider {
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
28
4184
03de5c424f95 Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents: 3547
diff changeset
29 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
30
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
31 protected String dataName;
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
32 protected DynamicForm form;
3547
8a16ff3b9a7f Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 3535
diff changeset
33
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
34 @Override
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
35 public Canvas createOld(final DataList dataList) {
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
36 final Data data = dataList.get(0);
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
37 final DataItem[] items = data.getItems();
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
38
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
39 final HLayout layout = new HLayout();
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
40 final Label label = new Label(dataList.getLabel());
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
41 final Label value = new Label(items[0].getLabel());
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
42
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
43 layout.setHeight(35); // 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
44 layout.setWidth(400);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
45 label.setWidth(200);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
46
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
47 layout.addMember(label);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
48 layout.addMember(value);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
49 layout.addMember(getBackButton(dataList.getState()));
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
50
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
51 return layout;
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
52 }
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
53
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
54 @Override
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
55 public Canvas create(final DataList dataList) {
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
56 final Data data = dataList.get(0);
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
57 final DataItem[] items = data.getItems();
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
58
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
59 this.dataName = data.getLabel();
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
60
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
61 final VLayout layout = new VLayout();
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
62 final Label label = new Label(data.getDescription());
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
63 final RadioGroupItem rgi = new RadioGroupItem("selection");
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
64 rgi.setShowTitle(false);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
65 GWT.log("items: " + items.length);
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
66 final LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>();
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
67 for (final DataItem item : items) {
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
68 GWT.log(item.getStringValue() + "; " + item.getLabel());
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
69 elems.put(item.getStringValue(), item.getLabel());
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
70 }
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
71 rgi.setValueMap(elems);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
72 rgi.setDefaultValue(items[0].getStringValue());
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
73
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
74 this.form = new DynamicForm();
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
75 this.form.setFields(rgi);
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
76 layout.setMembersMargin(10);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
77 layout.setHeight(35);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
78 label.setHeight(35);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
79
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
80 layout.addMember(label);
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
81 layout.addMember(this.form);
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
82 layout.addMember(getNextButton());
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
83 layout.setMembersMargin(10);
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
84
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
85 // initDefaultValues(dataList);
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
86
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
87 return layout;
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
88 }
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
89
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
90 @Override
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
91 protected Data[] getData() {
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
92 final String value = this.form.getValueAsString("selection");
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
93 final DataItem item = new DefaultDataItem(this.dataName, this.dataName, value);
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
94 return new Data[] { new DefaultData(this.dataName, null, null, new DataItem[] { item }) };
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
95 }
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
96
9063
b6919e3c2d86 work on uinfo-inundation_duration states
gernotbelger
parents: 8856
diff changeset
97 protected String getTitle(final DataItem item) {
3508
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
98 return item.getLabel();
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
99 }
60984be9bcfa MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff changeset
100 }

http://dive4elements.wald.intevation.org