Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java @ 4198:1cdbd8a0c994
Added two new tables ClickableQDTable and ClickableWTable and made Ws and Qs clickable in historical discharge calculation.
The new tables define listener interfaces (clicked lower or upper icon) to listen to user clicks.
In addition to this, there is an enum ClickMode with NONE, SINGLE and RANGE options, which allows to
specifiy, which icons are displayed in the tables. NONE means no icon for user clicks, SINGLE has 1
icon, RANGE 2 icons for lower and upper.
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 13:31:25 +0200 |
parents | 8490faba00e7 |
children | bbd82bd8e541 |
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 { |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
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"); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
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); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
567 String value = "false"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
568 if (wqMode.equals("Q")) { |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
569 value = "true"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
570 } |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
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( |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
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 : |