Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/WQAdaptedInputPanel.java @ 8644:c15cebcf60da
Remove JavaScript greeting exception.
This fixes the Error "$wnd.unHighlight" is not a function
exception at startup. This apperantly did not do anything
(as the function does not exist) and was not necessary
(as everything works as expected) So just throw it away.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Fri, 27 Mar 2015 19:10:02 +0100 |
parents | 3c4c0ea52bbb |
children | 5e38e2924c07 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5921
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5921
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
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.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
|
12 import com.google.gwt.i18n.client.NumberFormat; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
13 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
|
14 |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
15 import com.smartgwt.client.data.Record; |
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
|
16 import com.smartgwt.client.types.TitleOrientation; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 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
|
23 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
|
24 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
|
25 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
|
26 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
27 import com.smartgwt.client.widgets.form.fields.events.FocusEvent; |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
28 import com.smartgwt.client.widgets.form.fields.events.FocusHandler; |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
29 import com.smartgwt.client.widgets.grid.events.CellClickEvent; |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
30 import com.smartgwt.client.widgets.grid.events.CellClickHandler; |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
31 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
|
32 import com.smartgwt.client.widgets.layout.VLayout; |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
33 import com.smartgwt.client.widgets.tab.Tab; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
34 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
|
35 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
36 import org.dive4elements.river.client.client.Config; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
37 import org.dive4elements.river.client.client.FLYSConstants; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
38 import org.dive4elements.river.client.client.services.WQInfoService; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
39 import org.dive4elements.river.client.client.services.WQInfoServiceAsync; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
40 import org.dive4elements.river.client.client.ui.wq.QDTable; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
41 import org.dive4elements.river.client.client.ui.wq.WTable; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
42 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
43 import org.dive4elements.river.client.shared.model.Data; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
44 import org.dive4elements.river.client.shared.model.DataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
45 import org.dive4elements.river.client.shared.model.DataList; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
46 import org.dive4elements.river.client.shared.model.DefaultData; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
47 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
48 import org.dive4elements.river.client.shared.model.WQDataItem; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
49 import org.dive4elements.river.client.shared.model.WQInfoObject; |
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
50 import org.dive4elements.river.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
|
51 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
52 import java.util.ArrayList; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
53 import java.util.HashMap; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
54 import java.util.LinkedHashMap; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
55 import java.util.List; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
56 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
|
57 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
58 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
59 /** |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
60 * 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
|
61 * 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
|
62 * |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
63 * @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
|
64 */ |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
65 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
|
66 extends AbstractUIProvider |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
67 implements ChangeHandler, BlurHandler, FocusHandler |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
69 private static final long serialVersionUID = -3218827566805476423L; |
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
70 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
71 /** The message class that provides i18n strings. */ |
5190
7b37876b2f51
WQAdaptedInputPanel: fix i18n, added todo as now method is full dupe.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5155
diff
changeset
|
72 protected FLYSConstants MESSAGE = GWT.create(FLYSConstants.class); |
7b37876b2f51
WQAdaptedInputPanel: fix i18n, added todo as now method is full dupe.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5155
diff
changeset
|
73 |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
74 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
|
75 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
|
76 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
|
77 |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
78 public static final String GAUGE_SEPARATOR = ":"; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
79 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
80 public static final String GAUGE_PART_SEPARATOR = ";"; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
81 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
82 public static final String VALUE_SEPARATOR = ","; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
83 |
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
|
84 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
|
85 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
86 /** The constant field name for choosing w or q mode. */ |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
87 public static final String FIELD_WQ = "wq"; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
88 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
89 /** The constant field name for choosing single values or range. */ |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
90 public static final String FIELD_MODE = "mode"; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
91 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
92 /** The constant field value for range input mode. */ |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
93 public static final String FIELD_MODE_RANGE = "range"; |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
94 |
5640 | 95 /** Service to fetch W/Q MainValues. */ |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
96 protected WQInfoServiceAsync wqInfoService = |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
97 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
|
98 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
99 /** The message class that provides i18n strings. */ |
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
|
100 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
|
101 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
102 /** Stores the input panels related to their keys. */ |
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 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
|
104 |
5527
6dbc111e9aec
WQAdaptedInputPanel: Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5526
diff
changeset
|
105 /** List of doubleArrayPanels shown. */ |
5526
35cd6286da2d
WQAdaptedInputPanel: Switch focus when input had been done via inputhelper (part flys/issue1133).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5447
diff
changeset
|
106 protected ArrayList<DoubleArrayPanel> doubleArrayPanels; |
35cd6286da2d
WQAdaptedInputPanel: Switch focus when input had been done via inputhelper (part flys/issue1133).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5447
diff
changeset
|
107 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
108 /** [startkm,endkm] per gauge in selected range. */ |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
109 protected double[][] gaugeRanges; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
110 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
111 /** Stores the min/max values for each q range (gauge). */ |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
112 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
|
113 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
114 /** Stores the min/max values for each w range (gauge). */ |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
115 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
|
116 |
5635
cda844f8d126
WQAdaptedInputPanel: cosmetics in docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5527
diff
changeset
|
117 /** The RadioGroupItem that determines the w/q input mode. */ |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
118 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
|
119 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
120 /** List of wTables in inputhelper section. */ |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
121 protected List<WTable> wTables; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
122 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
123 /** List of QDTables in inputhelper section. */ |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
124 protected List<QDTable> qdTables; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
125 |
5196 | 126 /** Tabs in inputhelper area. */ |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
127 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
|
128 |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
129 /** The currently focussed Input element. */ |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
130 protected DoubleArrayPanel itemWithFocus; |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
131 |
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
|
132 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
133 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
|
134 wqranges = new HashMap<String, DoubleArrayPanel>(); |
5526
35cd6286da2d
WQAdaptedInputPanel: Switch focus when input had been done via inputhelper (part flys/issue1133).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5447
diff
changeset
|
135 doubleArrayPanels = new ArrayList<DoubleArrayPanel>(); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
136 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
|
137 wranges = new HashMap<String, double[]>(); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
138 wTables = new ArrayList<WTable>(); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
139 qdTables = new ArrayList<QDTable>(); |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
6666
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
143 /** Create labels, canvasses, layouts. */ |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
144 @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
|
145 public Canvas create(DataList data) { |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
146 readGaugeRanges(data); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
147 initHelperPanel(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
148 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
149 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
|
150 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
|
151 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
|
152 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
153 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
|
154 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 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
|
156 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
|
157 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
|
158 |
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
|
159 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
|
160 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
|
161 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
|
162 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
163 fetchWQData(); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
164 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
165 initTableListeners(); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
166 |
6413
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
167 // We actually want the first Q tab to be selected and all |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
168 // Q tabs to be enabled. I sense a bug in TabSet here, as |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
169 // the code in the W/Q radiogroup-changehandler behaves |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
170 // exactly vice versa (enabling Q, selecting tab 0). |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
171 enableWTabs(); |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
172 tabs.selectTab(1); |
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
173 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 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
|
175 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 |
5190
7b37876b2f51
WQAdaptedInputPanel: fix i18n, added todo as now method is full dupe.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5155
diff
changeset
|
178 /** Inits the helper panel. */ |
7b37876b2f51
WQAdaptedInputPanel: fix i18n, added todo as now method is full dupe.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5155
diff
changeset
|
179 // TODO duplicate in WQInputPanel |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
180 protected void initHelperPanel() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
181 tabs = new TabSet(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
182 tabs.setWidth100(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
183 tabs.setHeight100(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
184 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
185 // For each gauge, add two tabs with helper tables. |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
186 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
187 for (int i = 0; i< gaugeRanges.length; i++) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
188 // Later the tabs title will get adjusted to include gauges name. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
189 // TODO the tabs title becomes rather long through that (i18n). |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
190 Tab wTab = new Tab(MESSAGE.wq_table_w()); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
191 Tab qTab = new Tab(MESSAGE.wq_table_q()); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
192 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
193 QDTable qdTable = new QDTable(); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
194 WTable wTable = new WTable(); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
195 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
196 wTables.add(wTable); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
197 qdTables.add(qdTable); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
198 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
199 qdTable.showSelect(); |
6666
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
200 wTable.showSelect(); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
201 wTab.setPane(wTable); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
202 qTab.setPane(qdTable); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
203 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
204 tabs.addTab(wTab, i*2+0); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
205 tabs.addTab(qTab, i*2+1); |
6413
c1b01cf2e91b
issue1259: fixing initial selected input helper tab. Believing that there is a bug in TabSet.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6271
diff
changeset
|
206 //tabs.disableTab(i*2+1); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
207 } |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
208 |
6271
9b7f1288e6c4
WQAdaptedInputPanel: Ensure correct initial default selection ("Q").
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6100
diff
changeset
|
209 // Defaults at "Q", first input field. |
9b7f1288e6c4
WQAdaptedInputPanel: Ensure correct initial default selection ("Q").
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6100
diff
changeset
|
210 tabs.selectTab(0); |
9b7f1288e6c4
WQAdaptedInputPanel: Ensure correct initial default selection ("Q").
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6100
diff
changeset
|
211 enableQTabs(); |
9b7f1288e6c4
WQAdaptedInputPanel: Ensure correct initial default selection ("Q").
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6100
diff
changeset
|
212 |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
213 helperContainer.addMember(tabs); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
214 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
215 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
216 |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
217 /** |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
218 * Initializes the listeners of the WQD tables. |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
219 */ |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
220 // TODO dupe from WQInputPanel |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
221 protected void initTableListeners() { |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
222 int i = 0; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
223 for (QDTable qdTable: qdTables) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
224 // Register listener such that values are filled in on click. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
225 final QDTable table = qdTable; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
226 final int fi = i; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
227 CellClickHandler handler = new CellClickHandler() { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
228 @Override |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
229 public void onCellClick(CellClickEvent e) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
230 if (isWMode() || table.isLocked()) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
231 return; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
232 } |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
233 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
234 Record r = e.getRecord(); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
235 double val = r.getAttributeAsDouble("value"); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
236 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
237 doubleArrayPanels.get(fi).setValues(new double[]{val}); |
5774
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
238 // If a named value for first gauge is chosen, try to find and set |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
239 // the values to the other panels too. |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
240 if (fi == 0) { |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
241 String valueName = r.getAttribute("name"); |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
242 int oi = 0; |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
243 // TODO instead of oi use random access. |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
244 for (QDTable otherQDTable: qdTables) { |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
245 if (oi == 0) { |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
246 oi++; |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
247 continue; |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
248 } |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
249 Double value = otherQDTable.findRecordValue(valueName); |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
250 if (value == null) { |
6014
2132c4b70cf9
issue1259: i18n msg when named main value not found at all gauges.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6006
diff
changeset
|
251 SC.warn(MSG.noMainValueAtGauge()); |
5774
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
252 } |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
253 else { |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
254 doubleArrayPanels.get(oi).setValues(new double[]{value}); |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
255 } |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
256 oi++; |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
257 } |
5526
35cd6286da2d
WQAdaptedInputPanel: Switch focus when input had been done via inputhelper (part flys/issue1133).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5447
diff
changeset
|
258 } |
5774
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
259 else { |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
260 // Focus next. |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
261 if (fi != doubleArrayPanels.size()-1) { |
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
262 doubleArrayPanels.get(fi+1).focusInItem(1); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
263 } |
5774
496c8c9d4913
issue1260, issue1259: Improve multi-gauge w/q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5773
diff
changeset
|
264 } |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
265 } |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
266 }; |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
267 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
268 qdTable.addCellClickHandler(handler); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
269 i++; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
270 } |
6666
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
271 |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
272 i = 0; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
273 for (WTable wTable: wTables) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
274 // Register listener such that values are filled in on click. |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
275 final WTable table = wTable; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
276 final int fi = i; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
277 CellClickHandler handler = new CellClickHandler() { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
278 @Override |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
279 public void onCellClick(CellClickEvent e) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
280 if (!isWMode() /*|| table.isLocked()*/) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
281 return; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
282 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
283 |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
284 Record r = e.getRecord(); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
285 double val = r.getAttributeAsDouble("value"); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
286 |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
287 doubleArrayPanels.get(fi).setValues(new double[]{val}); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
288 // If a named value for first gauge is chosen, try to find and set |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
289 // the values to the other panels too. |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
290 if (fi == 0) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
291 String valueName = r.getAttribute("name"); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
292 int oi = 0; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
293 // TODO instead of oi use random access. |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
294 for (WTable otherWTable: wTables) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
295 if (oi == 0) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
296 oi++; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
297 continue; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
298 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
299 Double value = otherWTable.findRecordValue(valueName); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
300 if (value == null) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
301 // TODO: afterwards it freaks out |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
302 SC.warn(MSG.noMainValueAtGauge()); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
303 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
304 else { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
305 doubleArrayPanels.get(oi).setValues(new double[]{value}); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
306 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
307 oi++; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
308 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
309 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
310 else { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
311 // Focus next. |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
312 if (fi != doubleArrayPanels.size()-1) { |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
313 doubleArrayPanels.get(fi+1).focusInItem(1); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
314 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
315 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
316 } |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
317 }; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
318 |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
319 wTable.addCellClickHandler(handler); |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
320 i++; |
3c4c0ea52bbb
issue1259: in WQAdaptedInputPanel (vollmer w/q-input) allow
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
6413
diff
changeset
|
321 } |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
322 } |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
323 |
5527
6dbc111e9aec
WQAdaptedInputPanel: Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5526
diff
changeset
|
324 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
325 @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
|
326 public Canvas createOld(DataList dataList) { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
327 List<Data> all = dataList.getAll(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
328 Data wqData = getData(all, "wq_values"); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
329 Data wqMode = getData(all, "wq_isq"); |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
330 boolean isQ = wqMode.getItems()[0].getStringValue().equals("true"); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
331 Canvas back = getBackButton(dataList.getState()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
332 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
333 HLayout valLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
334 HLayout modeLayout = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
335 VLayout vlayout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
336 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
337 Label wqLabel = new Label(dataList.getLabel()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
338 Label modeLabel = new Label(""); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
339 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
340 wqLabel.setValign(VerticalAlignment.TOP); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
341 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
342 wqLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
343 wqLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
344 modeLabel.setHeight(25); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
345 modeLabel.setWidth(200); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
346 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
347 valLayout.addMember(wqLabel); |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
348 valLayout.addMember(createOldWQValues(wqData, isQ)); |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
349 |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
350 valLayout.addMember(back); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
351 modeLayout.addMember(modeLabel); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
352 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
353 vlayout.addMember(valLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
354 vlayout.addMember(modeLayout); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
355 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
356 return vlayout; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
357 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
358 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
359 |
5124
17f4cd1acc96
WQAdaptedInputPanel: Picky doc and wsp cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5123
diff
changeset
|
360 /** Create area showing previously entered w or q data. */ |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
361 protected Canvas createOldWQValues(Data wqData, boolean isQ) { |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
362 VLayout layout = new VLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
363 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
364 DataItem item = wqData.getItems()[0]; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
365 String value = item.getStringValue(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
366 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
367 String[] gauges = value.split(GAUGE_SEPARATOR); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
368 |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
369 String unit = isQ ? "m³/s" : "cm"; |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
370 |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
371 for (String gauge: gauges) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
372 HLayout h = new HLayout(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
373 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
374 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
|
375 String[] values = parts[3].split(VALUE_SEPARATOR); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
376 |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
377 Label l = new Label(parts[2] + ": "); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
378 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
379 StringBuilder sb = new StringBuilder(); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
380 boolean first = true; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
381 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
382 for (String v: values) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
383 if (!first) { |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
384 sb.append(", "); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
385 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
386 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
387 sb.append(v); |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
388 sb.append(" "); |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
389 sb.append(unit); |
247
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
390 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
391 first = false; |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
392 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
393 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
394 Label v = new Label(sb.toString()); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
395 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
396 l.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
397 v.setWidth(65); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
398 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
399 h.addMember(l); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
400 h.addMember(v); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
401 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
402 layout.addMember(h); |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
403 } |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
404 |
4a684d29404f
Implemented the createOld() of WQAdaptedInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
405 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
|
406 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
407 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
408 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
409 /** Create non-input helper part of the UI. */ |
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
|
410 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
|
411 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
|
412 |
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
|
413 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
|
414 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
|
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 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
|
417 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
|
418 |
e4f0bef52689
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 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
|
420 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
|
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 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
|
423 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
|
424 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
425 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
|
426 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
|
427 |
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
|
428 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
|
429 |
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
|
430 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
|
431 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
432 |
e4f0bef52689
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 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
434 @Override |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
435 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
|
436 if (isWMode()) { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
437 return validateW(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
438 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
439 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
440 return validateQ(); |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
441 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
442 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
443 |
5527
6dbc111e9aec
WQAdaptedInputPanel: Cosmetics, doc.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5526
diff
changeset
|
444 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
445 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
|
446 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
|
447 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
|
448 |
6100
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
449 for (Map.Entry<String, DoubleArrayPanel> entry: wqranges.entrySet()) { |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
450 |
6100
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
451 String key = entry.getKey(); |
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
452 DoubleArrayPanel dap = entry.getValue(); |
602
3b670af34367
The adapted WQ panel now displays warnings if no information are present to validate user input.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
565
diff
changeset
|
453 |
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
|
454 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
|
455 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
|
456 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
|
457 } |
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
|
458 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
459 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
|
460 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
|
461 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
|
462 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
|
463 } |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
464 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
465 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
|
466 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
|
467 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
468 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
|
469 |
6100
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
470 List<String> tmpErrors = new ArrayList<String>(); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
471 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
|
472 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
|
473 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
|
474 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
|
475 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
|
476 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
|
477 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
|
478 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
479 else { |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
480 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
|
481 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
482 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
483 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
484 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
|
485 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
|
486 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
|
487 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
488 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
489 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
|
490 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
|
491 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
492 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
|
493 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
494 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
495 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
496 return errors; |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
497 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
498 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
499 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
500 protected List<String> validateW() { |
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
501 return validateRange(wranges); |
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
502 } |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
503 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
504 |
5123
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
505 protected List<String> validateQ() { |
64766b89beb6
WQAdaptedInputPanel: Refactored to remove code dupes.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5104
diff
changeset
|
506 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
|
507 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
508 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
509 |
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
|
510 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
|
511 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
|
512 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
|
513 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
514 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
515 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
516 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
|
517 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
|
518 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
519 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
|
520 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
|
521 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
|
522 |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
523 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
|
524 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
|
525 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
526 else { |
617
5bf652ba4581
#182 Initial WQ mode in adapted wq panel is now Q.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
602
diff
changeset
|
527 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
|
528 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
529 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
530 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
531 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
532 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
|
533 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
|
534 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
535 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
|
536 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
|
537 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
|
538 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
539 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
|
540 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
|
541 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
542 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
543 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
|
544 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
545 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
|
546 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
|
547 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
548 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
549 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
|
550 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
|
551 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
|
552 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
553 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
|
554 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
|
555 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
556 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
557 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
|
558 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
|
559 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
560 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
|
561 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
562 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
|
563 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
|
564 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
|
565 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
566 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
|
567 // 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
|
568 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
569 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
570 |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
571 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
|
572 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
|
573 |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
574 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
|
575 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
|
576 } |
5274b9317e40
#139 Fixed NPE while initialising user defined values in the adapted wq panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
519
diff
changeset
|
577 |
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
|
578 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
|
579 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
580 } |
77234b1d009c
ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
255
diff
changeset
|
581 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
582 /** Populate Gauge Ranges array. */ |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
583 private void readGaugeRanges(DataList dataList) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
584 DataItem[] items = getWQItems(dataList); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
585 gaugeRanges = new double[items.length][2]; |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5921
diff
changeset
|
586 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
587 int i = 0; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
588 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
589 for (DataItem item: items) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
590 String[] startEndKm = item.getLabel().split(";"); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
591 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
592 gaugeRanges[i][0] = Double.parseDouble(startEndKm[0]); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
593 gaugeRanges[i][1] = Double.parseDouble(startEndKm[1]); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
594 i++; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
595 } |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
596 } |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
597 |
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
|
598 |
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
|
599 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
|
600 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
|
601 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
602 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
|
603 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
604 int i = 0; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
605 |
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
|
606 for (DataItem item: items) { |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
607 String title = item.getLabel(); // of form: 70.5;112.0 |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
608 String label = item.getStringValue(); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
609 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
610 // Rename W and Q tab to include gauges name. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
611 tabs.getTab(i*2).setTitle(tabs.getTab(i*2).getTitle() |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
612 + " (" + label + ")"); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
613 tabs.getTab(i*2+1).setTitle(tabs.getTab(i*2+1).getTitle() |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
614 + " (" + label + ")"); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
615 |
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
|
616 DoubleArrayPanel dap = new DoubleArrayPanel( |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
617 label, null, this, 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
|
618 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
619 wqranges.put(title, dap); |
5526
35cd6286da2d
WQAdaptedInputPanel: Switch focus when input had been done via inputhelper (part flys/issue1133).
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5447
diff
changeset
|
620 doubleArrayPanels.add(dap); |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
621 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
622 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
|
623 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
|
624 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
|
625 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
|
626 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
627 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
|
628 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
|
629 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
630 |
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
|
631 layout.addMember(dap); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
632 i++; |
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
|
633 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
634 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
635 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
|
636 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
637 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
|
638 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
639 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
640 |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
641 /** Get items which are not WQ_MODE. */ |
255
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
642 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
|
643 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
|
644 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
645 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
|
646 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
|
647 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
648 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
|
649 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
|
650 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
651 |
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
|
652 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
|
653 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
654 |
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
|
655 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
|
656 } |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
657 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
658 |
5154
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
659 /** |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
660 * Create radio button for switching w and q input. |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
661 * Radiobutton-change also triggers helper panel tab selection. |
56091d58a99f
Partly fix flys/issue1127 (show unit in wqadapted) and added documentation.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5124
diff
changeset
|
662 */ |
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
|
663 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
|
664 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
|
665 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
|
666 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
|
667 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
|
668 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
669 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
|
670 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
|
671 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
|
672 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
673 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
|
674 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
675 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
|
676 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
|
677 modes.setWidth(200); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
678 wq.addChangeHandler(new ChangeHandler() { |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
679 @Override |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
680 public void onChange(ChangeEvent e) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
681 DynamicForm form = e.getForm(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
682 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
683 if(form.getValueAsString(FIELD_WQ_MODE).contains("Q")) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
684 tabs.selectTab(0); |
5921
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
685 enableQTabs(); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
686 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
687 else { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
688 tabs.selectTab(1); |
5921
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
689 enableWTabs(); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
690 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
691 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
692 }); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
693 |
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
|
694 |
e4f0bef52689
Added radio buttons to choose between W/Q modes in the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
247
diff
changeset
|
695 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
|
696 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
|
697 modes.setValues(initial); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
698 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
|
699 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
|
700 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
701 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
702 |
5921
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
703 public void enableWTabs() { |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
704 for (int i = 0; i < doubleArrayPanels.size(); i++) { |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
705 tabs.disableTab(2*i); |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
706 tabs.enableTab(2*i+1); |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
707 } |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
708 } |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
709 |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
710 |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
711 public void enableQTabs() { |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
712 for (int i = 0; i < doubleArrayPanels.size(); i++) { |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
713 tabs.enableTab(2*i); |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
714 tabs.disableTab(2*i+1); |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
715 } |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
716 } |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
717 |
17b07104d093
issue1259: Grey out inputhelper Ws when Qs are to be chosen and vice versa.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5861
diff
changeset
|
718 |
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
|
719 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
|
720 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
|
721 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
722 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
|
723 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
724 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
725 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
726 @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
|
727 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
|
728 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
|
729 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
|
730 |
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
|
731 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
|
732 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
733 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
734 |
565
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
735 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
|
736 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
|
737 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
738 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
|
739 } |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
740 |
a078ba1c139d
Introduced a client side input validation for the adapted WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
560
diff
changeset
|
741 |
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
|
742 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
|
743 String wqMode = modes.getValueAsString(FIELD_WQ_MODE); |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
744 String value = "false"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
745 if (wqMode.equals("Q")) { |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
746 value = "true"; |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
747 } |
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
748 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
|
749 Data mode = new DefaultData( |
2392
8112ec686a9a
Picked rev4066,4075 from trunk.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
617
diff
changeset
|
750 "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
|
751 |
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
|
752 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
|
753 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
754 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
755 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
756 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
|
757 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
|
758 |
6100
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
759 for (Map.Entry<String, DoubleArrayPanel> entry: wqranges.entrySet()) { |
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
760 String key = entry.getKey(); |
de92e0cdebdc
GWT client: Removed some Iterator cruft.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
6014
diff
changeset
|
761 DoubleArrayPanel dap = entry.getValue(); |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
762 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
|
763 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
764 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
|
765 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
|
766 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
|
767 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
768 else { |
5104
5f70c73b11ed
Display gauge names in WQAdapted input panel instead of gauge range.
Raimund Renkert <rrenkert@intevation.de>
parents:
4568
diff
changeset
|
769 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
|
770 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
771 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
772 |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
773 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
|
774 "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
|
775 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
|
776 "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
|
777 |
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
|
778 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
|
779 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
780 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
781 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
782 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
|
783 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
|
784 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
785 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
|
786 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
787 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
|
788 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
|
789 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
|
790 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
791 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
792 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
|
793 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
794 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
|
795 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
796 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
243
diff
changeset
|
797 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
|
798 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
799 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
800 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
801 @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
|
802 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
|
803 // 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
|
804 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
805 |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
806 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
807 /** Store the currently focussed DoubleArrayPanel and focus helper tab. */ |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
808 @Override |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
809 public void onFocus(FocusEvent event) { |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
810 itemWithFocus = (DoubleArrayPanel) event.getForm(); |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
811 // Switch to respective tab. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
812 // TODO which makes a focus loss |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
813 int inputIndex = doubleArrayPanels.indexOf(itemWithFocus); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
814 tabs.selectTab(inputIndex*2 + (isWMode() ? 0 : 1)); |
5195
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
815 } |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
816 |
d07abdb7ed7f
flys/issue1137: Allow value selection via inputhelpers in WQAdaptedPanel.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5190
diff
changeset
|
817 |
4568
bbd82bd8e541
flys-client: Cosmetics and warnings.
Christian Lins <christian.lins@intevation.de>
parents:
3969
diff
changeset
|
818 @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
|
819 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
|
820 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
|
821 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
|
822 } |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
823 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
824 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
825 /** Get the WQD data from service and stuck them up that tables. */ |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
826 protected void fetchWQData() { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
827 Config config = Config.getInstance(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
828 String locale = config.getLocale (); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
829 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
830 ArtifactDescription adescr = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
831 DataList[] data = adescr.getOldData(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
832 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
833 double[] mm = getMinMaxKM(data); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
834 String river = getRiverName(data); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
835 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
836 int i = 0; |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
837 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
838 // Get Data for respective gauge. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
839 for (double[] range : gaugeRanges){ |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
840 // Gauge ranges overlap, move start and end a bit closer to each other. |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
841 final double rDiff = (range[1] - range[0]) / 10d; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
842 final int fi = i; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
843 wqInfoService.getWQInfo(locale, river, range[0]+rDiff, range[1]-rDiff, |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
844 new AsyncCallback<WQInfoObject[]>() { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
845 @Override |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
846 public void onFailure(Throwable caught) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
847 GWT.log("Could not recieve wq informations."); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
848 SC.warn(caught.getMessage()); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
849 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
850 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
851 @Override |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
852 public void onSuccess(WQInfoObject[] wqi) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
853 int num = wqi != null ? wqi.length :0; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
854 GWT.log("Received " + num + " wq informations (" + fi + "."); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
855 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
856 if (num == 0) { |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
857 return; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
858 } |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
859 |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
860 addWQInfo(wqi, fi); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
861 } |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
862 } |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
863 ); |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
864 i++; |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
865 } |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
866 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
867 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
868 |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
869 /** Add Info to helper table for gauge at index gaugeIdx. */ |
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
870 protected void addWQInfo (WQInfoObject[] wqi, int gaugeIdx) { |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
871 for(WQInfoObject wi: wqi) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
872 WQInfoRecord rec = new WQInfoRecord(wi); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
873 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
874 if (wi.getType().equals("W")) { |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
875 wTables.get(gaugeIdx).addData(rec); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
876 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
877 else { |
5773
cdc47534a970
issue1133: Improved multi-gauge W/Q input.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5640
diff
changeset
|
878 qdTables.get(gaugeIdx).addData(rec); |
2456
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
879 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
880 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
881 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
882 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
883 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
884 /** |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
885 * 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
|
886 * 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
|
887 * such values because it is not available here. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
888 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
889 * @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
|
890 * current artifact. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
891 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
892 * @return a double array with [min, max]. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
893 */ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
894 protected double[] getMinMaxKM(DataList[] data) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
895 ArtifactDescription adesc = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
896 return adesc.getKMRange(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
897 } |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
898 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
899 |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
900 /** |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
901 * Returns the name of the selected river. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
902 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
903 * @param data The DataList with all data. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
904 * |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
905 * @return the name of the current river. |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
906 */ |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
907 protected String getRiverName(DataList[] data) { |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
908 ArtifactDescription adesc = artifact.getArtifactDescription(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
909 return adesc.getRiver(); |
60ab1054069d
Issue 630.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
2432
diff
changeset
|
910 } |
243
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
911 } |
11c5bcd349b1
Added a stub implementation of a WQ panel for discharge longitudinal section computations.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
912 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |