annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 2389:3b1a7f34e19b

flys/issue499: Deactivate validation for 'W am Pegel' flys-client/trunk@4050 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 14 Feb 2012 16:33:26 +0000
parents d53f8cc1702c
children 8112ec686a9a f405eb46762e
rev   line source
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
2
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
3 import java.util.ArrayList;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
4 import java.util.LinkedHashMap;
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
5 import java.util.List;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
6
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
7 import com.google.gwt.core.client.GWT;
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
8 import com.google.gwt.i18n.client.NumberFormat;
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
9 import com.google.gwt.user.client.rpc.AsyncCallback;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
10
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
11 import com.smartgwt.client.data.Record;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
12
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
13 import com.smartgwt.client.util.SC;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
14 import com.smartgwt.client.widgets.Canvas;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
15 import com.smartgwt.client.widgets.Label;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
16 import com.smartgwt.client.widgets.form.DynamicForm;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
17 import com.smartgwt.client.widgets.form.fields.FormItem;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
18 import com.smartgwt.client.widgets.form.fields.RadioGroupItem;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
19 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
20 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
21 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
22 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent;
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
23 import com.smartgwt.client.widgets.layout.HLayout;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
24 import com.smartgwt.client.widgets.layout.VLayout;
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
25 import com.smartgwt.client.widgets.grid.events.CellClickHandler;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
26 import com.smartgwt.client.widgets.grid.events.CellClickEvent;
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
27 import com.smartgwt.client.widgets.tab.TabSet;
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
28 import com.smartgwt.client.widgets.tab.Tab;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
29
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 import de.intevation.flys.client.shared.model.Data;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
31 import de.intevation.flys.client.shared.model.DataItem;
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
32 import de.intevation.flys.client.shared.model.DataList;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
33 import de.intevation.flys.client.shared.model.DefaultData;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
34 import de.intevation.flys.client.shared.model.DefaultDataItem;
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
35 import de.intevation.flys.client.shared.model.WQInfoObject;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
36 import de.intevation.flys.client.shared.model.WQInfoRecord;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
37 import de.intevation.flys.client.shared.model.ArtifactDescription;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
38
211
b92281182c6b Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 101
diff changeset
39 import de.intevation.flys.client.client.FLYSConstants;
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
40 import de.intevation.flys.client.client.Config;
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
41 import de.intevation.flys.client.client.services.WQInfoService;
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
42 import de.intevation.flys.client.client.services.WQInfoServiceAsync;
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
43 import de.intevation.flys.client.client.ui.wq.WTable;
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
44 import de.intevation.flys.client.client.ui.wq.QDTable;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
46
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
47 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
48 * This UIProvider creates a widget to enter W or Q data.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
49 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
50 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 public class WQInputPanel
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
53 extends AbstractUIProvider
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
54 implements ChangeHandler, BlurHandler
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
55 {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
56 /** The message class that provides i18n strings.*/
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
57 protected FLYSConstants MESSAGE = GWT.create(FLYSConstants.class);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
58
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
59 protected WQInfoServiceAsync wqInfoService =
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
60 GWT.create(WQInfoService.class);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
61
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
62 /** The constant field name for choosing w or q mode.*/
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
63 public static final String FIELD_WQ_W_FREE = "WFREE";
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
64
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
65 /** The constant field name for choosing w or q mode.*/
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
66 public static final String FIELD_WQ = "wq";
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
67
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68 /** The constant field value for W input mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 public static final String FIELD_WQ_W = "W";
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
71 /** The constant field value for Q input mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
72 public static final String FIELD_WQ_Q = "Q";
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
73
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
74 /** The constant field value for Q input mode.*/
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
75 public static final String FIELD_WQ_Q_GAUGE = "Q_GAUGE";
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
76
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
77 /** The constant field name for choosing single values or range.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
78 public static final String FIELD_MODE = "mode";
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
79
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
80 /** The constant field value for single input mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 public static final String FIELD_MODE_SINGLE = "single";
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83 /** The constant field value for range input mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
84 public static final String FIELD_MODE_RANGE = "range";
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
85
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86 /** The constant value that determines the width of the left panel.*/
596
3f094045d512 Adapted a german string in the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 595
diff changeset
87 public static final int WIDTH_LEFT_UPPER = 400;
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
88
596
3f094045d512 Adapted a german string in the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 595
diff changeset
89 public static final int WIDTH_LEFT_LOWER = 223;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
90
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
91
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
92 /** The container that manages the w and q panels.*/
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
93 protected HLayout container;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 /** The RadioGroupItem that determines the w/q input mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
96 protected DynamicForm modes;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
97
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
98 /** The min values for the 'from' property in the W-Range input mode.*/
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
99 protected double minW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
100
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
101 /** The min values for the 'from' property in the Q-Range input mode.*/
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
102 protected double minQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
103
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
104 /** The min value for the 'from' property in the free Q-Range input mode.*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
105 protected double minQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
106
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
107 /** The max values for the 'from' property in the W-Range input mode.*/
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
108 protected double maxW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
109
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
110 /** The max values for the 'from' property in the Q-Range input mode.*/
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
111 protected double maxQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
112
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
113 /** The max value for the 'from' property in the free Q-Range input mode.*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
114 protected double maxQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
115
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 /** The 'from' value entered in the range W mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117 protected double fromW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
118
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
119 /** The 'to' value entered in the range W mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
120 protected double toW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
121
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
122 /** The 'step' value entered in the range W mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 protected double stepW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
124
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
125 /** The values entered in the single W mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
126 protected double[] valuesW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
128 /** The 'from' value entered in the range Q mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
129 protected double fromQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
131 /** The 'from' value entered in the range free Q mode.*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
132 protected double fromQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
133
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 /** The 'to' value entered in the range Q mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 protected double toQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
137 /** The 'to' value entered in the range free Q mode.*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
138 protected double toQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
139
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140 /** The 'step' value entered in the range Q mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 protected double stepQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
143 /** The 'step' value entered in the range free Q mode.*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
144 protected double stepQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
145
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146 /** The values entered in the single Q mode.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
147 protected double[] valuesQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
148
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
149 /** The values entered in the single free Q mode.*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
150 protected double[] valuesQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
151
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
152 /** The input panel for W values*/
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
153 protected DoubleArrayPanel wArrayPanel;
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
154
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
155 /** The input panel for q values*/
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
156 protected DoubleArrayPanel qArrayPanel;
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
157
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
158 /** The input panel for free q values*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
159 protected DoubleArrayPanel qFreeArrayPanel;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
160
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
161 /** The input panel for w range*/
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
162 protected DoubleRangePanel wRangePanel;
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
163
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
164 /** The input panel for q range*/
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
165 protected DoubleRangePanel qRangePanel;
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
166
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
167 /** The input panel for free q range*/
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
168 protected DoubleRangePanel qFreeRangePanel;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
169
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
170 protected QDTable qdTable;
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
171
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
172 protected WTable wTable;
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
173
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
174 protected TabSet tabs;
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
175
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
176 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
177 * Creates a new WQInputPanel instance.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
178 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
179 public WQInputPanel() {
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
180 qdTable = new QDTable();
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
181 wTable = new WTable();
912
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
182
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
183 initTableListeners();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
184 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
185
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
186
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
187 /**
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
188 * Initializes the listeners of the WQD tables.
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
189 */
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
190 protected void initTableListeners() {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
191 CellClickHandler handler = new CellClickHandler() {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
192 public void onCellClick(CellClickEvent e) {
1369
1fae113b93fd Issue 118/203.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1355
diff changeset
193 if (isWMode() || qdTable.isLocked()) {
912
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
194 return;
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
195 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
196
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
197 int idx = e.getColNum();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
198 Record r = e.getRecord ();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
199 double val = r.getAttributeAsDouble("value");
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
200
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
201 if (idx == 0) {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
202 if (isRangeMode()) {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
203 qRangePanel.setFrom(val);
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
204 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
205 else {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
206 qArrayPanel.addValue(val);
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
207 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
208 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
209 else if (idx == 1) {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
210 if (isRangeMode()) {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
211 qRangePanel.setTo(val);
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
212 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
213 else {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
214 qArrayPanel.addValue(val);
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
215 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
216 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
217 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
218 };
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
219
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
220 qdTable.addCellClickHandler(handler);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
221 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
222
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
223
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
224 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
225 * This method calls createWidget and puts a 'next' button to the bottom.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
226 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227 * @param data The data that is displayed.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
228 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
229 * @return the widget.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
230 */
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
231 public Canvas create(DataList data) {
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
232 initDefaults(data);
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
233
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
234 Canvas widget = createWidget(data);
57
246af33f621c Adjusted the look of the 'next' button in the parameter panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 56
diff changeset
235 Canvas submit = getNextButton();
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
236 Label label = new Label(MESSAGE.wqTitle());
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
237
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
238 label.setHeight(25);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
239
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
240 VLayout layout = new VLayout();
83
4784ca718476 Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 59
diff changeset
241 layout.setMembersMargin(10);
4784ca718476 Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 59
diff changeset
242
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
243 layout.addMember(label);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
244 layout.addMember(widget);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
245 layout.addMember(submit);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
246
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
247 initHelperPanel();
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
248 initUserDefaults(data);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
249
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
250 return layout;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
252
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
253
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
254 protected void initHelperPanel() {
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
255 tabs = new TabSet();
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
256 tabs.setWidth100();
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
257 tabs.setHeight100();
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
258
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
259 // TODO i18n
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
260 Tab wTab = new Tab("W");
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
261 Tab qTab = new Tab("Q / D");
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
262
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
263 wTab.setPane(wTable);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
264 qTab.setPane(qdTable);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
265
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
266 tabs.addTab(wTab, 0);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
267 tabs.addTab(qTab, 1);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
268
788
dfbc6693247e Integrated a stacked panel on the right side of the ParameterList that enables users to see calculation results and the helper panel at the same time.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 596
diff changeset
269 helperContainer.addMember(tabs);
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
270
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
271 fetchWQData();
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
272 }
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
273
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
274
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
275 public Canvas createOld(DataList dataList) {
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
276 List<Data> items = dataList.getAll();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
277
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
278 Data dMode = getData(items, "wq_mode");
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
279 Data dFree = getData(items, "wq_free");
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
280 Data dSelection = getData(items, "wq_selection");
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
281 Data dSingle = getData(items, "wq_single");
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
282 Data dFrom = getData(items, "wq_from");
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
283 Data dTo = getData(items, "wq_to");
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
284 Data dStep = getData(items, "wq_step");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
285
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
286 DataItem[] mode = dMode.getItems();
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
287 String strMode = mode[0].getStringValue();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
288 boolean wMode = strMode.equals(FIELD_WQ_W);
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
289
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
290 DataItem[] free = dFree.getItems();
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
291 String strFree = free[0].getStringValue();
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
292 boolean isFree = Boolean.valueOf(strFree);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
293
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
294 HLayout layout = new HLayout();
91
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
295 layout.setWidth("400px");
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
296
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
297 Label label = new Label(dataList.getLabel());
91
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
298 label.setWidth("200px");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
299
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
300 VLayout vLabel = null;
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
301
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
302 DataItem[] selItem = dSelection.getItems();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
303 String sel = selItem != null
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
304 ? selItem[0].getStringValue()
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
305 : "";
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
306
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
307 if (sel.equals("single")) {
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
308 DataItem[] single = dSingle.getItems();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
309
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
310 vLabel = wMode
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
311 ? createWString(single[0])
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
312 : createQString(single[0]);
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
313 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
314 else {
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
315 DataItem[] from = dFrom.getItems();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
316 DataItem[] to = dTo.getItems();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
317 DataItem[] step = dStep.getItems();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
318
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
319 vLabel = wMode
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
320 ? createWString(from[0], to[0], step[0])
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
321 : createQString(from[0], to[0], step[0]);
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
322 }
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
323
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
324 VLayout selectedLayout = new VLayout();
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
325 String wqMode = null;
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
326
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
327 if (wMode) {
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
328 wqMode = MESSAGE.wqW();
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
329 }
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
330 else {
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
331 wqMode = isFree ? MESSAGE.wqQ() : MESSAGE.wqQGauge();
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
332 }
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
333
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
334 Label mLabel = new Label(wqMode);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
335 mLabel.setWidth(175);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
336 mLabel.setHeight(20);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
337
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
338 selectedLayout.addMember(mLabel);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
339 selectedLayout.addMember(vLabel);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
340 selectedLayout.setHeight(40);
91
0d8203594bb4 Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 83
diff changeset
341
58
d018995fbee7 The 'old' items in the parameter panel have a button to step back to a previous state (NOTE: just the UI stuff is implemented now).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
342 Canvas back = getBackButton(dataList.getState());
d018995fbee7 The 'old' items in the parameter panel have a button to step back to a previous state (NOTE: just the UI stuff is implemented now).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
343
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
344 layout.addMember(label);
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
345 layout.addMember(selectedLayout);
58
d018995fbee7 The 'old' items in the parameter panel have a button to step back to a previous state (NOTE: just the UI stuff is implemented now).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 57
diff changeset
346 layout.addMember(back);
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
347
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
348 return layout;
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
349 }
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
350
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
351
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
352 /**
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
353 * This method reads the default values defined in the DataItems of the Data
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
354 * objects in <i>list</i>.
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
355 *
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
356 * @param list The DataList container that stores the Data objects.
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
357 */
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
358 protected void initDefaults(DataList list) {
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
359 Data f = getData(list.getAll(), "wq_from");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
360 Data t = getData(list.getAll(), "wq_to");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
361 Data s = getData(list.getAll(), "wq_step");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
362
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
363 DataItem fQItem = getDataItem(f.getItems(), "minQ");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
364 DataItem fWItem = getDataItem(f.getItems(), "minW");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
365 DataItem tQItem = getDataItem(t.getItems(), "maxQ");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
366 DataItem tWItem = getDataItem(t.getItems(), "maxW");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
367 DataItem sQItem = getDataItem(s.getItems(), "stepQ");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
368 DataItem sWItem = getDataItem(s.getItems(), "stepW");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
369 DataItem fQFItem = getDataItem(f.getItems(), "minQFree");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
370 DataItem tQFItem = getDataItem(t.getItems(), "maxQFree");
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
371 DataItem sQFItem = getDataItem(s.getItems(), "stepQFree");
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
372
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
373 minW = Double.valueOf(fWItem.getStringValue());
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
374 maxW = Double.valueOf(tWItem.getStringValue());
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
375 stepW = Double.valueOf(sWItem.getStringValue());
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
376
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
377 minQ = Double.valueOf(fQItem.getStringValue());
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
378 maxQ = Double.valueOf(tQItem.getStringValue());
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
379 stepQ = Double.valueOf(sQItem.getStringValue());
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
380
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
381 minQFree = Double.valueOf(fQFItem.getStringValue());
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
382 maxQFree = Double.valueOf(tQFItem.getStringValue());
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
383 stepQFree = Double.valueOf(sQFItem.getStringValue());
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
384
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
385 this.fromW = minW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
386 this.toW = maxW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
387 this.stepW = stepW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
388
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
389 this.fromQ = minQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
390 this.toQ = maxQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
391 this.stepQ = stepQ;
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
392
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
393 this.fromQFree = minQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
394 this.toQFree = maxQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
395 this.stepQFree = stepQFree;
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
396 }
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
397
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
398
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
399 /**
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
400 * Initializes the form items with former inserted user data.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
401 *
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
402 * @param list The DataList that contains the user data.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
403 */
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
404 protected void initUserDefaults(DataList list) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
405 List<Data> allData = list.getAll();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
406
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
407 Data m = 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: 284
diff changeset
408 DataItem modeItem = m != null ? m.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: 284
diff changeset
409 String theMode = modeItem != null
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
410 ? modeItem.getStringValue()
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
411 : "";
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
412
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
413 Data f = getData(allData, "wq_free");
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
414 DataItem freeItem = f != null ? f.getDefault() : null;
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
415 String theFree = freeItem != null
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
416 ? freeItem.getStringValue()
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
417 : null;
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
418
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
419 Data s = getData(allData, "wq_selection");
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
420 DataItem sI = s != null ? s.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: 284
diff changeset
421 String theSelection = sI != null ? sI.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: 284
diff changeset
422
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
423 if (theMode == null || theMode.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: 284
diff changeset
424 return;
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
425 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
426
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
427 boolean isW = theMode.equals(FIELD_WQ_W);
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
428 boolean isFree = Boolean.valueOf(theFree);
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
429 boolean isWFree = theMode.equals(FIELD_WQ_W_FREE);
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
430
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
431 initUserSingleValues(list, theMode);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
432 initUserRangeValues(list, theMode);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
433
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
434 if (isW || isWFree) {
595
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
435 modes.setValue(FIELD_WQ, theMode);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
436 }
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
437 else {
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
438 modes.setValue(FIELD_WQ, isFree ? FIELD_WQ_Q : FIELD_WQ_Q_GAUGE);
9155110ec0a6 #104 The WQ panel now display the selected wq mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 582
diff changeset
439 }
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
440
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
441 if (theSelection != null || theSelection.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: 284
diff changeset
442 modes.setValue(FIELD_MODE, theSelection);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
443 updatePanels(theMode, theSelection);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
444 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
445 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
446
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
447
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
448 /**
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
449 * Initializes the single values of W or Q from DataList.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
450 *
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
451 * @param list The DataList that contains the 'wq_single' object.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
452 * @param theMode The W or Q mode.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
453 */
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
454 protected void initUserSingleValues(DataList list, String theMode) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
455 List<Data> allData = list.getAll();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
456
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
457 Data s = getData(allData, "wq_single");
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
458 DataItem i = s != null ? s.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: 284
diff changeset
459
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
460 if (i != null) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
461 String value = i.getStringValue();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
462 String[] split = value.split(" ");
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
463
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
464 int num = split != null ? split.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: 284
diff changeset
465
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
466 double[] values = new double[num];
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
467
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
468 for (int j = 0; j < num; j++) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
469 try {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
470 values[j] = Double.valueOf(split[j]);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
471 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
472 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: 284
diff changeset
473 // nothing to do
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
474 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
475 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
476
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
477 if (theMode.equals("W")) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
478 setSingleW(values);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
479 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
480 else {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
481 setSingleQ(values);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
482 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
483 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
484 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
485
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
486
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
487 /**
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
488 * Initializes the range values of W or Q from DataList.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
489 *
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
490 * @param list The DataList that contains the 'wq_single' object.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
491 * @param theMode The W or Q mode.
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
492 */
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
493 protected void initUserRangeValues(DataList list, String theMode) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
494 List<Data> allData = list.getAll();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
495
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
496 // init range mode values
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
497 Data f = getData(allData, "wq_from");
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
498 Data t = getData(allData, "wq_to");
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
499 Data s = getData(allData, "wq_step");
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
500
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
501 if (f != null && t != null && s != null) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
502 DataItem dF = f.getDefault();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
503 DataItem dT = t.getDefault();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
504 DataItem dS = s.getDefault();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
505
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
506 String fS = dF != null ? dF.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: 284
diff changeset
507 String tS = dT != null ? dT.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: 284
diff changeset
508 String sS = dS != null ? dS.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: 284
diff changeset
509
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
510 try {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
511 double from = Double.valueOf(fS);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
512 double to = Double.valueOf(tS);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
513 double step = Double.valueOf(sS);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
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: 284
diff changeset
515 if (theMode.equals("W")) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
516 setWRangeValues(from, to, step);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
517 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
518 else {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
519 setQRangeValues(from, to, step);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
520 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
521 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
522 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: 284
diff changeset
523 // 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: 284
diff changeset
524 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
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: 284
diff changeset
526 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
527
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
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: 284
diff changeset
529 protected void setQRangeValues(double f, double t, double s) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
530 setFromQ(f);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
531 setToQ(t);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
532 setStepQ(s);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
533 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
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: 284
diff changeset
535
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
536 protected void setWRangeValues(double f, double t, double s) {
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
537 setFromW(f);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
538 setToW(t);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
539 setStepW(s);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
540 }
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
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: 284
diff changeset
542
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
543 protected VLayout createWString(DataItem from, DataItem to, DataItem step) {
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
544 VLayout v = new VLayout();
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
545
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
546 StringBuilder sb = new StringBuilder();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
547 sb.append(from.getLabel());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
548 sb.append(" " + MESSAGE.unitWFrom() + " ");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
549 sb.append(to.getLabel());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
550 sb.append(" " + MESSAGE.unitWTo() + " ");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
551 sb.append(step.getLabel());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
552 sb.append(" " + MESSAGE.unitWStep());
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
553
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
554 v.addMember(new Label(sb.toString()));
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
555
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
556 return v;
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
557 }
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
558
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
559
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
560 protected VLayout createWString(DataItem single) {
1454
9152cfb3a54c Bugfix: split up the Ws and Qs in the WQInputPanel properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1425
diff changeset
561 String label = single.getLabel().trim();
1459
149f70bcbb96 Adapted the seperator character between Ws and Qs in DESCRIBE documents which has changed in the flys-artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1454
diff changeset
562 String[] cols = label.split(";");
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
563
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
564 VLayout v = new VLayout();
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
565
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
566 for (String col: cols) {
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
567 Label l = new Label(col + " " + MESSAGE.unitWSingle());
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
568 l.setHeight(20);
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
569
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
570 v.addMember(l);
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
571 }
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
572
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
573 return v;
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
574 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
575
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
576
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
577 protected VLayout createQString(DataItem from, DataItem to, DataItem step) {
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
578 VLayout v = new VLayout();
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
579
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
580 StringBuilder sb = new StringBuilder();
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
581 sb.append(from.getLabel());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
582 sb.append(" " + MESSAGE.unitQFrom() + " ");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
583 sb.append(to.getLabel());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
584 sb.append(" " + MESSAGE.unitQTo() + " ");
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
585 sb.append(step.getLabel());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
586 sb.append(" " + MESSAGE.unitQStep());
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
587
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
588 v.addMember(new Label(sb.toString()));
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
589
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
590 return v;
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
591 }
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
592
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
593
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
594 protected VLayout createQString(DataItem single) {
1454
9152cfb3a54c Bugfix: split up the Ws and Qs in the WQInputPanel properly.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1425
diff changeset
595 String label = single.getLabel().trim();
1459
149f70bcbb96 Adapted the seperator character between Ws and Qs in DESCRIBE documents which has changed in the flys-artifacts.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1454
diff changeset
596 String[] cols = label.split(";");
1355
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
597
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
598 VLayout v = new VLayout();
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
599
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
600 for (String col: cols) {
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
601 Label l = new Label(col + " " + MESSAGE.unitQSingle());
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
602 l.setHeight(20);
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
603
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
604 v.addMember(l);
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
605 }
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
606
b9b4d27bcf63 Display selected WQ values in single rows - named main values need a lot of space.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1279
diff changeset
607 return v;
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
608 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
609
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
610
53
3d5d7788d471 The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 51
diff changeset
611 /**
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
612 * This method creates the whole widget. There is a panel on the left, that
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
613 * allows the user to enter values manually by keyboard. On the right, there
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
614 * is a table that allows the user to enter values by mouse click.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
615 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
616 * @param data The data that is displayed in the table on the right.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
617 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
618 * @return the widget.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
619 */
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
620 protected Canvas createWidget(DataList data) {
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
621 VLayout layout = new VLayout();
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
622 container = new HLayout();
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
623 Canvas modeForm = createModePanel();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
624
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
625 container.setMembersMargin(30);
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
626
48
6e191588a295 Render the Single-W panel initially when the WQInputPanel is rendered.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 47
diff changeset
627 // the initial panel is the Single-W panel.
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
628 double[] values = getSingleQ();
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
629 qArrayPanel = new DoubleArrayPanel(
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
630 MESSAGE.unitQSingle(), values, this);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
631 container.addMember(qArrayPanel);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
632
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
633 layout.addMember(modeForm);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
634 layout.addMember(container);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
635
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
636 return layout;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
637 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
638
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
639
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
640 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
641 * This method creates the mode panel. It contains two radio button panels
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
642 * that allows the user to switch the input mode between w/q and
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
643 * single/range input.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
644 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
645 * @return a panel.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
646 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
647 protected Canvas createModePanel() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
648 RadioGroupItem wq = new RadioGroupItem(FIELD_WQ);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
649 wq.setShowTitle(false);
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
650 wq.setVertical(true);
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
651 wq.setWidth(WIDTH_LEFT_UPPER);
596
3f094045d512 Adapted a german string in the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 595
diff changeset
652 wq.setWrap(false);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
653
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
654 RadioGroupItem mode = new RadioGroupItem(FIELD_MODE);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
655 mode.setShowTitle(false);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
656 mode.setVertical(false);
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
657 mode.setWidth(WIDTH_LEFT_LOWER);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
658
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
659 LinkedHashMap wqValues = new LinkedHashMap();
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
660 wqValues.put(FIELD_WQ_W, MESSAGE.wqW());
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
661 wqValues.put(FIELD_WQ_W_FREE, MESSAGE.wqWFree());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
662 wqValues.put(FIELD_WQ_Q, MESSAGE.wqQ());
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
663 wqValues.put(FIELD_WQ_Q_GAUGE, MESSAGE.wqQGauge());
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
664
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
665 LinkedHashMap modeValues = new LinkedHashMap();
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
666 modeValues.put(FIELD_MODE_SINGLE, MESSAGE.wqSingle());
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
667 modeValues.put(FIELD_MODE_RANGE, MESSAGE.wqRange());
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
668
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
669 wq.setValueMap(wqValues);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
670 mode.setValueMap(modeValues);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
671
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
672 wq.addChangeHandler(this);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
673 mode.addChangeHandler(this);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
674
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
675 modes = new DynamicForm();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
676 modes.setFields(wq, mode);
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
677 modes.setWidth(WIDTH_LEFT_UPPER);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
678 modes.setNumCols(1);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
679
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
680 LinkedHashMap initial = new LinkedHashMap();
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
681 initial.put(FIELD_WQ, FIELD_WQ_Q_GAUGE);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
682 initial.put(FIELD_MODE, FIELD_MODE_SINGLE);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
683 modes.setValues(initial);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
684
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
685 return modes;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
686 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
687
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
688
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
689 @Override
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
690 public List<String> validate() {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
691 if (isRangeMode()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
692 return validateRangeValues();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
693 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
694 else {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
695 return validateSingleValues();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
696 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
697 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
698
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
699
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
700 protected List<String> validateRangeValues() {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
701 if (isWMode()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
702 return validateRange(wRangePanel, minW, maxW);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
703 }
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
704 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
705 return validateRange(qFreeRangePanel, minQFree, maxQFree);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
706 }
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
707 else if (isWFree()) {
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
708 return validateRange(wRangePanel, minW, maxW);
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
709 }
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
710 else {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
711 return validateRange(qRangePanel, minQ, maxQ);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
712 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
713 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
714
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
715 protected List<String> validateSingleValues() {
2389
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
716 if (isWFree()) {
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
717 // FIXME: We need min W and max W of the start km of the range.
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
718 return validateSingle(wArrayPanel, 0, 100000);
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
719 }
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
720 else if (isWMode()) {
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
721 //return validateSingle(wArrayPanel, minW, maxW);
3b1a7f34e19b flys/issue499: Deactivate validation for 'W am Pegel'
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 2388
diff changeset
722 return validateSingle(wArrayPanel, 0, 100000);
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
723 }
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
724 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
725 return validateSingle(qFreeArrayPanel, minQFree, maxQFree);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
726 }
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
727 else {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
728 return validateSingle(qArrayPanel, minQ, maxQ);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
729 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
730 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
731
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
732
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
733 protected List<String> validateRange(
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
734 DoubleRangePanel panel,
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
735 double min, double max)
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
736 {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
737 List<String> errors = new ArrayList<String>();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
738 NumberFormat nf = NumberFormat.getDecimalFormat();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
739
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
740 if (!panel.validateForm()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
741 errors.add(MESSAGE.wrongFormat());
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
742 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
743
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
744 double from;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
745 double to;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
746 double step;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
747
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
748 try {
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
749 from = panel.getFrom();
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
750 to = panel.getTo();
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
751 step = panel.getStep();
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
752 }
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
753 catch (NullPointerException npe) {
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
754 errors.add(MESSAGE.missingInput());
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
755 return errors;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
756 }
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
757
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
758 if (from < min || from > max) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
759 String tmp = MESSAGE.error_validate_lower_range();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
760 tmp = tmp.replace("$1", nf.format(from));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
761 tmp = tmp.replace("$2", nf.format(min));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
762 errors.add(tmp);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
763 from = min;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
764 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
765
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
766 if (to < min || to > max) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
767 String tmp = MESSAGE.error_validate_upper_range();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
768 tmp = tmp.replace("$1", nf.format(to));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
769 tmp = tmp.replace("$2", nf.format(max));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
770 errors.add(tmp);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
771 to = max;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
772 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
773
1276
393e5d37d85d Bugfix: #119 Display min/max values for WQ ranges if input validation failed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1275
diff changeset
774 if (!errors.isEmpty()) {
393e5d37d85d Bugfix: #119 Display min/max values for WQ ranges if input validation failed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1275
diff changeset
775 panel.setValues(from, to, step);
393e5d37d85d Bugfix: #119 Display min/max values for WQ ranges if input validation failed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1275
diff changeset
776 }
393e5d37d85d Bugfix: #119 Display min/max values for WQ ranges if input validation failed.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1275
diff changeset
777
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
778 return errors;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
779 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
780
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
781
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
782 protected List<String> validateSingle(
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
783 DoubleArrayPanel panel,
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
784 double min, double max)
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
785 {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
786 List<String> errors = new ArrayList<String>();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
787 NumberFormat nf = NumberFormat.getDecimalFormat();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
788
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
789 if (!panel.validateForm()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
790 errors.add(MESSAGE.wrongFormat());
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
791 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
792
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
793 double[] values = panel.getInputValues();
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
794
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
795 if (values == null || values.length == 0) {
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
796 errors.add(MESSAGE.atLeastOneValue());
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
797 return errors;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
798 }
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
799
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
800 double[] good = new double[values.length];
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
801 int idx = 0;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
802
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
803 for (double value: values) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
804 if (value < min || value > max) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
805 String tmp = MESSAGE.error_validate_range();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
806 tmp = tmp.replace("$1", nf.format(value));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
807 tmp = tmp.replace("$2", nf.format(min));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
808 tmp = tmp.replace("$3", nf.format(max));
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
809 errors.add(tmp);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
810 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
811 else {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
812 good[idx++] = value;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
813 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
814 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
815
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
816 double[] justGood = new double[idx];
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
817 for (int i = 0; i < justGood.length; i++) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
818 justGood[i] = good[i];
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
819 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
820
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
821 if (!errors.isEmpty()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
822 panel.setValues(justGood);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
823 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
824
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
825 return errors;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
826 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
827
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
828
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
829 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
830 * This method returns the selected data.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
831 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
832 * @return the selected/inserted data.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
833 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
834 public Data[] getData() {
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
835 // XXX If we have entered a value and click right afterwards on the
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
836 // 'next' button, the BlurEvent is not fired, and the values are not
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
837 // saved. So, we gonna save those values explicitly.
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
838 if (!isRangeMode()) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
839 Canvas member = container.getMember(0);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
840 if (member instanceof DoubleArrayPanel) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
841 DoubleArrayPanel form = (DoubleArrayPanel) member;
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
842 if (isWMode()) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
843 saveSingleWValues(form);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
844 }
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
845 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
846 saveSingleQFreeValues(form);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
847 }
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
848 else {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
849 saveSingleQValues(form);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
850 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
851 }
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
852
1275
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
853 return getSingleData();
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
854 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
855 else {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
856 Canvas member = container.getMember(0);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
857 if (member instanceof DoubleRangePanel) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
858 DoubleRangePanel form = (DoubleRangePanel) member;
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
859
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
860 if (isWMode()) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
861 saveRangeWValues(form);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
862 }
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
863 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
864 saveRangeQFreeValues(form);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
865 }
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
866 else {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
867 saveRangeQValues(form);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
868 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
869 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
870
1275
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
871 return getRangeData();
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
872 }
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
873 }
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
874
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
875
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
876 /**
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
877 * Collects the required data for single mode and resets the data for range
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
878 * mode.
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
879 */
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
880 protected Data[] getSingleData() {
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
881 DataItem from = new DefaultDataItem("wq_from", "wq_from", "");
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
882 DataItem to = new DefaultDataItem("wq_to", "wq_to", "");
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
883 DataItem step = new DefaultDataItem("wq_step", "wq_step", "");
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
884
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
885 return new Data[] {
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
886 getDataMode(),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
887 getQMode(),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
888 getDataSelectionMode(),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
889 getDataSingle(),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
890 new DefaultData(
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
891 "wq_from",
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
892 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
893 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
894 new DataItem[] {from}),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
895 new DefaultData(
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
896 "wq_to",
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
897 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
898 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
899 new DataItem[] {to}),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
900 new DefaultData(
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
901 "wq_step",
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
902 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
903 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
904 new DataItem[] {step}) };
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
905 }
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
906
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
907
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
908 /**
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
909 * Collects the required data for range mode and resets the data for single
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
910 * mode.
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
911 */
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
912 protected Data[] getRangeData() {
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
913 DataItem item = new DefaultDataItem("wq_single", "wq_single", "");
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
914
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
915 return new Data[] {
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
916 getDataMode(),
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
917 getQMode(),
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
918 getDataSelectionMode(),
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
919 getDataFrom(),
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
920 getDataTo(),
1275
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
921 getDataStep(),
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
922 new DefaultData(
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
923 "wq_single",
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
924 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
925 null,
ca2d5bcf67a3 Bugfix: #111 Reset the values of WQ range mode if single mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 912
diff changeset
926 new DataItem[] {item}) };
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
927 }
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
928
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
929
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
930 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
931 * Returns the Data object for the 'mode' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
932 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
933 * @return the Data object for the 'mode' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
934 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
935 protected Data getDataMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
936 String wqMode = modes.getValueAsString(FIELD_WQ);
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
937
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
938 String value = null;
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
939 if (wqMode.equals(FIELD_WQ_Q) || wqMode.equals(FIELD_WQ_Q_GAUGE)) {
2387
79483ff032bb Client side fix for flys/issue499. There is an server issue, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1535
diff changeset
940 GWT.log("getData: FIELD_WQ_Q || FIELD_WQ_Q_GAUGE");
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
941 value = FIELD_WQ_Q;
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
942 }
2387
79483ff032bb Client side fix for flys/issue499. There is an server issue, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1535
diff changeset
943 else if (wqMode.equals(FIELD_WQ_W_FREE)) {
79483ff032bb Client side fix for flys/issue499. There is an server issue, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1535
diff changeset
944 GWT.log("getData: FIELD_WQ_W_FREE");
79483ff032bb Client side fix for flys/issue499. There is an server issue, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1535
diff changeset
945 value = FIELD_WQ_W_FREE;
79483ff032bb Client side fix for flys/issue499. There is an server issue, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1535
diff changeset
946 }
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
947 else {
2387
79483ff032bb Client side fix for flys/issue499. There is an server issue, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1535
diff changeset
948 GWT.log("getData: FIELD_WQ_W");
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
949 value = FIELD_WQ_W;
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
950 }
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
951
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
952 DataItem item = new DefaultDataItem("wq_mode", "wq_mode", value);
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
953 return new DefaultData(
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
954 "wq_mode", null, null, new DataItem[] { item });
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
955 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
956
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
957
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
958 /**
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
959 * Returns the Q mode. The Q mode can be "true" or "false". True means, the
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
960 * calculation is not based on a gauge, false means the calculation should
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
961 * be based on a gauge.
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
962 *
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
963 * @return the Data object for the 'wq_free' attribute.
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
964 */
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
965 protected Data getQMode() {
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
966 String value = isQFree() ? "true" : "false";
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
967
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
968 DataItem item = new DefaultDataItem("wq_free", "wq_free", value);
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
969 return new DefaultData(
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
970 "wq_free", null, null, new DataItem[] { item });
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
971 }
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
972
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
973
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
974 /**
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
975 * Returns the Data object for the 'mode' attribute.
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
976 *
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
977 * @return the Data object for the 'mode' attribute.
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
978 */
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
979 protected Data getDataSelectionMode() {
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
980 String wqSelection = modes.getValueAsString(FIELD_MODE);
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
981 DataItem item = new DefaultDataItem(
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
982 "wq_selection", "wq_selection", wqSelection);
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
983
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
984 return new DefaultData(
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
985 "wq_selection", null, null, new DataItem[] { item });
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
986 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
987
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
988
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
989 /**
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
990 * Returns the data object for the 'single' attribute.
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
991 *
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
992 * @return the Data object for the 'single' attribute.
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
993 */
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
994 protected Data getDataSingle() {
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
995 double[] values = getFinalSingle();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
996 StringBuilder sb = new StringBuilder();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
997 for (double value: values) {
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
998 sb.append(Double.toString(value));
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
999 sb.append(" ");
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1000 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1001
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1002 DataItem item = new DefaultDataItem(
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1003 "wq_single", "wq_single", sb.toString());
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1004
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1005 return new DefaultData(
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1006 "wq_single", null, null, new DataItem[] { item });
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1007 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1008
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1009
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1010 /**
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1011 * Returns the Data object for the 'from' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1012 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1013 * @return the Data object for the 'from' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1014 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1015 protected Data getDataFrom() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1016 String value = Double.valueOf(getFinalFrom()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1017 DataItem item = new DefaultDataItem("wq_from", "wq_from", value);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1018 return new DefaultData(
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
1019 "wq_from", null, null, new DataItem[] { item });
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1020 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1021
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1022
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1023 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1024 * Returns the Data object for the 'to' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1025 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1026 * @return the Data object for the 'to' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1027 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1028 protected Data getDataTo() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1029 String value = Double.valueOf(getFinalTo()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1030 DataItem item = new DefaultDataItem("wq_to", "wq_to", value);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1031 return new DefaultData(
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
1032 "wq_to", null, null, new DataItem[] { item });
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1033 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1034
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1035
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1036 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1037 * Returns the Data object for the 'step' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1038 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1039 * @return the Data object for the 'step' attribute.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1040 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1041 protected Data getDataStep() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1042 String value = Double.valueOf(getFinalStep()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1043 DataItem item = new DefaultDataItem("wq_step","wq_step", value);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1044 return new DefaultData(
51
a2923d63f530 Introduced a data structure DataList to manage to list of Data objects of a single state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 48
diff changeset
1045 "wq_step", null, null, new DataItem[] { item });
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1046 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1047
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1048
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1049 protected double[] getFinalSingle() {
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1050 boolean wMode = isWMode();
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1051
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1052 if (isWMode()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1053 return getSingleW();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1054 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1055 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1056 return getSingleQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1057 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1058 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1059 return getSingleQ();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1060 }
236
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1061 }
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1062
d12078053b59 Introduced two further parameters in the WQ panel to determine the selection mode (range/single, w/q).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 234
diff changeset
1063
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1064 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1065 * Returns the value of 'from' depending on the selected input mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1066 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1067 * @return the value of 'from' depending on the selected input mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1068 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1069 protected double getFinalFrom() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1070 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1071 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1072
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1073 if (rangeMode) {
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1074 if (wMode) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1075 return getFromW();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1076 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1077 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1078 return getFromQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1079 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1080 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1081 return getFromQ();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1082 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1083 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1084 else {
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1085 double[] values = null;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1086
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1087 if (wMode) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1088 values = getSingleW();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1089 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1090 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1091 values = getSingleQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1092 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1093 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1094 values = getSingleQ();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1095 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1096
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1097 double value = Double.MAX_VALUE;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1098 for (double v: values) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1099 value = value < v ? value : v;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1100 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1101
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1102 return value;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1103 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1104 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1105
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1106
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1107 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1108 * Returns the value of 'to' depending on the selected input mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1109 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1110 * @return the value of 'to' depending on the selected input mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1111 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1112 protected double getFinalTo() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1113 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1114 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1115
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1116 if (rangeMode) {
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1117 if (wMode) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1118 return getToW();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1119 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1120 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1121 return getToQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1122 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1123 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1124 return getToQ();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1125 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1126 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1127 else {
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1128 double[] values = null;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1129
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1130 if (wMode) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1131 values = getSingleW();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1132 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1133 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1134 values = getSingleQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1135 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1136 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1137 values = getSingleQ();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1138 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1139
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1140 double value = Double.MIN_VALUE;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1141 for (double v: values) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1142 value = value > v ? value : v;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1143 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1144
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1145 return value;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1146 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1147 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1148
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1149
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1150 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1151 * Returns the value of 'step' depending on the selected input mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1152 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1153 * @return the value of 'step' depending on the selected input mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1154 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1155 protected double getFinalStep() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1156 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1157 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1158
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1159 if (rangeMode) {
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1160 if (wMode) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1161 return getStepW();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1162 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1163 else if (isQFree()) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1164 return getStepQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1165 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1166 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1167 return getStepQ();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1168 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1169 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1170 else {
234
27f5afc4dbde Bugfix: the WQ panel now returns the correct step width value if the range mode is selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
1171 // we have no field to enter the 'step' attribute in the
27f5afc4dbde Bugfix: the WQ panel now returns the correct step width value if the range mode is selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
1172 // single mode
27f5afc4dbde Bugfix: the WQ panel now returns the correct step width value if the range mode is selected.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 211
diff changeset
1173 return 0d;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1174 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1175 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1176
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1177
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1178 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1179 * Determines the range/single mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1180 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1181 * @return true if the range mode is activated.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1182 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1183 public boolean isRangeMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1184 String rMode = modes.getValueAsString(FIELD_MODE);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1185
582
78907f0fb939 Added dummy report panel.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 580
diff changeset
1186 return rMode.equals(FIELD_MODE_RANGE);
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1187 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1188
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1189
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1190 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1191 * Determines the w/q mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1192 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1193 * @return true, if the W mode is activated.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1194 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1195 public boolean isWMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1196 String wq = modes.getValueAsString(FIELD_WQ);
582
78907f0fb939 Added dummy report panel.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 580
diff changeset
1197 return wq.equals(FIELD_WQ_W);
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
1198 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1199
577
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
1200
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
1201 public boolean isQFree() {
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
1202 String wqMode = modes.getValueAsString(FIELD_WQ);
ded285064e43 #118 Added a further radio button to select 'Q at Gauge' to the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 564
diff changeset
1203 return wqMode.equals(FIELD_WQ_Q);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1204 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1205
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1206 protected boolean isWFree() {
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1207 String wqMode = modes.getValueAsString(FIELD_WQ);
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1208 return wqMode.equals(FIELD_WQ_W_FREE);
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1209 }
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1210
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1211
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1212 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1213 * This method changes the lower panel with the input fields depending on
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1214 * the combination of the two radio button panels.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1215 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1216 * @param event The ChangeEvent.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1217 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1218 public void onChange(ChangeEvent event) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1219 DynamicForm form = event.getForm();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1220 FormItem item = event.getItem();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1221
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1222 String wqMode = null;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1223 String inputMode = null;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1224
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1225 if (item.getFieldName().equals(FIELD_MODE)) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1226 wqMode = form.getValueAsString(FIELD_WQ);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1227 inputMode = (String) event.getValue();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1228 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1229 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1230 wqMode = (String) event.getValue();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1231 inputMode = form.getValueAsString(FIELD_MODE);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1232 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1233
912
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1234 if (wqMode.equals("Q")) {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1235 qdTable.hideIconFields();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1236 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1237 else {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1238 qdTable.showIconFields();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1239 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1240
250
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1241 updatePanels(wqMode, inputMode);
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1242 }
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1243
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1244
250
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1245 protected void updatePanels(String wqMode, String inputMode) {
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1246 container.removeMembers(container.getMembers());
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1247
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1248 if (wqMode.equals(FIELD_WQ_W) || wqMode.equals(FIELD_WQ_W_FREE)) {
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1249 if (inputMode.equals(FIELD_MODE_SINGLE)) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1250 // Single W mode
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1251 double[] values = getSingleW();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1252
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1253 wArrayPanel = new DoubleArrayPanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1254 MESSAGE.unitWSingle(), values, this);
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1255
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1256 container.addMember(wArrayPanel);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1257 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1258 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1259 // Range W mode
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1260 double from = getFromW();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1261 double to = getToW();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1262 double step = getStepW();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1263
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1264 wRangePanel = new DoubleRangePanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1265 MESSAGE.unitWFrom(), MESSAGE.unitWTo(), MESSAGE.unitWStep(),
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1266 from, to, step,
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1267 250,
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1268 this);
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1269 container.addMember(wRangePanel);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1270 }
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1271
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1272 tabs.selectTab(0);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1273 }
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1274 else if (wqMode.equals(FIELD_WQ_Q)) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1275 if (inputMode.equals(FIELD_MODE_SINGLE)) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1276 // Single Q mode
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1277 double[] values = getSingleQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1278
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1279 qFreeArrayPanel = new DoubleArrayPanel(
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1280 MESSAGE.unitQSingle(), values, this);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1281 container.addMember(qFreeArrayPanel);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1282 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1283 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1284 // Range Q mode
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1285 double from = getFromQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1286 double to = getToQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1287 double step = getStepQFree();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1288
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1289 qFreeRangePanel = new DoubleRangePanel(
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1290 MESSAGE.unitQFrom(), MESSAGE.unitQTo(), MESSAGE.unitQStep(),
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1291 from, to, step,
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1292 250,
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1293 this);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1294 container.addMember(qFreeRangePanel);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1295 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1296
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1297 tabs.selectTab(1);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1298 }
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1299 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1300 if (inputMode.equals(FIELD_MODE_SINGLE)) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1301 // Single Q mode
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1302 double[] values = getSingleQ();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1303
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1304 qArrayPanel = new DoubleArrayPanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1305 MESSAGE.unitQSingle(), values, this);
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1306 container.addMember(qArrayPanel);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1307 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1308 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1309 // Range Q mode
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1310 double from = getFromQ();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1311 double to = getToQ();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1312 double step = getStepQ();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1313
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1314 qRangePanel = new DoubleRangePanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1315 MESSAGE.unitQFrom(), MESSAGE.unitQTo(), MESSAGE.unitQStep(),
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1316 from, to, step,
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1317 250,
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1318 this);
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1319 container.addMember(qRangePanel);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1320 }
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1321
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1322 tabs.selectTab(1);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1323 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1324 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1325
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1326 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1327 * This method is called if the value of one of the input fields might have
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1328 * changed. The entered values are validated and stored.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1329 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1330 * @param event The BlurEvent.
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1331 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1332 public void onBlur(BlurEvent event) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1333 DynamicForm form = event.getForm();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1334 FormItem item = event.getItem();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1335
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1336 String wqMode = (String) modes.getValue(FIELD_WQ);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1337 String inputMode = (String) modes.getValue(FIELD_MODE);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1338
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1339 if (wqMode.equals(FIELD_WQ_W)) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1340 if (inputMode.equals(FIELD_MODE_SINGLE)) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1341 DoubleArrayPanel p = (DoubleArrayPanel) form;
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1342 saveSingleWValue(p, item);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1343 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1344 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1345 DoubleRangePanel p = (DoubleRangePanel) form;
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1346 saveRangeWValue(p, item);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1347 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1348 }
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1349 else if (wqMode.equals(FIELD_WQ_Q)) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1350 if (inputMode.equals(FIELD_MODE_SINGLE)) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1351 DoubleArrayPanel p = (DoubleArrayPanel) form;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1352 saveSingleQFreeValue(p, item);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1353 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1354 else {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1355 DoubleRangePanel p = (DoubleRangePanel) form;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1356 saveRangeQFreeValue(p, item);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1357 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1358 }
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1359 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1360 if (inputMode.equals(FIELD_MODE_SINGLE)) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1361 DoubleArrayPanel p = (DoubleArrayPanel) form;
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1362 saveSingleQValue(p, item);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1363 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1364 else {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1365 DoubleRangePanel p = (DoubleRangePanel) form;
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1366 saveRangeQValue(p, item);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1367 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1368 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1369 }
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1370
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1371
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1372 protected void saveSingleWValues(DoubleArrayPanel p) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1373 FormItem[] formItems = p.getFields();
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1374
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1375 for (FormItem item: formItems) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1376 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1377 saveSingleWValue(p, item);
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1378 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1379 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1380 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1381
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1382
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1383 protected void saveSingleQValues(DoubleArrayPanel p) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1384 FormItem[] formItems = p.getFields();
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1385
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1386 for (FormItem item: formItems) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1387 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1388 saveSingleQValue(p, item);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1389 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1390 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1391 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1392
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1393
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1394 protected void saveSingleQFreeValues(DoubleArrayPanel p) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1395 FormItem[] formItems = p.getFields();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1396
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1397 for (FormItem item: formItems) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1398 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1399 saveSingleQFreeValue(p, item);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1400 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1401 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1402 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1403
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1404
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1405 protected void saveSingleWValue(DoubleArrayPanel p, FormItem item) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1406 if (p.validateForm(item)) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1407 setSingleW(p.getInputValues(item));
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1408 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1409 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1410
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1411
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1412 protected void saveSingleQValue(DoubleArrayPanel p, FormItem item) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1413 if (p.validateForm(item)) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1414 setSingleQ(p.getInputValues(item));
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1415 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1416 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1417
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1418
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1419 protected void saveSingleQFreeValue(DoubleArrayPanel p, FormItem item) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1420 if (p.validateForm(item)) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1421 setSingleQFree(p.getInputValues(item));
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1422 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1423 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1424
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1425
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1426 protected void saveRangeWValues(DoubleRangePanel p) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1427 FormItem[] formItems = p.getFields();
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1428
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1429 for (FormItem item: formItems) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1430 saveRangeWValue(p, item);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1431 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1432 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1433
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1434
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1435 protected void saveRangeQValues(DoubleRangePanel p) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1436 FormItem[] formItems = p.getFields();
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1437
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1438 for (FormItem item: formItems) {
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1439 saveRangeQValue(p, item);
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1440 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1441 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1442
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1443
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1444 protected void saveRangeQFreeValues(DoubleRangePanel p) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1445 FormItem[] formItems = p.getFields();
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1446
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1447 for (FormItem item: formItems) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1448 saveRangeQFreeValue(p, item);
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1449 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1450 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1451
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1452
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1453 protected void saveRangeWValue(DoubleRangePanel p, FormItem item) {
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
1454 if (p.validateForm()) {
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1455 setFromW(p.getFrom());
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1456 setToW(p.getTo());
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1457 setStepW(p.getStep());
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1458 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1459 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1460
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1461
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1462 protected void saveRangeQValue(DoubleRangePanel p, FormItem item) {
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
1463 if (p.validateForm()) {
59
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1464 setFromQ(p.getFrom());
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1465 setToQ(p.getTo());
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1466 setStepQ(p.getStep());
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1467 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1468 }
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1469
a3d235c63195 Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 58
diff changeset
1470
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1471 protected void saveRangeQFreeValue(DoubleRangePanel p, FormItem item) {
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
1472 if (p.validateForm()) {
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1473 setFromQFree(p.getFrom());
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1474 setToQFree(p.getTo());
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1475 setStepQFree(p.getStep());
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1476 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1477 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1478
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1479
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1480 protected double[] getSingleQ() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1481 return valuesQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1482 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1483
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1484
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1485 protected double[] getSingleQFree() {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1486 return valuesQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1487 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1488
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1489
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1490 protected void setSingleQ(double[] values) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1491 valuesQ = values;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1492 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1493
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1494
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1495 protected void setSingleQFree(double[] values) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1496 valuesQFree = values;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1497 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1498
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1499
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1500 protected double getFromQ() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1501 return fromQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1502 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1503
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1504
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1505 protected double getFromQFree() {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1506 return fromQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1507 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1508
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1509
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1510 protected void setFromQ(double fromQ) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1511 this.fromQ = fromQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1512 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1513
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1514
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1515 protected void setFromQFree(double fromQ) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1516 this.fromQFree = fromQ;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1517 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1518
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1519
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1520 protected double getToQ() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1521 return toQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1522 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1523
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1524
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1525 protected double getToQFree() {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1526 return toQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1527 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1528
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1529
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1530 protected void setToQ(double toQ) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1531 this.toQ = toQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1532 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1533
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1534
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1535 protected void setToQFree(double toQ) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1536 this.toQFree = toQ;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1537 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1538
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1539
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1540 protected double getStepQ() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1541 return stepQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1542 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1543
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1544
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1545 protected double getStepQFree() {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1546 return stepQFree;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1547 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1548
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1549
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1550 protected void setStepQ(double stepQ) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1551 this.stepQ = stepQ;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1552 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1553
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1554
1485
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1555 protected void setStepQFree(double stepQ) {
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1556 this.stepQFree = stepQ;
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1557 }
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1558
00e429e6420c Made WQInputPanel able to distinguish between a 'Q at Gauge' and 'Free Q'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1459
diff changeset
1559
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1560 protected double[] getSingleW() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1561 return valuesW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1562 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1563
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1564
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1565 protected void setSingleW(double[] values) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1566 valuesW = values;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1567 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1568
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1569
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1570 protected double getFromW() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1571 return fromW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1572 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1573
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1574
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1575 protected void setFromW(double fromW) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1576 this.fromW = fromW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1577 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1578
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1579
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1580 protected double getToW() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1581 return toW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1582 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1583
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1584
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1585 protected void setToW(double toW) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1586 this.toW = toW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1587 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1588
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1589
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1590 protected double getStepW() {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1591 return stepW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1592 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1593
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1594
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1595 protected void setStepW(double stepW) {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1596 this.stepW = stepW;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1597 }
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1598
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1599
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1600 /**
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1601 * Determines the min and max kilometer value selected in a former state. A
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1602 * bit silly, but we need to run over each value of the "old data" to find
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1603 * such values because it is not available here.
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1604 *
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1605 * @param data The DataList which contains the whole data inserted for the
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1606 * current artifact.
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1607 *
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1608 * @return a double array with [min, max].
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1609 */
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1610 protected double[] getMinMaxKM(DataList[] data) {
1279
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1276
diff changeset
1611 ArtifactDescription adesc = artifact.getArtifactDescription();
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1276
diff changeset
1612 return adesc.getKMRange();
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1613 }
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1614
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1615
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1616 /**
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1617 * Returns the name of the selected river.
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1618 *
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1619 * @param data The DataList with all data.
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1620 *
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1621 * @return the name of the current river.
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1622 */
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1623 protected String getRiverName(DataList[] data) {
1279
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1276
diff changeset
1624 ArtifactDescription adesc = artifact.getArtifactDescription();
af6ad7522351 Bugfix: #336 Improved determination of min/max KM values - code moved to ArtifactDescription.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1276
diff changeset
1625 return adesc.getRiver();
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1626 }
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1627
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1628
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1629 protected void fetchWQData() {
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1630 Config config = Config.getInstance();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1631 String locale = config.getLocale ();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1632
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1633 ArtifactDescription adescr = artifact.getArtifactDescription();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1634 DataList[] data = adescr.getOldData();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1635
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1636 double[] mm = getMinMaxKM(data);
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1637 String river = getRiverName(data);
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1638
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1401
diff changeset
1639 wqInfoService.getWQInfo(locale, river, mm[0], mm[1],
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1640 new AsyncCallback<WQInfoObject[]>() {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1641 public void onFailure(Throwable caught) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1642 GWT.log("Could not recieve wq informations.");
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1643 SC.warn(caught.getMessage());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1644 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1645
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1646 public void onSuccess(WQInfoObject[] wqi) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1647 int num = wqi != null ? wqi.length :0;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1648 GWT.log("Recieved " + num + " wq informations.");
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1649
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1650 if (num == 0) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1651 return;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1652 }
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1653
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1654 addWQInfo(wqi);
519
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
1655
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
1656 String wq = (String) modes.getValue(FIELD_WQ);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
1657 String sr = (String) modes.getValue(FIELD_MODE);
77234b1d009c ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 284
diff changeset
1658 updatePanels(wq, sr);
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1659 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1660 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1661 );
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1662 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1663
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1664
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1665 protected void addWQInfo (WQInfoObject[] wqi) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1666 for(WQInfoObject wi: wqi) {
580
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1667 WQInfoRecord rec = new WQInfoRecord(wi);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1668
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1669 if (wi.getType().equals("W")) {
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1670 wTable.addData(rec);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1671 }
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1672 else {
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1673 qdTable.addData(rec);
42512fce9b1b #140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 579
diff changeset
1674 }
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1675 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1676 }
42
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1677 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1678 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org