annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 2387:79483ff032bb

Client side fix for flys/issue499. There is an server issue, too. flys-client/trunk@4043 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 13 Feb 2012 16:14:37 +0000
parents 03e82be2aabc
children d53f8cc1702c
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() {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
716 if (isWMode()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
717 return validateSingle(wArrayPanel, minW, maxW);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
718 }
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
719 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
720 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
721 }
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
722 else if (isWFree()) {
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
723 return validateSingle(wArrayPanel, minW, maxW);
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
724 }
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
725 else {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
726 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
727 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
728 }
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 protected List<String> validateRange(
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
732 DoubleRangePanel panel,
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
733 double min, double max)
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
734 {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
735 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
736 NumberFormat nf = NumberFormat.getDecimalFormat();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
737
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
738 if (!panel.validateForm()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
739 errors.add(MESSAGE.wrongFormat());
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
740 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
741
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
742 double from;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
743 double to;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
744 double step;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
745
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
746 try {
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
747 from = panel.getFrom();
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
748 to = panel.getTo();
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
749 step = panel.getStep();
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
750 }
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
751 catch (NullPointerException npe) {
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
752 errors.add(MESSAGE.missingInput());
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
753 return errors;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
754 }
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
755
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
756 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
757 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
758 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
759 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
760 errors.add(tmp);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
761 from = min;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
762 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
763
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
764 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
765 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
766 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
767 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
768 errors.add(tmp);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
769 to = max;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
770 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
771
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
772 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
773 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
774 }
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
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
776 return errors;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
777 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
778
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 protected List<String> validateSingle(
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
781 DoubleArrayPanel panel,
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
782 double min, double max)
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
783 {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
784 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
785 NumberFormat nf = NumberFormat.getDecimalFormat();
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
786
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
787 if (!panel.validateForm()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
788 errors.add(MESSAGE.wrongFormat());
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
789 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
790
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
791 double[] values = panel.getInputValues();
1490
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
792
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
793 if (values == null || values.length == 0) {
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
794 errors.add(MESSAGE.atLeastOneValue());
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
795 return errors;
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
796 }
15b4bc8eede0 #302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1485
diff changeset
797
564
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
798 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
799 int idx = 0;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
800
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
801 for (double value: values) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
802 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
803 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
804 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
805 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
806 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
807 errors.add(tmp);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
808 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
809 else {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
810 good[idx++] = value;
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
811 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
812 }
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 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
815 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
816 justGood[i] = good[i];
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
817 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
818
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
819 if (!errors.isEmpty()) {
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
820 panel.setValues(justGood);
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
821 }
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
822
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
823 return errors;
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
55a90afaf513 Introduced a client side validation for the WQ panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 559
diff changeset
826
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
827 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
828 * 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
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 * @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
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 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
833 // 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
834 // '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
835 // 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
836 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
837 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
838 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
839 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
840 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
841 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
842 }
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
843 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
844 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
845 }
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
846 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
847 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
848 }
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 }
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
850
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
851 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
852 }
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
853 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
854 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
855 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
856 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
857
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 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
859 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
860 }
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
861 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
862 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
863 }
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
864 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
865 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
866 }
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 }
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
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
869 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
870 }
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 }
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 * 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
876 * 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
877 */
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 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
879 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
880 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
881 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
882
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 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
884 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
885 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
886 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
887 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
888 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
889 "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
890 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
891 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
892 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
893 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
894 "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
895 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
896 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
897 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
898 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
899 "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
900 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
901 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
902 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
903 }
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
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 * 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
908 * 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
909 */
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 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
911 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
912
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 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
914 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
915 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
916 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
917 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
918 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
919 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
920 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
921 "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
922 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
923 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
924 new DataItem[] {item}) };
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
925 }
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
926
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
927
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
928 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
929 * 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
930 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
931 * @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
932 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
933 protected Data getDataMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
934 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
935
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
936 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
937 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
938 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
939 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
940 }
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
941 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
942 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
943 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
944 }
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
945 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
946 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
947 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
948 }
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
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 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
951 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
952 "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
953 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
954
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 /**
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
957 * 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
958 * 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
959 * 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
960 *
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 * @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
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 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
964 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
965
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 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
967 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
968 "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
969 }
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
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 /**
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
973 * 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
974 *
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 * @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
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 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
978 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
979 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
980 "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
981
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 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
983 "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
984 }
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
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 * 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
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 * @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
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 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
993 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
994 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
995 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
996 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
997 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
998 }
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
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 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
1001 "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
1002
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 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
1004 "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
1005 }
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
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 /**
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1009 * 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
1010 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1011 * @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
1012 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1013 protected Data getDataFrom() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1014 String value = Double.valueOf(getFinalFrom()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1015 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
1016 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
1017 "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
1018 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1019
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 * 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
1023 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1024 * @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
1025 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1026 protected Data getDataTo() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1027 String value = Double.valueOf(getFinalTo()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1028 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
1029 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
1030 "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
1031 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1032
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 * 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
1036 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1037 * @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
1038 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1039 protected Data getDataStep() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1040 String value = Double.valueOf(getFinalStep()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1041 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
1042 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
1043 "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
1044 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1045
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1046
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
1047 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
1048 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
1049
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
1050 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
1051 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
1052 }
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 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
1054 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
1055 }
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 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
1057 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
1058 }
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
1059 }
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
1060
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
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1062 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1063 * 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
1064 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1065 * @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
1066 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1067 protected double getFinalFrom() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1068 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1069 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1070
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1071 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
1072 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
1073 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
1074 }
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 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
1076 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
1077 }
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 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
1079 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
1080 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1081 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1082 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
1083 double[] values = null;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1084
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 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
1086 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
1087 }
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 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
1089 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
1090 }
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 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
1092 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
1093 }
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
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 double value = Double.MAX_VALUE;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1096 for (double v: values) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1097 value = value < v ? value : v;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1098 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1099
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1100 return value;
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 }
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 * 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
1107 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1108 * @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
1109 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1110 protected double getFinalTo() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1111 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1112 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1113
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1114 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
1115 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
1116 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
1117 }
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 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
1119 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
1120 }
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 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
1122 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
1123 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1124 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1125 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
1126 double[] values = null;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1127
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 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
1129 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
1130 }
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 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
1132 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
1133 }
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 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
1135 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
1136 }
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
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 double value = Double.MIN_VALUE;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1139 for (double v: values) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1140 value = value > v ? value : v;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1141 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1142
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1143 return value;
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 }
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 * 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
1150 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1151 * @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
1152 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1153 protected double getFinalStep() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1154 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1155 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1156
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1157 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
1158 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
1159 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
1160 }
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 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
1162 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
1163 }
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 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
1165 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
1166 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1167 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1168 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
1169 // 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
1170 // 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
1171 return 0d;
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1172 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1173 }
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 * Determines the range/single mode.
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 * @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
1180 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1181 public boolean isRangeMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1182 String rMode = modes.getValueAsString(FIELD_MODE);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1183
582
78907f0fb939 Added dummy report panel.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 580
diff changeset
1184 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
1185 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1186
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 * Determines the w/q mode.
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 * @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
1192 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1193 public boolean isWMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1194 String wq = modes.getValueAsString(FIELD_WQ);
582
78907f0fb939 Added dummy report panel.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 580
diff changeset
1195 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
1196 }
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
1197
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
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
1199 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
1200 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
1201 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
1202 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1203
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1204 protected boolean isWFree() {
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1205 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
1206 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
1207 }
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1208
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
1209
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1210 /**
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 * 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
1212 * 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
1213 *
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 * @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
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 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
1217 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
1218 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
1219
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 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
1221 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
1222
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 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
1224 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
1225 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
1226 }
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 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
1228 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
1229 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
1230 }
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
912
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1232 if (wqMode.equals("Q")) {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1233 qdTable.hideIconFields();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1234 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1235 else {
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1236 qdTable.showIconFields();
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1237 }
2c8f1112be37 Rollback for input assistance of "Q/D" table.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 894
diff changeset
1238
250
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1239 updatePanels(wqMode, inputMode);
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1240 }
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
1241
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1242
250
27f12703937e Enable or disable table rows depending on the WQ selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 249
diff changeset
1243 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
1244 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
1245
1535
03e82be2aabc Added UI for "Bezugslinienverfahren" ("W auf freier Strecke").
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents: 1493
diff changeset
1246 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
1247 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
1248 // 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
1249 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
1250
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1251 wArrayPanel = new DoubleArrayPanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1252 MESSAGE.unitWSingle(), values, this);
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1253
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1254 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
1255 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1256 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
1257 // 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
1258 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
1259 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
1260 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
1261
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1262 wRangePanel = new DoubleRangePanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1263 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
1264 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
1265 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
1266 this);
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1267 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
1268 }
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
1269
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
1270 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
1271 }
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
1272 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
1273 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
1274 // 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
1275 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
1276
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 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
1278 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
1279 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
1280 }
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 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
1282 // 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
1283 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
1284 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
1285 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
1286
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 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
1288 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
1289 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
1290 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
1291 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
1292 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
1293 }
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
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 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
1296 }
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
1297 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
1298 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
1299 // 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
1300 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
1301
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1302 qArrayPanel = new DoubleArrayPanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1303 MESSAGE.unitQSingle(), values, this);
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1304 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
1305 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1306 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
1307 // 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
1308 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
1309 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
1310 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
1311
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1312 qRangePanel = new DoubleRangePanel(
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1313 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
1314 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
1315 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
1316 this);
249
6c7133eb8c4c Implemented handler for WQ value selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 248
diff changeset
1317 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
1318 }
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
1319
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
1320 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
1321 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1322 }
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 * 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
1326 * 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
1327 *
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 * @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
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 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
1331 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
1332 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
1333
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 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
1335 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
1336
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 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
1338 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
1339 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
1340 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
1341 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1342 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
1343 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
1344 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
1345 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1346 }
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
1347 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
1348 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
1349 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
1350 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
1351 }
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 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
1353 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
1354 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
1355 }
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 }
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
1357 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
1358 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
1359 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
1360 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
1361 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1362 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
1363 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
1364 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
1365 }
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 }
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 }
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
1368
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
1369
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
1370 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
1371 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
1372
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 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
1374 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
1375 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
1376 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1377 }
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
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
1381 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
1382 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
1383
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 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
1385 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
1386 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
1387 }
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 }
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
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
1392 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
1393 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
1394
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 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
1396 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
1397 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
1398 }
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 }
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
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
1403 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
1404 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
1405 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
1406 }
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 }
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 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
1411 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
1412 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
1413 }
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 }
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
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
1417 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
1418 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
1419 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
1420 }
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 }
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
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
1424 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
1425 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
1426
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 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
1428 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
1429 }
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 }
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 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
1434 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
1435
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 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
1437 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
1438 }
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 }
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
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
1442 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
1443 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
1444
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 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
1446 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
1447 }
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 }
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
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
1451 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
1452 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
1453 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
1454 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
1455 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
1456 }
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 }
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 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
1461 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
1462 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
1463 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
1464 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
1465 }
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 }
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
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
1469 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
1470 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
1471 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
1472 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
1473 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
1474 }
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 }
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
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
1478 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
1479 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
1480 }
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
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
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
1483 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
1484 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
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
1486
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
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
1488 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
1489 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
1490 }
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
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
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
1493 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
1494 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
1495 }
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
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
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
1498 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
1499 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
1500 }
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
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
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
1503 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
1504 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
1505 }
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
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
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
1508 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
1509 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
1510 }
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
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
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
1513 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
1514 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
1515 }
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
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
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
1518 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
1519 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
1520 }
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
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
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
1523 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
1524 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
1525 }
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
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
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
1528 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
1529 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
1530 }
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
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
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
1533 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
1534 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
1535 }
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
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
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
1538 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
1539 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
1540 }
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
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
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
1543 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
1544 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
1545 }
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
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
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
1548 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
1549 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
1550 }
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
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
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
1553 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
1554 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
1555 }
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
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
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
1558 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
1559 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
1560 }
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
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 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
1564 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
1565 }
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
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 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
1569 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
1570 }
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
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 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
1574 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
1575 }
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
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 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
1579 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
1580 }
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
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 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
1584 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
1585 }
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
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 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
1589 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
1590 }
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
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 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
1594 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
1595 }
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1596
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1597
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1598 /**
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1599 * 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
1600 * 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
1601 * 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
1602 *
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1603 * @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
1604 * current artifact.
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1605 *
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1606 * @return a double array with [min, max].
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 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
1609 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
1610 return adesc.getKMRange();
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1611 }
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1612
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 * Returns the name of the selected river.
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 * @param data The DataList with all data.
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 * @return the name of the current river.
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 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
1622 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
1623 return adesc.getRiver();
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1624 }
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1625
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1626
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
1627 protected void fetchWQData() {
579
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1628 Config config = Config.getInstance();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1629 String locale = config.getLocale ();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1630
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1631 ArtifactDescription adescr = artifact.getArtifactDescription();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1632 DataList[] data = adescr.getOldData();
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1633
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1634 double[] mm = getMinMaxKM(data);
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1635 String river = getRiverName(data);
f1b977657880 #140 Code cleanup in WQ table.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 578
diff changeset
1636
1425
bc06a671ef60 Removed the URL parameter from service calls. The service
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1401
diff changeset
1637 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
1638 new AsyncCallback<WQInfoObject[]>() {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1639 public void onFailure(Throwable caught) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1640 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
1641 SC.warn(caught.getMessage());
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1642 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1643
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1644 public void onSuccess(WQInfoObject[] wqi) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1645 int num = wqi != null ? wqi.length :0;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1646 GWT.log("Recieved " + num + " wq informations.");
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1647
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1648 if (num == 0) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1649 return;
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1650 }
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
1651
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1652 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
1653
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
1654 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
1655 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
1656 updatePanels(wq, sr);
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1657 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1658 }
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 protected void addWQInfo (WQInfoObject[] wqi) {
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1664 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
1665 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
1666
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 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
1668 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
1669 }
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 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
1671 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
1672 }
248
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1673 }
ed90309ec608 Added table for WQ inputs.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 247
diff changeset
1674 }
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
1675 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
1676 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org