annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/WQInputPanel.java @ 59:a3d235c63195

Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception. flys-client/trunk@1519 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 18 Mar 2011 13:45:34 +0000
parents d018995fbee7
children 4784ca718476
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
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
3 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
4 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
5
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 import com.google.gwt.core.client.GWT;
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
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 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
16 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
17 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
18 import com.smartgwt.client.widgets.layout.VLayout;
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
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 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
21 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
22 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
23 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
24 import de.intevation.flys.client.shared.model.DefaultDataItem;
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
25 import de.intevation.flys.client.client.FLYSMessages;
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
26
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
27
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
28 /**
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 * 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
30 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 * @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
32 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
33 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
34 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
35 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
36 {
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
37 /** The message class that provides i18n strings.*/
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
38 protected FLYSMessages MSG = GWT.create(FLYSMessages.class);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
41 /** The constant field name for choosing w or 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
42 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
43
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
44 /** 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
45 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
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 /** 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
48 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
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 /** 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
51 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
52
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 /** 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
54 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
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 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
57 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
58
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
59 /** The constant value that determines the width of the left 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
60 public static final int WIDTH_LEFT = 200;
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
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
63 /** The container that manages the w and q 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
64 protected VLayout 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
65
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 /** 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
67 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
68
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
69 /** 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
70 protected double minW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
71
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
72 /** 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
73 protected double minQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
74
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
75 /** 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
76 protected double maxW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
77
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
78 /** 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
79 protected double maxQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
80
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
81 /** 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
82 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
83
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 /** 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
85 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
86
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 /** 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
88 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
89
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 /** 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
91 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
92
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 /** 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
94 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
95
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 /** 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
97 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
98
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99 /** 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
100 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
101
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
102 /** 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
103 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
104
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
105
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 * 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
108 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 public 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
110 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
113 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114 * 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
115 *
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 * @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
117 *
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 * @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
119 */
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
120 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
121 initDefaults(data);
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
122
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
123 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
124 Canvas submit = getNextButton();
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
125 Label label = new Label(MSG.wqTitle());
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
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 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
128
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 VLayout layout = new VLayout();
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 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
131 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
132 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
133
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 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
135 }
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
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137
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
138 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
139 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
140
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
141 Data dMode = getData(items, "wq_mode");
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
142 Data dFrom = getData(items, "wq_from");
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
143 Data dTo = getData(items, "wq_to");
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
144 Data dStep = getData(items, "wq_step");
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
145
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
146 DataItem[] mode = dMode.getItems();
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
147 DataItem[] from = dFrom.getItems();
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
148 DataItem[] to = dTo.getItems();
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
149 DataItem[] step = dStep.getItems();
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
150
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
151 HLayout layout = new HLayout();
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
152 Label label = new Label(dataList.getLabel());
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
153
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
154 label.setWidth("50%");
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
155
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
156 String text = mode[0].getStringValue().equals(FIELD_WQ_W)
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
157 ? createWString(from[0], to[0], step[0])
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
158 : createQString(from[0], to[0], step[0]);
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
159
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
160 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
161
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
162 layout.addMember(label);
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
163 layout.addMember(new Label(text));
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
164 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
165
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
166 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
167 }
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
168
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
169
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
170 /**
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
171 * 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
172 * 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
173 *
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
174 * @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
175 */
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
176 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
177 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
178 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
179 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
180
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
181 DataItem fQItem = getDataItem(f.getItems(), "minQ");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
182 DataItem fWItem = getDataItem(f.getItems(), "minW");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
183 DataItem tQItem = getDataItem(t.getItems(), "maxQ");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
184 DataItem tWItem = getDataItem(t.getItems(), "maxW");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
185 DataItem sQItem = getDataItem(s.getItems(), "stepQ");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
186 DataItem sWItem = getDataItem(s.getItems(), "stepW");
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
187
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
188 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
189 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
190 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
191
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
192 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
193 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
194 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
195
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
196 this.fromW = minW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
197 this.toW = maxW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
198 this.stepW = stepW;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
199
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
200 this.fromQ = minQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
201 this.toQ = maxQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
202 this.stepQ = stepQ;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
203 }
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
204
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
205
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
206 protected String createWString(DataItem from, DataItem to, DataItem step) {
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
207 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
208 sb.append(from.getLabel());
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
209 sb.append(" " + MSG.unitWFrom() + " ");
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
210 sb.append(to.getLabel());
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
211 sb.append(" " + MSG.unitWTo() + " ");
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
212 sb.append(step.getLabel());
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
213 sb.append(" " + MSG.unitWStep());
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
214
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
215 return sb.toString();
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
216 }
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
217
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
218
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
219 protected String createQString(DataItem from, DataItem to, DataItem step) {
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
220 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
221 sb.append(from.getLabel());
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
222 sb.append(" " + MSG.unitQFrom() + " ");
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
223 sb.append(to.getLabel());
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
224 sb.append(" " + MSG.unitQTo() + " ");
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
225 sb.append(step.getLabel());
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
226 sb.append(" " + MSG.unitQStep());
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
227
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
228 return sb.toString();
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
229 }
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
230
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
231
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
232 /**
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
233 * This method greps the Data with name <i>name</i> from the list and
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
234 * returns it.
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
235 *
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
236 * @param items A list of Data.
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
237 * @param name The name of the Data that we are searching for.
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
238 *
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
239 * @return the Data with the name <i>name</i>.
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
240 */
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
241 protected Data getData(List<Data> data, String name) {
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
242 for (Data d: data) {
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
243 if (name.equals(d.getLabel())) {
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
244 return d;
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
245 }
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
246 }
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
247
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
248 return null;
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
249 }
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
250
56
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
251 /**
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
252 * This method greps the DataItem with name <i>name</i> from the list and
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
253 * returns it.
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
254 *
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
255 * @param items A list of DataItems.
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
256 * @param name The name of the DataItem that we are searching for.
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
257 *
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
258 * @return the DataItem with the name <i>name</i>.
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
259 */
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
260 protected DataItem getDataItem(DataItem[] items, String name) {
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
261 for (DataItem item: items) {
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
262 if (name.equals(item.getLabel())) {
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
263 return item;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
264 }
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
265 }
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
266
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
267 return null;
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
268 }
c9c19761a449 Read min/max values for the distance modes in WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 53
diff changeset
269
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
270
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
271 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
272 * 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
273 * 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
274 * 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
275 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
276 * @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
277 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
278 * @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
279 */
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
280 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
281 VLayout layout = new VLayout();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
282 container = new VLayout();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
283 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
284
48
6e191588a295 Render the Single-W panel initially when the WQInputPanel is rendered.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 47
diff changeset
285 // the initial panel is the Single-W panel.
6e191588a295 Render the Single-W panel initially when the WQInputPanel is rendered.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 47
diff changeset
286 double[] values = getSingleW();
6e191588a295 Render the Single-W panel initially when the WQInputPanel is rendered.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 47
diff changeset
287 container.addMember(new DoubleArrayPanel(
6e191588a295 Render the Single-W panel initially when the WQInputPanel is rendered.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 47
diff changeset
288 MSG.unitWSingle(), values, this));
6e191588a295 Render the Single-W panel initially when the WQInputPanel is rendered.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 47
diff changeset
289
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
290 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
291 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
292
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
293 // TODO add a table on the right to select Q 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
294
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
295 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
296 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
297
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
298
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
299 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
300 * 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
301 * 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
302 * 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
303 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
304 * @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
305 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
306 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
307 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
308 wq.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
309 wq.setVertical(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
310 wq.setWidth(WIDTH_LEFT);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
311
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
312 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
313 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
314 mode.setVertical(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
315 mode.setWidth(WIDTH_LEFT);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
316
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
317 LinkedHashMap wqValues = new LinkedHashMap();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
318 wqValues.put(FIELD_WQ_W, MSG.wqW());
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
319 wqValues.put(FIELD_WQ_Q, MSG.wqQ());
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
320
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
321 LinkedHashMap modeValues = new LinkedHashMap();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
322 modeValues.put(FIELD_MODE_SINGLE, MSG.wqSingle());
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
323 modeValues.put(FIELD_MODE_RANGE, MSG.wqRange());
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
324
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
325 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
326 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
327
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
328 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
329 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
330
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
331 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
332 modes.setFields(wq, 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
333 modes.setWidth(WIDTH_LEFT);
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
334 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
335
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
336 LinkedHashMap initial = new LinkedHashMap();
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
337 initial.put(FIELD_WQ, 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
338 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
339 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
340
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
341 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
342 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
343
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
344
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
345 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
346 * 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
347 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
348 * @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
349 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
350 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
351 // 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
352 // '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
353 // 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
354 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
355 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
356 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
357 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
358 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
359 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
360 }
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
361 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
362 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
363 }
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
364 }
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
365 }
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
366 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
367 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
368 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
369 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
370
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
371 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
372 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
373 }
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
374 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
375 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
376 }
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
377 }
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
378 }
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
379
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
380 return new Data[] {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
381 getDataMode(),
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
382 getDataFrom(),
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
383 getDataTo(),
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
384 getDataStep() };
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
385 }
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
386
47
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
387
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
388 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
389 * 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
390 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
391 * @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
392 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
393 protected Data getDataMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
394 String wqMode = modes.getValueAsString(FIELD_WQ);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
395 DataItem item = new DefaultDataItem("wq_mode", "wq_mode", wqMode);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
396 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
397 "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
398 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
399
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
400
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
401 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
402 * 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
403 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
404 * @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
405 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
406 protected Data getDataFrom() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
407 String value = Double.valueOf(getFinalFrom()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
408 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
409 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
410 "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
411 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
412
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
413
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
414 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
415 * 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
416 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
417 * @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
418 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
419 protected Data getDataTo() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
420 String value = Double.valueOf(getFinalTo()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
421 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
422 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
423 "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
424 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
425
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
426
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
427 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
428 * 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
429 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
430 * @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
431 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
432 protected Data getDataStep() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
433 String value = Double.valueOf(getFinalStep()).toString();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
434 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
435 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
436 "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
437 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
438
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
439
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
440 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
441 * 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
442 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
443 * @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
444 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
445 protected double getFinalFrom() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
446 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
447 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
448
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
449 if (rangeMode) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
450 return wMode ? getFromW() : getFromQ();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
451
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
452 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
453 else {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
454 double[] values = wMode ? getSingleW() : getSingleQ();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
455 double value = Double.MAX_VALUE;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
456
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
457 for (double v: values) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
458 value = value < v ? value : v;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
459 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
460
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
461 return value;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
462 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
463 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
464
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
465
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
466 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
467 * 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
468 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
469 * @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
470 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
471 protected double getFinalTo() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
472 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
473 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
474
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
475 if (rangeMode) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
476 return wMode ? getToW() : getToQ();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
477
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
478 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
479 else {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
480 double[] values = wMode ? getSingleW() : getSingleQ();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
481 double value = Double.MIN_VALUE;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
482
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
483 for (double v: values) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
484 value = value > v ? value : v;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
485 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
486
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
487 return value;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
488 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
489 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
490
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
491
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
492 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
493 * 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
494 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
495 * @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
496 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
497 protected double getFinalStep() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
498 boolean wMode = isWMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
499 boolean rangeMode = isRangeMode();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
500
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
501 if (rangeMode) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
502 // we have no field to enter the 'step' attribute in the
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
503 // range mode
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
504 return 0.0;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
505 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
506 else {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
507 if (wMode) {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
508 return getStepW();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
509 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
510 else {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
511 // we have no field to enter the 'step' attribute in the
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
512 // range mode
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
513 return getStepQ();
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
514 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
515 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
516 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
517
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
518
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
519 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
520 * Determines the range/single mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
521 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
522 * @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
523 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
524 public boolean isRangeMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
525 String rMode = modes.getValueAsString(FIELD_MODE);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
526
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
527 return rMode.equals(FIELD_MODE_RANGE) ? true : false;
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
528 }
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
529
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
530
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
531 /**
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
532 * Determines the w/q mode.
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
533 *
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
534 * @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
535 */
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
536 public boolean isWMode() {
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
537 String wq = modes.getValueAsString(FIELD_WQ);
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
538
45ae03d9ca2b Implemented the getData() method of the WQInputPanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 45
diff changeset
539 return wq.equals(FIELD_WQ_W) ? true : 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
540 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
541
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
542
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
543 /**
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
544 * 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
545 * 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
546 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
547 * @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
548 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
549 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
550 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
551 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
552
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
553 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
554 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
555
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
556 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
557 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
558 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
559 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
560 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
561 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
562 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
563 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
564
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
565 container.removeMembers(container.getMembers());
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
566
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
567 Canvas newPanel = 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
568
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
569 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
570 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
571 // 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
572 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
573
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
574 newPanel = new DoubleArrayPanel(
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
575 MSG.unitWSingle(), values, 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
576 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
577 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
578 // 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
579 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
580 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
581 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
582
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
583 newPanel = new DoubleRangePanel(
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
584 MSG.unitWFrom(), MSG.unitWTo(), MSG.unitWStep(),
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
585 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
586 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
587 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
588 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
589 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
590 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
591 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
592 // 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
593 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
594
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
595 newPanel = new DoubleArrayPanel(
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
596 MSG.unitQSingle(), values, 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
597 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
598 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
599 // 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
600 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
601 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
602 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
603
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
604 newPanel = new DoubleRangePanel(
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
605 MSG.unitQFrom(), MSG.unitQTo(), MSG.unitQStep(),
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
606 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
607 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
608 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
609 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
610 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
611
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 container.addMember(newPanel);
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 }
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
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 /**
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 * 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
618 * 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
619 *
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
620 * @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
621 */
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
622 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
623 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
624 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
625
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
626 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
627 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
628
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
629 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
630 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
631 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
632 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
633 }
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 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
635 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
636 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
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 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
640 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
641 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
642 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
643 }
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 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
645 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
646 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
647 }
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
648 }
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
649 }
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
650
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
651
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
652 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
653 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
654
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
655 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
656 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
657 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
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 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
660 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
661
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
662
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
663 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
664 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
665
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
666 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
667 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
668 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
669 }
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
670 }
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
671 }
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
672
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
673
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
674 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
675 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
676 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
677 }
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
678 }
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
679
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
680
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
681 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
682 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
683 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
684 }
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
685 }
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
686
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
687
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
688 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
689 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
690
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
691 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
692 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
693 }
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
694 }
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
695
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
696
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
697 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
698 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
699
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
700 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
701 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
702 }
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
703 }
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
704
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
705
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
706 protected void saveRangeWValue(DoubleRangePanel 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
707 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
708 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
709 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
710 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
711 }
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
712 }
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
713
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
714
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
715 protected void saveRangeQValue(DoubleRangePanel 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
716 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
717 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
718 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
719 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
720 }
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
721 }
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
722
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
723
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
724 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
725 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
726 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
727
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
728
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
729 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
730 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
731 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
732
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
733
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
734 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
735 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
736 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
737
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
738
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
739 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
740 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
741 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
742
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
743
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
744 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
745 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
746 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
747
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
748
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
749 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
750 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
751 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
752
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
753
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
754 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
755 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
756 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
757
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
758
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
759 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
760 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
761 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
762
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
763
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
764 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
765 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
766 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
767
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
768
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
769 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
770 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
771 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
772
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
773
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
774 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
775 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
776 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
777
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
778
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
779 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
780 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
781 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
782
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
783
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
784 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
785 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
786 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
787
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
788
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
789 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
790 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
791 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
792
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
793
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
794 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
795 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
796 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
797
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
798
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
799 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
800 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
801 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
802 }
ba7df4a24ae0 Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
803 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org