Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQAdaptedInputPanel.java @ 9407:43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
author | gernotbelger |
---|---|
date | Wed, 15 Aug 2018 16:26:22 +0200 |
parents | bc9a45d2b1fa |
children |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5921
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:
5921
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; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
9278 | 11 import java.util.ArrayList; |
12 import java.util.HashMap; | |
13 import java.util.LinkedHashMap; | |
14 import java.util.List; | |
15 import java.util.Map; | |
16 | |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
17 import org.dive4elements.river.client.client.Config; |
9278 | 18 import org.dive4elements.river.client.client.services.WQInfoService; |
19 import org.dive4elements.river.client.client.services.WQInfoServiceAsync; | |
20 import org.dive4elements.river.client.client.ui.wq.QDTable; | |
21 import org.dive4elements.river.client.client.ui.wq.WTable; | |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
22 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
9278 | 23 import org.dive4elements.river.client.shared.model.Data; |
24 import org.dive4elements.river.client.shared.model.DataItem; | |
25 import org.dive4elements.river.client.shared.model.DataList; | |
26 import org.dive4elements.river.client.shared.model.DefaultData; | |
27 import org.dive4elements.river.client.shared.model.DefaultDataItem; | |
28 import org.dive4elements.river.client.shared.model.WQDataItem; | |
29 import org.dive4elements.river.client.shared.model.WQInfoObject; | |
30 | |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 import com.google.gwt.core.client.GWT; |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
32 import com.google.gwt.i18n.client.NumberFormat; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
33 import com.google.gwt.user.client.rpc.AsyncCallback; |
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
|
34 import com.smartgwt.client.types.TitleOrientation; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
35 import com.smartgwt.client.types.VerticalAlignment; |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
36 import com.smartgwt.client.util.SC; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
37 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
|
38 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
|
39 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
|
40 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
41 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
43 import com.smartgwt.client.widgets.form.fields.events.FocusEvent; |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
44 import com.smartgwt.client.widgets.form.fields.events.FocusHandler; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
45 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
|
46 import com.smartgwt.client.widgets.layout.VLayout; |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
47 import com.smartgwt.client.widgets.tab.Tab; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
49 /** |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 * 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
|
51 * 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
|
52 * |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
53 * @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
|
54 */ |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
55 public class WQAdaptedInputPanel extends AbstractWQAdaptedInputPanel implements FocusHandler { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
56 private static final long serialVersionUID = -3218827566805476423L; |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
57 private static final String FIELD_WQ_MODE = "wq_isq"; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
58 private static final String FIELD_WQ_W = "W"; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
59 private static final String FIELD_WQ_Q = "Q"; |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
60 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
61 /** Stores the min/max values for each w range (gauge). */ |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
62 private final Map<String, double[]> wranges = new HashMap<String, double[]>(); |
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
|
63 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
64 /** Service to fetch W/Q MainValues. */ |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
65 private final WQInfoServiceAsync wqInfoService = GWT.create(WQInfoService.class); |
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
|
66 |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
67 /** The currently focussed Input element. */ |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
68 private DoubleArrayPanel itemWithFocus; |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
69 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
70 private void enableWTabs() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
71 for (int i = 0; i < this.doubleArrayPanels.size(); i++) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
72 this.tabs.disableTab(2 * i); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
73 this.tabs.enableTab(2 * i + 1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
74 } |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
77 private void enableQTabs() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
78 for (int i = 0; i < this.doubleArrayPanels.size(); i++) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
79 this.tabs.enableTab(2 * i); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
80 this.tabs.disableTab(2 * i + 1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
81 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
82 } |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
84 /** |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
85 * Create radio button for switching w and q input. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
86 * Radiobutton-change also triggers helper panel tab selection. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
87 */ |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
88 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
89 private final Canvas createMode(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
90 final RadioGroupItem wq = new RadioGroupItem(FIELD_WQ_MODE); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
91 wq.setShowTitle(false); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
92 wq.setVertical(false); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
93 wq.setWidth(200); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
95 final LinkedHashMap<String, String> wqValues = new LinkedHashMap<String, String>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
96 wqValues.put(FIELD_WQ_W, this.MSG.wqW()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
97 wqValues.put(WQAdaptedInputPanel.FIELD_WQ_Q, this.MSG.wqQatGauge()); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
98 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
99 wq.setValueMap(wqValues); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
100 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
101 this.modes = new DynamicForm(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
102 this.modes.setFields(wq); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
103 this.modes.setWidth(200); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
104 wq.addChangeHandler(new ChangeHandler() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
105 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
106 public void onChange(final ChangeEvent e) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
107 final DynamicForm form = e.getForm(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
108 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
109 if (form.getValueAsString(FIELD_WQ_MODE).contains("Q")) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
110 WQAdaptedInputPanel.this.tabs.selectTab(0); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
111 enableQTabs(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
112 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
113 WQAdaptedInputPanel.this.tabs.selectTab(1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
114 enableWTabs(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
115 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
116 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
117 }); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
118 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
119 final LinkedHashMap<String, String> initial = new LinkedHashMap<String, String>(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
120 initial.put(FIELD_WQ_MODE, this.FIELD_WQ_Q); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
121 this.modes.setValues(initial); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
122 this.tabs.selectTab(1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
123 return this.modes; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
124 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
125 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
126 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
127 protected void createTabs() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
128 for (int i = 0; i < this.gaugeRanges.size(); i++) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
129 // Later the tabs title will get adjusted to include gauges name. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
130 // TODO the tabs title becomes rather long through that (i18n). |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
131 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
132 final Tab wTab = new Tab(this.MSG.wq_table_w()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
133 final WTable wTable = new WTable(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
134 this.wTables.add(wTable); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
135 wTable.showSelect(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
136 wTab.setPane(wTable); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
137 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
138 final Tab qTab = new Tab(this.MSG.wq_table_q()); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
139 final QDTable qdTable = new QDTable(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
140 this.qdTables.add(qdTable); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
141 qTab.setPane(qdTable); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
142 qdTable.showSelect(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
143 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
144 this.tabs.addTab(wTab, i * 2 + 0); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
145 this.tabs.addTab(qTab, i * 2 + 1); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
146 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
147 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
148 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
149 // Defaults at "Q", first input field. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
150 this.tabs.selectTab(0); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
151 enableQTabs(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
152 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
153 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
154 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
155 protected void beforeCreate(final DataList data) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
156 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
157 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
158 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
159 protected void afterCreate() { |
6413
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
160 // We actually want the first Q tab to be selected and all |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
161 // Q tabs to be enabled. I sense a bug in TabSet here, as |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
162 // the code in the W/Q radiogroup-changehandler behaves |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
163 // exactly vice versa (enabling Q, selecting tab 0). |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
164 enableWTabs(); |
9278 | 165 this.tabs.selectTab(1); |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
166 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
167 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
168 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
169 protected Canvas createWidget(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
170 final VLayout layout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
171 final Canvas mode = createMode(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
172 final Canvas list = createList(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
173 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
174 final List<WQDataItem> items = getWQItems(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
175 final int listHeight = ROW_HEIGHT * items.size(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
176 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
177 mode.setHeight(25); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
178 mode.setWidth(200); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
179 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
180 layout.addMember(mode); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
181 layout.addMember(list); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
182 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
183 layout.setHeight(25 + listHeight); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
184 layout.setWidth(350); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
185 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
186 initUserDefaults(dataList); |
6413
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
187 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
188 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
|
189 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
190 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
191 private void initUserDefaults(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
192 initUserWQValues(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
193 initUserWQMode(dataList); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
194 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
195 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
196 private void initUserWQMode(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
197 final List<Data> allData = dataList.getAll(); |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
198 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
199 final Data dDef = getData(allData, "wq_mode"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
200 final DataItem def = dDef != null ? dDef.getDefault() : null; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
201 final String value = def != null ? def.getStringValue() : null; |
6666
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
202 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
203 if (value != null && value.equals(FIELD_WQ_W)) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
204 this.modes.setValue(FIELD_WQ_MODE, FIELD_WQ_W); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
205 } else { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
206 this.modes.setValue(FIELD_WQ_MODE, FIELD_WQ_Q); |
6666
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
207 } |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
208 } |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
209 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
210 private Canvas createList(final DataList dataList) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
211 final VLayout layout = new VLayout(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
212 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
213 final List<WQDataItem> items = getWQItems(dataList); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
214 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
215 int i = 0; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
216 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
217 for (final DataItem item : items) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
218 if (item instanceof WQDataItem) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
219 final String title = item.getLabel(); // of form: 70.5;112.0 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
220 final String label = item.getStringValue(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
221 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
222 // Rename W and Q tab to include gauges name. |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
223 this.tabs.getTab(i * 2).setTitle(this.tabs.getTab(i * 2).getTitle() + " (" + label + ")"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
224 this.tabs.getTab(i * 2 + 1).setTitle(this.tabs.getTab(i * 2 + 1).getTitle() + " (" + label + ")"); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
225 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
226 final DoubleArrayPanel dap = new DoubleArrayPanel(label, null, this, this, TitleOrientation.LEFT); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
227 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
228 this.wqranges.put(title, dap); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
229 this.doubleArrayPanels.add(dap); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
230 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
231 if (item instanceof WQDataItem) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
232 final WQDataItem wq = (WQDataItem) item; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
233 final double[] mmQ = wq.getQRange(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
234 final double[] mmW = wq.getWRange(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
235 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
236 this.qranges.put(title, mmQ); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
237 this.wranges.put(title, mmW); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
238 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
239 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
240 layout.addMember(dap); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
241 i++; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
242 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
243 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
244 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
245 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
246 layout.setHeight(items.size() * ROW_HEIGHT); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
247 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
248 return layout; |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
249 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
250 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
251 @Override |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
252 public Canvas createOld(final DataList dataList) { // TODO: OVERRIDE |
9278 | 253 final List<Data> all = dataList.getAll(); |
254 final Data wqData = getData(all, "wq_values"); | |
255 final Data wqMode = getData(all, "wq_isq"); | |
256 final boolean isQ = wqMode.getItems()[0].getStringValue().equals("true"); | |
257 final Canvas back = getBackButton(dataList.getState()); | |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
258 |
9278 | 259 final HLayout valLayout = new HLayout(); |
260 final HLayout modeLayout = new HLayout(); | |
261 final VLayout vlayout = new VLayout(); | |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
262 |
9278 | 263 final Label wqLabel = new Label(dataList.getLabel()); |
264 final Label modeLabel = new Label(""); | |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
265 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
266 wqLabel.setValign(VerticalAlignment.TOP); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
267 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
268 wqLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
269 wqLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
270 modeLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
271 modeLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
272 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
273 valLayout.addMember(wqLabel); |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
274 valLayout.addMember(createOldWQValues(wqData, isQ)); |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
275 |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
276 valLayout.addMember(back); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
277 modeLayout.addMember(modeLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
278 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
279 vlayout.addMember(valLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
280 vlayout.addMember(modeLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
281 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
282 return vlayout; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
283 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
284 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
285 @Override |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
286 public List<String> validate() { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
287 if (isWMode()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
288 return validateW(); |
9278 | 289 } else { |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
290 return validateQ(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
291 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
292 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
293 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
294 private boolean isWMode() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
295 final String mode = (String) this.modes.getValue(FIELD_WQ_MODE); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
296 |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
297 return FIELD_WQ_W.equals(mode); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
298 } |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
299 |
9278 | 300 protected List<String> validateRange(final Map<String, double[]> ranges) { |
301 final List<String> errors = new ArrayList<String>(); | |
302 final NumberFormat nf = NumberFormat.getDecimalFormat(); | |
5527
6dbc111e9aec
WQAdaptedInputPanel: Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5526
diff
changeset
|
303 |
9278 | 304 for (final Map.Entry<String, DoubleArrayPanel> entry : this.wqranges.entrySet()) { |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
305 |
9278 | 306 final String key = entry.getKey(); |
307 final DoubleArrayPanel dap = entry.getValue(); | |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
308 |
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
309 if (!dap.validateForm()) { |
9278 | 310 errors.add(this.MSG.error_invalid_double_value()); |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
311 return errors; |
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
312 } |
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
313 |
9278 | 314 final double[] mm = ranges.get(key); |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
315 if (mm == null) { |
9278 | 316 SC.warn(this.MSG.error_read_minmax_values()); |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
317 continue; |
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
318 } |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
319 |
9278 | 320 final double[] values = dap.getInputValues(); |
321 final double[] good = new double[values.length]; | |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
322 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
323 int idx = 0; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
324 |
9278 | 325 final List<String> tmpErrors = new ArrayList<String>(); |
326 for (final double value : values) { | |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
327 if (value < mm[0] || value > mm[1]) { |
9278 | 328 String tmp = this.MSG.error_validate_range(); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
329 tmp = tmp.replace("$1", nf.format(value)); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
330 tmp = tmp.replace("$2", nf.format(mm[0])); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
331 tmp = tmp.replace("$3", nf.format(mm[1])); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
332 tmpErrors.add(tmp); |
9278 | 333 } else { |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
334 good[idx++] = value; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
335 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
336 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
337 |
9278 | 338 final double[] justGood = new double[idx]; |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
339 for (int i = 0; i < justGood.length; i++) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
340 justGood[i] = good[i]; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
341 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
342 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
343 if (!tmpErrors.isEmpty()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
344 dap.setValues(justGood); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
345 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
346 errors.addAll(tmpErrors); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
347 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
348 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
349 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
350 return errors; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
351 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
352 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
353 private Data getWQMode() { |
9278 | 354 final String wqMode = this.modes.getValueAsString(FIELD_WQ_MODE); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
355 String value = "false"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
356 if (wqMode.equals("Q")) { |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
357 value = "true"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
358 } |
9278 | 359 final DataItem item = new DefaultDataItem("wq_isq", "wq_isq", value); |
360 final Data mode = new DefaultData("wq_isq", null, null, new DataItem[] { item }); | |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
361 |
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
|
362 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
|
363 } |
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 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
365 @Override |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
366 public Data[] getData() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
367 final Data mode = getWQMode(); |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
368 final Data values = getWQValues("wq_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
|
369 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
370 return new Data[] { mode, 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
|
371 } |
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
|
372 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
373 private List<String> validateW() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
374 return validateRange(this.wranges); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
375 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
376 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
377 private List<String> validateQ() { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
378 return validateRange(this.qranges); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
379 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
380 |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
381 @Override |
9278 | 382 public void onFocus(final FocusEvent event) { |
383 this.itemWithFocus = (DoubleArrayPanel) event.getForm(); | |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
384 // Switch to respective tab. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
385 // TODO which makes a focus loss |
9278 | 386 final int inputIndex = this.doubleArrayPanels.indexOf(this.itemWithFocus); |
387 this.tabs.selectTab(inputIndex * 2 + (isWMode() ? 0 : 1)); | |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
388 } |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
389 |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
390 protected void callMainValuesService(final String locale, final String river, final double start, final double end, |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
391 final AsyncCallback<WQInfoObject[]> cb) { |
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
392 this.wqInfoService.getWQInfo(locale, river, start, end, cb); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
393 } |
9404
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
394 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
395 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
396 protected void fetchWQData() { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
397 { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
398 final Config config = Config.getInstance(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
399 final String locale = config.getLocale(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
400 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
401 final ArtifactDescription adescr = this.artifact.getArtifactDescription(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
402 final DataList[] data = adescr.getOldData(); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
403 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
404 final String river = getRiverName(data); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
405 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
406 int i = 0; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
407 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
408 // Get Data for respective gauge. |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
409 for (final Double[] range : this.gaugeRanges) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
410 // Gauge ranges overlap, move start and end a bit closer |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
411 // to each other. |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
412 final double rDiff = (range[1] - range[0]) / 10d; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
413 final int fi = i; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
414 // TODO: HIER MÜSSTE EIN SERVICE HIN, der den größten gemeinsamen zeitlichen Bereich der daily_discharge_values aller |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
415 // Pegel ermittelt |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
416 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
417 final AsyncCallback<WQInfoObject[]> cb = new AsyncCallback<WQInfoObject[]>() { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
418 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
419 public void onFailure(final Throwable caught) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
420 GWT.log("Could not recieve wq informations."); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
421 SC.warn(caught.getMessage()); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
422 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
423 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
424 @Override |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
425 public void onSuccess(final WQInfoObject[] wqi) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
426 final int num = wqi != null ? wqi.length : 0; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
427 GWT.log("Received " + num + " wq informations (" + fi + "."); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
428 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
429 if (num == 0) { |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
430 return; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
431 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
432 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
433 addWQInfo(wqi, fi, null); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
434 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
435 }; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
436 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
437 callMainValuesService(locale, river, range[0] + rDiff, range[1] - rDiff, cb); |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
438 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
439 i++; |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
440 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
441 } |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
442 |
bc9a45d2b1fa
common time range for gauges incl. error messages
gernotbelger
parents:
9288
diff
changeset
|
443 } |
9407
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
444 |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
445 @Override |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
446 protected String getWQInfoMsg() { |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
447 return null; |
43c975f8ab92
Label for Eingabhilfe bundu.bezugswasserstände.EingabeFürWQDaten
gernotbelger
parents:
9404
diff
changeset
|
448 } |
9288
82c67b859aa7
bundu.bezugswst worklflow incl. service impl for mainValues to be calculated
gernotbelger
parents:
9278
diff
changeset
|
449 } |