Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java @ 560:5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
flys-client/trunk@2092 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Thu, 09 Jun 2011 06:05:44 +0000 |
parents | 77234b1d009c |
children | a078ba1c139d |
rev | line source |
---|---|
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
2 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
3 import java.util.HashMap; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
4 import java.util.Iterator; |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
5 import java.util.LinkedHashMap; |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
6 import java.util.List; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
7 import java.util.Map; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
8 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
9 import com.google.gwt.core.client.GWT; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
11 import com.smartgwt.client.types.TitleOrientation; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
12 import com.smartgwt.client.types.VerticalAlignment; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.Canvas; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.Label; |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
15 import com.smartgwt.client.widgets.form.DynamicForm; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
19 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
21 import com.smartgwt.client.widgets.layout.HLayout; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 import com.smartgwt.client.widgets.layout.VLayout; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
23 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.flys.client.shared.model.Data; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.flys.client.shared.model.DataItem; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.flys.client.shared.model.DataList; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
27 import de.intevation.flys.client.shared.model.DefaultData; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
28 import de.intevation.flys.client.shared.model.DefaultDataItem; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
29 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
30 import de.intevation.flys.client.client.FLYSConstants; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
31 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
32 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
33 /** |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
34 * This UIProvider creates a widget to enter W or Q data for discharge |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
35 * longitudinal section computations. |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
36 * |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 */ |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
39 public class WQAdaptedInputPanel |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 extends AbstractUIProvider |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 implements ChangeHandler, BlurHandler |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 { |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
43 public static final String FIELD_WQ_MODE = "wq_mode"; |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
44 public static final String FIELD_WQ_W = "W"; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
45 public static final String FIELD_WQ_Q = "Q"; |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
46 |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
47 public static final String GAUGE_SEPARATOR = ":"; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
48 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
49 public static final String GAUGE_PART_SEPARATOR = ";"; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
50 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
51 public static final String VALUE_SEPARATOR = ","; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
52 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
53 public static final int ROW_HEIGHT = 20; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
54 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
55 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
56 /** The message class that provides i18n strings.*/ |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
57 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
58 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
59 /** Stores the input panels related to their keys.*/ |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
60 protected Map<String, DoubleArrayPanel> wqranges; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
61 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
62 /** The RadioGroupItem that determines the w/q input mode.*/ |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
63 protected DynamicForm modes; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
64 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
65 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
66 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 public WQAdaptedInputPanel() { |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
68 wqranges = new HashMap<String, DoubleArrayPanel>(); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
71 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 public Canvas create(DataList data) { |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
73 Canvas submit = getNextButton(); |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
74 Canvas widget = createWidget(data); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
75 Label label = new Label(MSG.wqadaptedTitle()); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
76 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
77 label.setHeight(25); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 VLayout layout = new VLayout(); |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 layout.setMembersMargin(10); |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
81 layout.setWidth(350); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
82 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
83 layout.addMember(label); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
84 layout.addMember(widget); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 layout.addMember(submit); |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 return layout; |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
89 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
90 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
91 public Canvas createOld(DataList dataList) { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
92 List<Data> all = dataList.getAll(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
93 Data wqData = getData(all, "wq_values"); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
94 Data wqMode = getData(all, "wq_mode"); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
95 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
96 Canvas back = getBackButton(dataList.getState()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
97 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
98 HLayout valLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
99 HLayout modeLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
100 VLayout vlayout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
101 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
102 Label wqLabel = new Label(dataList.getLabel()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
103 Label modeLabel = new Label(""); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
104 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
105 wqLabel.setValign(VerticalAlignment.TOP); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
106 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
107 wqLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
108 wqLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
109 modeLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
110 modeLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
111 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
112 valLayout.addMember(wqLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
113 valLayout.addMember(createOldWQValues(wqData)); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
114 valLayout.addMember(back); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
115 modeLayout.addMember(modeLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
116 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
117 vlayout.addMember(valLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
118 vlayout.addMember(modeLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
119 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
120 return vlayout; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
121 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
122 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
123 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
124 protected Canvas createOldWQValues(Data wqData) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
125 VLayout layout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
126 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
127 DataItem item = wqData.getItems()[0]; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
128 String value = item.getStringValue(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
129 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
130 String[] gauges = value.split(GAUGE_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
131 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
132 for (String gauge: gauges) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
133 HLayout h = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
134 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
135 String[] parts = gauge.split(GAUGE_PART_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
136 String[] values = parts[2].split(VALUE_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
137 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
138 Label l = new Label(parts[0] + " - " + parts[1] + ": "); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
139 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
140 StringBuilder sb = new StringBuilder(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
141 boolean first = true; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
142 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
143 for (String v: values) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
144 if (!first) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
145 sb.append(", "); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
146 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
147 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
148 sb.append(v); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
149 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
150 first = false; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
151 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
152 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
153 Label v = new Label(sb.toString()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
154 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
155 l.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
156 v.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
157 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
158 h.addMember(l); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
159 h.addMember(v); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
160 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
161 layout.addMember(h); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
162 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
163 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
164 return layout; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
168 protected Canvas createWidget(DataList dataList) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
169 VLayout layout = new VLayout(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
170 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
171 Canvas mode = createMode(dataList); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
172 Canvas list = createList(dataList); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
173 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
174 DataItem[] items = getWQItems(dataList); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
175 int listHeight = ROW_HEIGHT * items.length; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
176 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
177 mode.setHeight(25); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
178 mode.setWidth(200); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
179 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
180 layout.addMember(mode); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
181 layout.addMember(list); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
182 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
183 layout.setHeight(25 + listHeight); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
184 layout.setWidth(350); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
185 |
519
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
186 initUserDefaults(dataList); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
187 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
188 return layout; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
189 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
190 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
191 |
519
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
192 protected void initUserDefaults(DataList dataList) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
193 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
194 initUserWQValues(dataList); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
195 initUserWQMode(dataList); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
196 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
197 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
198 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
199 protected void initUserWQMode(DataList dataList) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
200 List<Data> allData = dataList.getAll(); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
201 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
202 Data dDef = getData(allData, "wq_mode"); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
203 DataItem def = dDef != null ? dDef.getDefault() : null; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
204 String value = def != null ? def.getStringValue() : null; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
205 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
206 if (value != null && value.equals(FIELD_WQ_Q)) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
207 modes.setValue(FIELD_WQ_MODE, FIELD_WQ_Q); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
208 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
209 else { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
210 modes.setValue(FIELD_WQ_MODE, FIELD_WQ_W); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
211 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
212 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
213 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
214 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
215 protected void initUserWQValues(DataList dataList) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
216 List<Data> allData = dataList.getAll(); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
217 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
218 Data dDef = getData(allData, "wq_values"); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
219 DataItem def = dDef != null ? dDef.getDefault() : null; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
220 String value = def != null ? def.getStringValue() : null; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
221 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
222 if (value == null || value.length() == 0) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
223 return; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
224 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
225 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
226 String[] lines = value.split(GAUGE_SEPARATOR); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
227 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
228 if (lines == null || lines.length == 0) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
229 return; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
230 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
231 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
232 for (String line: lines) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
233 String[] cols = line.split(GAUGE_PART_SEPARATOR); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
234 String title = createLineTitle(line); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
235 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
236 if (cols == null || cols.length < 3) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
237 continue; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
238 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
239 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
240 String[] strValues = cols[2].split(VALUE_SEPARATOR); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
241 double[] values = new double[strValues.length]; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
242 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
243 int idx = 0; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
244 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
245 for (String strValue: strValues) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
246 try { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
247 values[idx++] = Double.valueOf(strValue); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
248 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
249 catch (NumberFormatException nfe) { |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
250 // do nothing |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
251 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
252 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
253 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
254 String key = cols[0] + GAUGE_PART_SEPARATOR + cols[1]; |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
255 DoubleArrayPanel dap = wqranges.get(key); |
560
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
256 |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
257 if (dap == null) { |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
258 continue; |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
259 } |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
260 |
519
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
261 dap.setValues(values); |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
262 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
263 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
264 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
265 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
266 protected Canvas createList(DataList dataList) { |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
267 VLayout layout = new VLayout(); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
268 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
269 DataItem[] items = getWQItems(dataList); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
270 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
271 for (DataItem item: items) { |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
272 String title = item.getLabel(); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
273 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
274 DoubleArrayPanel dap = new DoubleArrayPanel( |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
275 createLineTitle(title), null, this, TitleOrientation.LEFT); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
276 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
277 wqranges.put(title, dap); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
278 layout.addMember(dap); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
279 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
280 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
281 layout.setHeight(items.length * ROW_HEIGHT); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
282 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
283 return layout; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
284 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
285 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
286 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
287 protected DataItem[] getWQItems(DataList dataList) { |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
288 List<Data> data = dataList.getAll(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
289 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
290 for (Data d: data) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
291 String name = d.getLabel(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
292 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
293 if (name.equals(FIELD_WQ_MODE)) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
294 continue; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
295 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
296 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
297 return d.getItems(); |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
298 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
299 |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
300 return null; |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
301 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
302 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
303 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
304 protected Canvas createMode(DataList dataList) { |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
305 RadioGroupItem wq = new RadioGroupItem(FIELD_WQ_MODE); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
306 wq.setShowTitle(false); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
307 wq.setVertical(false); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
308 wq.setWidth(200); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
309 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
310 LinkedHashMap wqValues = new LinkedHashMap(); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
311 wqValues.put(FIELD_WQ_W, MSG.wqW()); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
312 wqValues.put(FIELD_WQ_Q, MSG.wqQ()); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
313 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
314 wq.setValueMap(wqValues); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
315 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
316 modes = new DynamicForm(); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
317 modes.setFields(wq); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
318 modes.setWidth(200); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
319 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
320 LinkedHashMap initial = new LinkedHashMap(); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
321 initial.put(FIELD_WQ_MODE, FIELD_WQ_W); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
322 modes.setValues(initial); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
323 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
324 return modes; |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
325 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
326 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
327 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
328 public String createLineTitle(String key) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
329 String[] splitted = key.split(";"); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
330 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
331 return splitted[0] + " - " + splitted[1]; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
332 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
333 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
334 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
335 public Data[] getData() { |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
336 Data mode = getWQMode(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
337 Data values = getWQValues(); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
338 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
339 return new Data[] { mode, values }; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
340 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
341 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
342 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
343 protected Data getWQMode() { |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
344 String wqMode = modes.getValueAsString(FIELD_WQ_MODE); |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
345 DataItem item = new DefaultDataItem("wq_mode", "wq_mode", wqMode); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
346 Data mode = new DefaultData( |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
347 "wq_mode", null, null, new DataItem[] { item }); |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
348 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
349 return mode; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
350 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
351 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
352 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
353 protected Data getWQValues() { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
354 String wqvalue = null; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
355 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
356 Iterator<String> iter = wqranges.keySet().iterator(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
357 while (iter.hasNext()) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
358 String key = iter.next(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
359 DoubleArrayPanel dap = wqranges.get(key); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
360 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
361 double[] values = dap.getInputValues(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
362 if (wqvalue == null) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
363 wqvalue = createValueString(key, values); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
364 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
365 else { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
366 wqvalue += GAUGE_SEPARATOR + createValueString(key, values); |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
367 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
368 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
369 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
370 DataItem valueItem = new DefaultDataItem( |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
371 "wq_values", "wq_values", wqvalue); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
372 Data values = new DefaultData( |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
373 "wq_values", null, null, new DataItem[] { valueItem }); |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
374 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
375 return values; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
376 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
377 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
378 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
379 protected String createValueString(String key, double[] values) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
380 StringBuilder sb = new StringBuilder(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
381 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
382 boolean first = true; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
383 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
384 for (double value: values) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
385 if (!first) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
386 sb.append(","); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
387 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
388 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
389 sb.append(Double.toString(value)); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
390 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
391 first = false; |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
392 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
393 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
394 return key + ";" + sb.toString(); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
395 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
396 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
397 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
398 public void onChange(ChangeEvent event) { |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
399 // TODO IMPLEMENT ME |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
400 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
401 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
402 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
403 public void onBlur(BlurEvent event) { |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
404 DoubleArrayPanel dap = (DoubleArrayPanel) event.getForm(); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
405 dap.validateForm(event.getItem()); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
406 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
407 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
408 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |