Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java @ 5144:2c31625d4e6a
New icons! Use the new icons in project list and for export buttons.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Thu, 28 Feb 2013 16:40:16 +0100 |
parents | 17f4cd1acc96 |
children | 56091d58a99f |
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 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
3 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
|
4 import com.google.gwt.i18n.client.NumberFormat; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
5 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
|
6 |
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 com.smartgwt.client.types.TitleOrientation; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
8 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
|
9 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
|
10 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
|
11 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
|
12 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
|
13 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
|
14 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
15 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
16 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
18 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
|
19 import com.smartgwt.client.widgets.layout.VLayout; |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
20 import com.smartgwt.client.widgets.tab.Tab; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
21 import com.smartgwt.client.widgets.tab.TabSet; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
23 import de.intevation.flys.client.client.Config; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
24 import de.intevation.flys.client.client.FLYSConstants; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
25 import de.intevation.flys.client.client.services.WQInfoService; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
26 import de.intevation.flys.client.client.services.WQInfoServiceAsync; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
27 import de.intevation.flys.client.client.ui.wq.QDTable; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
28 import de.intevation.flys.client.client.ui.wq.WTable; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
29 import de.intevation.flys.client.shared.model.ArtifactDescription; |
243
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; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
38 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
39 import java.util.ArrayList; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
40 import java.util.HashMap; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
41 import java.util.Iterator; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
42 import java.util.LinkedHashMap; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
43 import java.util.List; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
44 import java.util.Map; |
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
|
45 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
46 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 /** |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
48 * 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
|
49 * 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
|
50 * |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
51 * @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
|
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 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
|
54 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
|
55 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
|
56 { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
57 private static final long serialVersionUID = -3218827566805476423L; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
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 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
114 @Override |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
115 public Canvas create(DataList data) { |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
116 initHelperPanel(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
117 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
118 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
|
119 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
|
120 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
|
121 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
122 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
|
123 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 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
|
125 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
|
126 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
|
127 |
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
|
128 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
|
129 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
|
130 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
|
131 |
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 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
158 @Override |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
159 public Canvas createOld(DataList dataList) { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
160 List<Data> all = dataList.getAll(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
161 Data wqData = getData(all, "wq_values"); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
162 Data wqMode = getData(all, "wq_isq"); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
163 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
164 Canvas back = getBackButton(dataList.getState()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
165 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
166 HLayout valLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
167 HLayout modeLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
168 VLayout vlayout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
169 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
170 Label wqLabel = new Label(dataList.getLabel()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
171 Label modeLabel = new Label(""); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
172 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
173 wqLabel.setValign(VerticalAlignment.TOP); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
174 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
175 wqLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
176 wqLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
177 modeLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
178 modeLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
179 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
180 valLayout.addMember(wqLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
181 valLayout.addMember(createOldWQValues(wqData)); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
182 valLayout.addMember(back); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
183 modeLayout.addMember(modeLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
184 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
185 vlayout.addMember(valLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
186 vlayout.addMember(modeLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
187 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
188 return vlayout; |
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 |
5124
17f4cd1acc96
WQAdaptedInputPanel: Picky doc and wsp cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5123
diff
changeset
|
192 /** Create area showing previously entered w or q data. */ |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
193 protected Canvas createOldWQValues(Data wqData) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
194 VLayout layout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
195 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
196 DataItem item = wqData.getItems()[0]; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
197 String value = item.getStringValue(); |
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 String[] gauges = value.split(GAUGE_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
200 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
201 for (String gauge: gauges) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
202 HLayout h = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
203 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
204 String[] parts = gauge.split(GAUGE_PART_SEPARATOR); |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
205 String[] values = parts[3].split(VALUE_SEPARATOR); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
206 |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
207 Label l = new Label(parts[2] + ": "); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
208 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
209 StringBuilder sb = new StringBuilder(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
210 boolean first = true; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
211 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
212 for (String v: values) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
213 if (!first) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
214 sb.append(", "); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
215 } |
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 sb.append(v); |
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 first = false; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
220 } |
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 Label v = new Label(sb.toString()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
223 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
224 l.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
225 v.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
226 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
227 h.addMember(l); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
228 h.addMember(v); |
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 layout.addMember(h); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
231 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
232 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
233 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
|
234 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 |
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
|
237 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
|
238 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
|
239 |
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
|
240 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
|
241 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
|
242 |
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 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
|
244 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
|
245 |
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 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
|
247 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
|
248 |
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 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
|
250 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
|
251 |
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 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
|
253 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
|
254 |
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
|
255 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
|
256 |
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
|
257 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
|
258 } |
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
|
259 |
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
|
260 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
261 @Override |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
262 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
|
263 if (isWMode()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
264 return validateW(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
265 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
266 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
267 return validateQ(); |
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 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
271 protected List<String> validateRange(Map<String, double[]> ranges) { |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
272 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
|
273 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
|
274 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
275 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
|
276 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
277 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
|
278 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
|
279 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
280 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
|
281 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
|
282 |
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 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
|
284 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
|
285 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
|
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 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
288 double[] mm = ranges.get(key); |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
289 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
|
290 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
|
291 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
|
292 } |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
293 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
294 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
|
295 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
|
296 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
297 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
|
298 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
299 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
|
300 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
|
301 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
|
302 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
|
303 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
|
304 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
|
305 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
|
306 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
307 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
308 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
|
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 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
312 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
|
313 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
|
314 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
|
315 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
316 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
317 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
|
318 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
|
319 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
320 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
|
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 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
324 return errors; |
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 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
328 protected List<String> validateW() { |
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
329 return validateRange(wranges); |
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
330 } |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
331 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
332 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
333 protected List<String> validateQ() { |
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
334 return validateRange(qranges); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
335 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
336 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
337 |
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
|
338 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
|
339 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
|
340 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
|
341 } |
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
|
342 |
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
|
343 |
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
|
344 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
|
345 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
|
346 |
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
|
347 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
|
348 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
|
349 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
|
350 |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
351 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
|
352 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
|
353 } |
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
|
354 else { |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
355 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
|
356 } |
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
|
357 } |
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
|
358 |
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
|
359 |
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
|
360 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
|
361 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
|
362 |
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
|
363 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
|
364 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
|
365 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
|
366 |
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
|
367 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
|
368 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
|
369 } |
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
|
370 |
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
|
371 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
|
372 |
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
|
373 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
|
374 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
|
375 } |
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
|
376 |
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
|
377 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
|
378 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
|
379 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
|
380 |
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
|
381 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
|
382 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
|
383 } |
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 |
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 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
|
386 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
|
387 |
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 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
|
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 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
|
391 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
|
392 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
|
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 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
|
395 // 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
|
396 } |
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 } |
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
|
398 |
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
|
399 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
|
400 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
|
401 |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
402 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
|
403 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
|
404 } |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
405 |
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
|
406 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
|
407 } |
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 } |
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 |
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
|
411 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
|
412 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
|
413 |
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
|
414 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
|
415 |
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
|
416 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
|
417 String title = item.getLabel(); |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
418 String label = item.getStringValue(); |
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
|
419 DoubleArrayPanel dap = new DoubleArrayPanel( |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
420 label, null, this, TitleOrientation.LEFT); |
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
|
421 |
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
|
422 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
|
423 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
424 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
|
425 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
|
426 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
|
427 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
|
428 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
429 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
|
430 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
|
431 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
432 |
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
|
433 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
|
434 } |
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
|
435 |
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
|
436 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
|
437 |
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
|
438 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
|
439 } |
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
|
440 |
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
|
441 |
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
|
442 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
|
443 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
|
444 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
445 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
|
446 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
|
447 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
448 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
|
449 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
|
450 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
451 |
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
|
452 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
|
453 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
454 |
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
|
455 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
|
456 } |
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
|
457 |
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 |
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 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
|
460 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
|
461 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
|
462 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
|
463 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
|
464 |
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 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
|
466 wqValues.put(FIELD_WQ_W, MSG.wqW()); |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
467 wqValues.put(FIELD_WQ_Q, MSG.wqQatGauge()); |
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
|
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 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
|
470 |
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
|
471 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
|
472 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
|
473 modes.setWidth(200); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
474 wq.addChangeHandler(new ChangeHandler() { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
475 @Override |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
476 public void onChange(ChangeEvent e) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
477 DynamicForm form = e.getForm(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
478 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
479 if(form.getValueAsString(FIELD_WQ_MODE).contains("Q")) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
480 tabs.selectTab(0); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
481 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
482 else { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
483 tabs.selectTab(1); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
484 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
485 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
486 }); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
487 |
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
|
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 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
|
490 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
|
491 modes.setValues(initial); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
492 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
|
493 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
|
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 |
ccba1a0b743e
The WQAdaptedInputPanel 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 |
ccba1a0b743e
The WQAdaptedInputPanel 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 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
|
498 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
|
499 |
ccba1a0b743e
The WQAdaptedInputPanel 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 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
|
501 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
502 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
503 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
504 @Override |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
505 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
|
506 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
|
507 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
|
508 |
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
|
509 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
|
510 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
511 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
512 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
513 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
|
514 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
|
515 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
516 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
|
517 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
518 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
519 |
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
|
520 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
|
521 String wqMode = modes.getValueAsString(FIELD_WQ_MODE); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
522 String value = "false"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
523 if (wqMode.equals("Q")) { |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
524 value = "true"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
525 } |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
526 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
|
527 Data mode = new DefaultData( |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
528 "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
|
529 |
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
|
530 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
|
531 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
532 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
533 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
534 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
|
535 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
|
536 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
537 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
|
538 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
|
539 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
|
540 DoubleArrayPanel dap = wqranges.get(key); |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
541 String label = dap.getItemTitle(); |
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
|
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 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
|
544 if (wqvalue == null) { |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
545 wqvalue = createValueString(key + ";" + label, 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
|
546 } |
ccba1a0b743e
The WQAdaptedInputPanel 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 else { |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
548 wqvalue += GAUGE_SEPARATOR + createValueString(key + ";" + label, 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
|
549 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
550 } |
ccba1a0b743e
The WQAdaptedInputPanel 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 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
552 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
|
553 "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
|
554 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
|
555 "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
|
556 |
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
|
557 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
|
558 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
559 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
560 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
561 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
|
562 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
|
563 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
564 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
|
565 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
566 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
|
567 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
|
568 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
|
569 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
570 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
571 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
|
572 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
573 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
|
574 } |
ccba1a0b743e
The WQAdaptedInputPanel 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 |
ccba1a0b743e
The WQAdaptedInputPanel 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 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
|
577 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
578 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
579 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
580 @Override |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
581 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
|
582 // 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
|
583 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
584 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
585 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
586 @Override |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
587 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
|
588 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
|
589 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
|
590 } |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
591 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
592 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
593 protected void fetchWQData() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
594 Config config = Config.getInstance(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
595 String locale = config.getLocale (); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
596 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
597 ArtifactDescription adescr = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
598 DataList[] data = adescr.getOldData(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
599 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
600 double[] mm = getMinMaxKM(data); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
601 String river = getRiverName(data); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
602 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
603 wqInfoService.getWQInfo(locale, river, mm[0], mm[0], |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
604 new AsyncCallback<WQInfoObject[]>() { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
605 @Override |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
606 public void onFailure(Throwable caught) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
607 GWT.log("Could not recieve wq informations."); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
608 SC.warn(caught.getMessage()); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
609 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
610 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
611 @Override |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
612 public void onSuccess(WQInfoObject[] wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
613 int num = wqi != null ? wqi.length :0; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
614 GWT.log("Recieved " + num + " wq informations."); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
615 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
616 if (num == 0) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
617 return; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
618 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
619 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
620 addWQInfo(wqi); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
621 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
622 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
623 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
624 ); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
625 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
626 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
627 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
628 protected void addWQInfo (WQInfoObject[] wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
629 for(WQInfoObject wi: wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
630 WQInfoRecord rec = new WQInfoRecord(wi); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
631 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
632 if (wi.getType().equals("W")) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
633 wTable.addData(rec); |
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 else { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
636 qdTable.addData(rec); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
637 } |
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 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
640 |
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 /** |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
643 * 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
|
644 * 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
|
645 * such values because it is not available here. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
646 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
647 * @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
|
648 * current artifact. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
649 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
650 * @return a double array with [min, max]. |
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 protected double[] getMinMaxKM(DataList[] data) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
653 ArtifactDescription adesc = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
654 return adesc.getKMRange(); |
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 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
657 |
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 * Returns the name of the selected river. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
660 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
661 * @param data The DataList with all data. |
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 * @return the name of the current river. |
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 protected String getRiverName(DataList[] data) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
666 ArtifactDescription adesc = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
667 return adesc.getRiver(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
668 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
669 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
670 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
671 protected void updatePanels(boolean isQ) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
672 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
673 } |
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 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
676 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
677 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |