Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java @ 8619:156980fb3cb9
Try to find "default" data items for start and end in period panel
This is not using the DefaultValue mechanismn which also exists
as the DefaultValue mechanism is deprecated and a candidate for
removal.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 25 Mar 2015 19:18:43 +0100 |
parents | ea9eef426962 |
children | 5e38e2924c07 |
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 |
4184
03de5c424f95
Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents:
3547
diff
changeset
|
11 import com.google.gwt.core.client.GWT; |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
12 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.Canvas; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.Label; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.form.DynamicForm; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.layout.HLayout; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.layout.VLayout; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
19 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
20 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
21 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
22 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
23 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
24 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
|
25 |
4184
03de5c424f95
Fix warnings and minor TODOs in flys-client.
Christian Lins <christian.lins@intevation.de>
parents:
3547
diff
changeset
|
26 import java.util.LinkedHashMap; |
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 String dataName; |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
33 protected DynamicForm form; |
3547
8a16ff3b9a7f
Removed trailing whitespace
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3535
diff
changeset
|
34 |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
35 @Override |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
36 public Canvas createOld(DataList dataList) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
37 Data data = dataList.get(0); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
38 DataItem[] items = data.getItems(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
39 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
40 HLayout layout = new HLayout(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
41 Label label = new Label(dataList.getLabel()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
42 Label value = new Label(items[0].getLabel()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
43 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
44 layout.setHeight(35); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
45 layout.setWidth(400); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
46 label.setWidth(200); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
47 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
48 layout.addMember(label); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
49 layout.addMember(value); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
50 layout.addMember(getBackButton(dataList.getState())); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
51 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
52 return layout; |
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 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
55 @Override |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
56 public Canvas create(DataList dataList) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
57 Data data = dataList.get(0); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
58 DataItem[] items = data.getItems(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
59 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
60 this.dataName = data.getLabel(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
61 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
62 VLayout layout = new VLayout(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
63 Label label = new Label(data.getDescription()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
64 RadioGroupItem rgi = new RadioGroupItem("selection"); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
65 rgi.setShowTitle(false); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
66 GWT.log("items: " + items.length); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
67 LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
68 for (int i = 0; i < items.length; i++) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
69 GWT.log(items[i].getStringValue() + "; " + items[i].getLabel()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
70 elems.put(items[i].getStringValue(), items[i].getLabel()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
71 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
72 rgi.setValueMap(elems); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
73 rgi.setDefaultValue(items[0].getStringValue()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
74 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
75 form = new DynamicForm(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
76 form.setFields(rgi); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
77 layout.setMembersMargin(10); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
78 layout.setHeight(35); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
79 label.setHeight(35); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
80 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
81 layout.addMember(label); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
82 layout.addMember(form); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
83 layout.addMember(getNextButton()); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
84 layout.setMembersMargin(10); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
85 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
86 //initDefaultValues(dataList); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
87 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
88 return layout; |
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 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
91 @Override |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
92 protected Data[] getData() { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
93 String value = form.getValueAsString("selection"); |
4222
94c76129af7d
Replaced static string with variable to have a more generic radio button panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4184
diff
changeset
|
94 DataItem item = new DefaultDataItem(this.dataName, this.dataName, value); |
3508
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
95 return new Data[] { new DefaultData( |
4222
94c76129af7d
Replaced static string with variable to have a more generic radio button panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4184
diff
changeset
|
96 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
|
97 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
98 |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
99 protected String getTitle(DataItem item) { |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
100 return item.getLabel(); |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
101 } |
60984be9bcfa
MINFO: Added UI for minfo differences calculation.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
diff
changeset
|
102 } |