Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java @ 2538:c7da05282644
FixPeriodPanel: Make the names of state parameters configurable by constructor.
flys-client/trunk@4458 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Tue, 22 May 2012 13:20:52 +0000 |
parents | 60ab1054069d |
children | 8490faba00e7 |
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 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
3 import java.util.ArrayList; |
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
|
4 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
|
5 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
|
6 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
|
7 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
|
8 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
|
9 |
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 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
|
11 import com.google.gwt.i18n.client.NumberFormat; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
12 import com.google.gwt.user.client.rpc.AsyncCallback; |
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 |
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
|
14 import com.smartgwt.client.types.TitleOrientation; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 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
|
23 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
|
24 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
|
25 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
|
26 import com.smartgwt.client.widgets.layout.VLayout; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
27 import com.smartgwt.client.widgets.tab.TabSet; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
28 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
|
29 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
30 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
|
31 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
|
32 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
|
33 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
|
34 import de.intevation.flys.client.shared.model.DefaultDataItem; |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
35 import de.intevation.flys.client.shared.model.WQDataItem; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
36 import de.intevation.flys.client.shared.model.WQInfoObject; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
37 import de.intevation.flys.client.shared.model.WQInfoRecord; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
38 import de.intevation.flys.client.shared.model.ArtifactDescription; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
39 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 |
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
|
41 import de.intevation.flys.client.client.FLYSConstants; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
42 import de.intevation.flys.client.client.Config; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
43 import de.intevation.flys.client.client.services.WQInfoService; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
44 import de.intevation.flys.client.client.services.WQInfoServiceAsync; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
45 import de.intevation.flys.client.client.ui.wq.WTable; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
46 import de.intevation.flys.client.client.ui.wq.QDTable; |
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
|
47 |
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 */ |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
55 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
|
56 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
|
57 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
|
58 { |
2432
61c8e517671e
Renamed state data fields for W/Q input.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2428
diff
changeset
|
59 public static final String FIELD_WQ_MODE = "wq_isq"; |
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
|
60 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
|
61 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
|
62 |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
63 public static final String GAUGE_SEPARATOR = ":"; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
64 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
65 public static final String GAUGE_PART_SEPARATOR = ";"; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
66 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
67 public static final String VALUE_SEPARATOR = ","; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
68 |
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
|
69 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
|
70 |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
71 /** The constant field name for choosing w or q mode.*/ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
72 public static final String FIELD_WQ = "wq"; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
73 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
74 /** The constant field name for choosing single values or range.*/ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
75 public static final String FIELD_MODE = "mode"; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
76 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
77 /** The constant field value for range input mode.*/ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
78 public static final String FIELD_MODE_RANGE = "range"; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
79 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
80 protected WQInfoServiceAsync wqInfoService = |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
81 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
|
82 |
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 /** 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
|
84 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
|
85 |
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
|
86 /** 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
|
87 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
|
88 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
89 /** Stores the min/max values for each q range.*/ |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
90 protected Map<String, double[]> qranges; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
91 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
92 /** Stores the min/max values for each w range.*/ |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
93 protected Map<String, double[]> wranges; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
94 |
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
|
95 /** 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
|
96 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
|
97 |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
98 protected QDTable qdTable; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
99 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
100 protected WTable wTable; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
101 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
102 protected TabSet tabs; |
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
|
103 |
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
|
104 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
105 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
|
106 wqranges = new HashMap<String, DoubleArrayPanel>(); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
107 qranges = new HashMap<String, double[]>(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
108 wranges = new HashMap<String, double[]>(); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
109 qdTable = new QDTable(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
110 wTable = new WTable(); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
111 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
112 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
113 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
114 public Canvas create(DataList data) { |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
115 initHelperPanel(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
116 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
117 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
|
118 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
|
119 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
|
120 |
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
|
121 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
|
122 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
123 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
|
124 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
|
125 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
|
126 |
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
|
127 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
|
128 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
|
129 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
|
130 |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
131 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
132 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
|
133 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
134 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
135 |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
136 protected void initHelperPanel() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
137 tabs = new TabSet(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
138 tabs.setWidth100(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
139 tabs.setHeight100(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
140 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
141 // TODO i18n |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
142 Tab wTab = new Tab("W"); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
143 Tab qTab = new Tab("Q / D"); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
144 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
145 wTab.setPane(wTable); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
146 qTab.setPane(qdTable); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
147 qdTable.hideIconFields(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
148 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
149 tabs.addTab(wTab, 0); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
150 tabs.addTab(qTab, 1); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
151 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
152 helperContainer.addMember(tabs); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
153 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
154 fetchWQData(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
155 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
156 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
157 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
158 public Canvas createOld(DataList dataList) { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
159 List<Data> all = dataList.getAll(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
160 Data wqData = getData(all, "wq_values"); |
2432
61c8e517671e
Renamed state data fields for W/Q input.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2428
diff
changeset
|
161 Data wqMode = getData(all, "wq_isq"); |
247
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 Canvas back = getBackButton(dataList.getState()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
164 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
165 HLayout valLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
166 HLayout modeLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
167 VLayout vlayout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
168 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
169 Label wqLabel = new Label(dataList.getLabel()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
170 Label modeLabel = new Label(""); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
171 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
172 wqLabel.setValign(VerticalAlignment.TOP); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
173 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
174 wqLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
175 wqLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
176 modeLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
177 modeLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
178 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
179 valLayout.addMember(wqLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
180 valLayout.addMember(createOldWQValues(wqData)); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
181 valLayout.addMember(back); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
182 modeLayout.addMember(modeLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
183 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
184 vlayout.addMember(valLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
185 vlayout.addMember(modeLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
186 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
187 return vlayout; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
188 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
189 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
190 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
191 protected Canvas createOldWQValues(Data wqData) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
192 VLayout layout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
193 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
194 DataItem item = wqData.getItems()[0]; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
195 String value = item.getStringValue(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
196 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
197 String[] gauges = value.split(GAUGE_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
198 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
199 for (String gauge: gauges) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
200 HLayout h = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
201 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
202 String[] parts = gauge.split(GAUGE_PART_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
203 String[] values = parts[2].split(VALUE_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
204 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
205 Label l = new Label(parts[0] + " - " + parts[1] + ": "); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
206 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
207 StringBuilder sb = new StringBuilder(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
208 boolean first = true; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
209 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
210 for (String v: values) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
211 if (!first) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
212 sb.append(", "); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
213 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
214 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
215 sb.append(v); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
216 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
217 first = false; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
218 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
219 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
220 Label v = new Label(sb.toString()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
221 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
222 l.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
223 v.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
224 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
225 h.addMember(l); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
226 h.addMember(v); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
227 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
228 layout.addMember(h); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
229 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
230 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
231 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
|
232 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
233 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
234 |
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
|
235 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
|
236 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
|
237 |
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
|
238 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
|
239 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
|
240 |
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
|
241 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
|
242 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
|
243 |
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
|
244 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
|
245 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
|
246 |
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
|
247 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
|
248 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
|
249 |
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
|
250 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
|
251 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
|
252 |
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
|
253 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
|
254 |
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
|
255 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
|
256 } |
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
|
257 |
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
|
258 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
259 @Override |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
260 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
|
261 if (isWMode()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
262 return validateW(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
263 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
264 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
265 return validateQ(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
266 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
267 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
268 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
269 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
270 protected List<String> validateW() { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
271 List<String> errors = new ArrayList<String>(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
272 NumberFormat nf = NumberFormat.getDecimalFormat(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
273 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
274 Iterator<String> iter = wqranges.keySet().iterator(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
275 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
276 while (iter.hasNext()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
277 List<String> tmpErrors = new ArrayList<String>(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
278 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
279 String key = iter.next(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
280 DoubleArrayPanel dap = wqranges.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
|
281 |
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
|
282 if (!dap.validateForm()) { |
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
|
283 errors.add(MSG.error_invalid_double_value()); |
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
|
284 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
|
285 } |
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
|
286 |
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
|
287 double[] mm = wranges.get(key); |
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
|
288 if (mm == null) { |
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
|
289 SC.warn(MSG.error_read_minmax_values()); |
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
|
290 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
|
291 } |
565
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 double[] values = dap.getInputValues(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
294 double[] good = new double[values.length]; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
295 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
296 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
|
297 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
298 for (double value: values) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
299 if (value < mm[0] || value > mm[1]) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
300 String tmp = MSG.error_validate_range(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
301 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
|
302 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
|
303 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
|
304 tmpErrors.add(tmp); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
305 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
306 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
307 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
|
308 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
309 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
310 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
311 double[] justGood = new double[idx]; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
312 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
|
313 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
|
314 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
315 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
316 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
|
317 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
|
318 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
319 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
|
320 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
321 } |
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 return errors; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
324 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
325 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
326 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
327 protected List<String> validateQ() { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
328 List<String> errors = new ArrayList<String>(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
329 NumberFormat nf = NumberFormat.getDecimalFormat(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
330 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
331 Iterator<String> iter = wqranges.keySet().iterator(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
332 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
333 while (iter.hasNext()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
334 List<String> tmpErrors = new ArrayList<String>(); |
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 String key = iter.next(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
337 DoubleArrayPanel dap = wqranges.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
|
338 |
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
|
339 if (!dap.validateForm()) { |
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
|
340 errors.add(MSG.error_invalid_double_value()); |
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
|
341 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
|
342 } |
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
|
343 |
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
|
344 double[] mm = qranges.get(key); |
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
|
345 if (mm == null) { |
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
|
346 SC.warn(MSG.error_read_minmax_values()); |
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
|
347 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
|
348 } |
565
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 double[] values = dap.getInputValues(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
351 double[] good = new double[values.length]; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
352 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
353 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
|
354 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
355 for (double value: values) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
356 if (value < mm[0] || value > mm[1]) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
357 String tmp = MSG.error_validate_range(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
358 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
|
359 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
|
360 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
|
361 tmpErrors.add(tmp); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
362 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
363 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
364 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
|
365 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
366 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
367 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
368 double[] justGood = new double[idx]; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
369 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
|
370 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
|
371 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
372 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
373 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
|
374 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
|
375 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
376 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
|
377 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
378 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
379 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
380 return errors; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
381 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
382 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
383 |
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
|
384 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
|
385 |
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
|
386 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
|
387 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
|
388 } |
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
|
389 |
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
|
390 |
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
|
391 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
|
392 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
|
393 |
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
|
394 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
|
395 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
|
396 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
|
397 |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
398 if (value != null && value.equals(FIELD_WQ_W)) { |
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
399 modes.setValue(FIELD_WQ_MODE, FIELD_WQ_W); |
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
|
400 } |
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
|
401 else { |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
402 modes.setValue(FIELD_WQ_MODE, FIELD_WQ_Q); |
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
|
403 } |
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
|
404 } |
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
|
405 |
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
|
406 |
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
|
407 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
|
408 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
|
409 |
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
|
410 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
|
411 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
|
412 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
|
413 |
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
|
414 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
|
415 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
|
416 } |
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
|
417 |
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
|
418 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
|
419 |
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
|
420 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
|
421 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
|
422 } |
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
|
423 |
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
|
424 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
|
425 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
|
426 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
|
427 |
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
|
428 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
|
429 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
|
430 } |
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
|
431 |
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
|
432 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
|
433 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
|
434 |
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
|
435 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
|
436 |
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
|
437 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
|
438 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
|
439 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
|
440 } |
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
|
441 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
|
442 // 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
|
443 } |
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
|
444 } |
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
|
445 |
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
|
446 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
|
447 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
|
448 |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
449 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
|
450 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
|
451 } |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
452 |
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
|
453 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
|
454 } |
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
|
455 } |
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
|
456 |
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
|
457 |
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
|
458 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
|
459 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
|
460 |
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
|
461 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
|
462 |
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
|
463 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
|
464 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
|
465 |
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
|
466 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
|
467 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
|
468 |
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
|
469 wqranges.put(title, dap); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
470 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
471 if (item instanceof WQDataItem) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
472 WQDataItem wq = (WQDataItem) item; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
473 double[] mmQ = wq.getQRange(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
474 double[] mmW = wq.getWRange(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
475 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
476 qranges.put(title, mmQ); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
477 wranges.put(title, mmW); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
478 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
479 |
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
|
480 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
|
481 } |
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
|
482 |
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
|
483 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
|
484 |
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
|
485 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
|
486 } |
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
|
487 |
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
|
488 |
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
|
489 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
|
490 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
|
491 |
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
|
492 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
|
493 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
|
494 |
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
|
495 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
|
496 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
|
497 } |
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
|
498 |
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
|
499 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
|
500 } |
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
|
501 |
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
|
502 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
|
503 } |
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
|
504 |
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
|
505 |
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
|
506 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
|
507 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
|
508 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
|
509 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
|
510 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
|
511 |
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
|
512 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
|
513 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
|
514 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
|
515 |
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
|
516 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
|
517 |
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
|
518 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
|
519 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
|
520 modes.setWidth(200); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
521 wq.addChangeHandler(new ChangeHandler() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
522 public void onChange(ChangeEvent e) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
523 DynamicForm form = e.getForm(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
524 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
525 if(form.getValueAsString(FIELD_WQ_MODE).contains("Q")) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
526 tabs.selectTab(0); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
527 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
528 else { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
529 tabs.selectTab(1); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
530 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
531 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
532 }); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
533 |
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
|
534 |
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
|
535 LinkedHashMap initial = new LinkedHashMap(); |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
536 initial.put(FIELD_WQ_MODE, FIELD_WQ_Q); |
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
|
537 modes.setValues(initial); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
538 tabs.selectTab(1); |
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
|
539 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
|
540 } |
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
|
541 |
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
|
542 |
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
|
543 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
|
544 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
|
545 |
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
|
546 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
|
547 } |
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
|
548 |
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
|
549 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
550 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
|
551 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
|
552 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
|
553 |
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
|
554 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
|
555 } |
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
|
556 |
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
|
557 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
558 public boolean isWMode() { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
559 String mode = (String) modes.getValue(FIELD_WQ_MODE); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
560 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
561 return FIELD_WQ_W.equals(mode); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
562 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
563 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
564 |
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
|
565 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
|
566 String wqMode = modes.getValueAsString(FIELD_WQ_MODE); |
2428
f405eb46762e
Refactored the wq input data fields.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
617
diff
changeset
|
567 String value = "false"; |
f405eb46762e
Refactored the wq input data fields.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
617
diff
changeset
|
568 if (wqMode.equals("Q")) { |
f405eb46762e
Refactored the wq input data fields.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
617
diff
changeset
|
569 value = "true"; |
f405eb46762e
Refactored the wq input data fields.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
617
diff
changeset
|
570 } |
2432
61c8e517671e
Renamed state data fields for W/Q input.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2428
diff
changeset
|
571 DataItem item = new DefaultDataItem("wq_isq", "wq_isq", value); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
572 Data mode = new DefaultData( |
2432
61c8e517671e
Renamed state data fields for W/Q input.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2428
diff
changeset
|
573 "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
|
574 |
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
|
575 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
|
576 } |
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
|
577 |
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
|
578 |
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
|
579 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
|
580 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
|
581 |
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
|
582 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
|
583 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
|
584 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
|
585 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
|
586 |
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
|
587 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
|
588 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
|
589 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
|
590 } |
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
|
591 else { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
592 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
|
593 } |
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
|
594 } |
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
|
595 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
596 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
|
597 "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
|
598 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
|
599 "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
|
600 |
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
|
601 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
|
602 } |
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
|
603 |
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
|
604 |
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
|
605 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
|
606 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
|
607 |
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
|
608 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
|
609 |
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
|
610 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
|
611 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
|
612 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
|
613 } |
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
|
614 |
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
|
615 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
|
616 |
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
|
617 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
|
618 } |
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
|
619 |
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
|
620 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
|
621 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
622 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
623 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
624 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
|
625 // 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
|
626 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
627 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
628 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
629 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
|
630 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
|
631 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
|
632 } |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
633 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
634 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
635 protected void fetchWQData() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
636 Config config = Config.getInstance(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
637 String locale = config.getLocale (); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
638 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
639 ArtifactDescription adescr = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
640 DataList[] data = adescr.getOldData(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
641 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
642 double[] mm = getMinMaxKM(data); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
643 String river = getRiverName(data); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
644 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
645 wqInfoService.getWQInfo(locale, river, mm[0], mm[0], |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
646 new AsyncCallback<WQInfoObject[]>() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
647 public void onFailure(Throwable caught) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
648 GWT.log("Could not recieve wq informations."); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
649 SC.warn(caught.getMessage()); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
650 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
651 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
652 public void onSuccess(WQInfoObject[] wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
653 int num = wqi != null ? wqi.length :0; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
654 GWT.log("Recieved " + num + " wq informations."); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
655 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
656 if (num == 0) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
657 return; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
658 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
659 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
660 addWQInfo(wqi); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
661 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
662 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
663 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
664 ); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
665 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
666 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
667 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
668 protected void addWQInfo (WQInfoObject[] wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
669 for(WQInfoObject wi: wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
670 WQInfoRecord rec = new WQInfoRecord(wi); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
671 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
672 if (wi.getType().equals("W")) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
673 wTable.addData(rec); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
674 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
675 else { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
676 qdTable.addData(rec); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
677 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
678 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
679 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
680 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
681 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
682 /** |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
683 * Determines the min and max kilometer value selected in a former state. A |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
684 * bit silly, but we need to run over each value of the "old data" to find |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
685 * such values because it is not available here. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
686 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
687 * @param data The DataList which contains the whole data inserted for the |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
688 * current artifact. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
689 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
690 * @return a double array with [min, max]. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
691 */ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
692 protected double[] getMinMaxKM(DataList[] data) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
693 ArtifactDescription adesc = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
694 return adesc.getKMRange(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
695 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
696 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
697 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
698 /** |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
699 * Returns the name of the selected river. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
700 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
701 * @param data The DataList with all data. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
702 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
703 * @return the name of the current river. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
704 */ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
705 protected String getRiverName(DataList[] data) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
706 ArtifactDescription adesc = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
707 return adesc.getRiver(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
708 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
709 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
710 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
711 protected void updatePanels(boolean isQ) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
712 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
713 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
714 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
715 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
716 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
717 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |