Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/DoubleArrayPanel.java @ 4215:c179cd02177d
Logout the current user
Add code to the logout button to remove the current user from the session and to
redirect the browser window to the login page.
Part of flys/issue916 (Logout: "Abmelden" Knopf mit Funktion belegen)
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Tue, 23 Oct 2012 09:59:16 +0200 |
parents | 360e22afb98b |
children | 5f70c73b11ed |
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 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
|
4 import com.google.gwt.i18n.client.NumberFormat; |
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.smartgwt.client.types.TitleOrientation; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
7 import com.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
|
8 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
|
9 import com.smartgwt.client.widgets.form.fields.StaticTextItem; |
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.fields.TextItem; |
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.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
|
12 |
211
b92281182c6b
Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
59
diff
changeset
|
13 import de.intevation.flys.client.client.FLYSConstants; |
42
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
14 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
15 import java.util.Map; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
16 |
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
|
17 public class 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
|
18 extends 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
|
19 { |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
590
diff
changeset
|
20 /** The message class that provides i18n strings. */ |
211
b92281182c6b
Removed the FLYSMessages interface and replaced it with a FLYSConstants interface - this interface has the ability to lookup i18n strings with given keys.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
59
diff
changeset
|
21 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
42
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
22 |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
23 protected TextItem ti; |
42
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
24 |
1333
1627a28c4504
Cosmetics, docs.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
590
diff
changeset
|
25 /** The constant input field name. */ |
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
|
26 public static final String FIELD_NAME = "doublearray"; |
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 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
29 public DoubleArrayPanel( |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
30 String title, |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
31 double[] values, |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
32 BlurHandler handler) |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
33 { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
34 this(title, values, handler, TitleOrientation.RIGHT); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
35 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
36 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
37 |
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
|
38 /** |
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 * Creates a new form with a single input field that displays an array of |
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 * 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
|
41 * |
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 * @param name The name of the TextItem. |
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 * @param title The title of the TextItem. |
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 * @param values The double values that should be displayed initially. |
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 * @param handler The BlurHandler that is used to valide the 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
|
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 public 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
|
48 String title, |
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 double[] values, |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
50 BlurHandler handler, |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
51 TitleOrientation titleOrientation) |
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
|
52 { |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
53 ti = new TextItem(FIELD_NAME); |
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
|
54 StaticTextItem sti = new StaticTextItem("staticarray"); |
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 ti.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
|
57 sti.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
|
58 sti.setValue(title); |
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 |
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 ti.addBlurHandler(handler); |
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 |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
62 if (titleOrientation == TitleOrientation.RIGHT) { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
63 setFields(ti, sti); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
64 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
65 else { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
66 setFields(sti, ti); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
67 } |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
68 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
69 setTitleOrientation(titleOrientation); |
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
|
70 setNumCols(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
|
71 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
72 if (values == 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
|
73 return; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
74 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
75 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 NumberFormat f = NumberFormat.getDecimalFormat(); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
77 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
78 StringBuilder text = new StringBuilder(); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 boolean firstItem = true; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
80 |
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 for (double val: 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
|
82 if (!firstItem) { |
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 text.append(" "); |
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 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
85 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 text.append(f.format(val)); |
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 |
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 firstItem = 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
|
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 |
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 ti.setValue(text.toString()); |
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 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
94 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
95 /** |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
96 * This method takes the double array to set the values to the textbox. |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
97 * |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
98 * @param values The double values. |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
99 */ |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
100 public void setValues(double[] values) { |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
101 NumberFormat f = NumberFormat.getDecimalFormat(); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
102 |
3836
06c76de19b51
Fix NullPointerException
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
1369
diff
changeset
|
103 if(values == null || values.length == 0) { |
1369
1fae113b93fd
Issue 118/203.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
104 ti.clearValue(); |
1fae113b93fd
Issue 118/203.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
105 return; |
1fae113b93fd
Issue 118/203.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1333
diff
changeset
|
106 } |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
107 StringBuilder text = new StringBuilder(); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
108 boolean firstItem = true; |
238
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
109 if (values != null) { |
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
110 for (double val: values) { |
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
111 if (!firstItem) { |
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
112 text.append(" "); |
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
113 } |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
114 |
238
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
115 text.append(f.format(val)); |
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
116 |
234c78a91c15
Added new UI provider for single location selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
233
diff
changeset
|
117 firstItem = false; |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
118 } |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
119 } |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
120 |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
121 ti.clearValue(); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
122 ti.setValue(text.toString()); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
123 } |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
124 |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
125 |
580
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
126 /** |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
127 * This method appends a double value to the current list of values. |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
128 * |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
129 * @param value A new value. |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
130 */ |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
131 public void addValue(double value) { |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
132 NumberFormat f = NumberFormat.getDecimalFormat(); |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
133 |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
134 String current = ti.getValueAsString(); |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
135 |
590
81d7939a5d9e
DoubleArrayPanel takes care on empty array fields when adding new double values. This avoids displaying 'null' values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
136 if (current == null || current.length() == 0) { |
81d7939a5d9e
DoubleArrayPanel takes care on empty array fields when adding new double values. This avoids displaying 'null' values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
137 current = f.format(value); |
81d7939a5d9e
DoubleArrayPanel takes care on empty array fields when adding new double values. This avoids displaying 'null' values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
138 } |
81d7939a5d9e
DoubleArrayPanel takes care on empty array fields when adding new double values. This avoids displaying 'null' values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
139 else { |
81d7939a5d9e
DoubleArrayPanel takes care on empty array fields when adding new double values. This avoids displaying 'null' values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
140 current += " " + f.format(value); |
81d7939a5d9e
DoubleArrayPanel takes care on empty array fields when adding new double values. This avoids displaying 'null' values.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
141 } |
580
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
142 |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
143 ti.setValue(current); |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
144 } |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
145 |
42512fce9b1b
#140, #122: Splitted the WQD table in the WQInputPanel into two tables: a table for QD values and a table for W values - only the QD table is selectable.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
573
diff
changeset
|
146 |
563
469528551b78
Introduced an input validation for the location panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
147 protected boolean validateForm() { |
469528551b78
Introduced an input validation for the location panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
148 return validateForm(ti); |
469528551b78
Introduced an input validation for the location panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
149 } |
469528551b78
Introduced an input validation for the location panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
150 |
469528551b78
Introduced an input validation for the location panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
246
diff
changeset
|
151 |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
152 /** |
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
|
153 * This method validates the entered text in the location input field. If |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 * there are values that doesn't represent a valid location, an error is |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 * 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
|
156 * |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
157 * @param item The 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
|
158 */ |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
159 @SuppressWarnings("unchecked") |
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
|
160 protected boolean validateForm(FormItem item) { |
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:
42
diff
changeset
|
161 if (item instanceof StaticTextItem) { |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
42
diff
changeset
|
162 return true; |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
42
diff
changeset
|
163 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
42
diff
changeset
|
164 |
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
|
165 boolean valid = true; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 String value = (String) item.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
|
167 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 if (value == 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
|
169 return valid; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 |
573
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
172 String[] parts = value.split("\\s+"); |
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
|
173 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 if (parts == 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
|
175 return valid; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
177 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
178 NumberFormat nf = NumberFormat.getDecimalFormat(); |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
179 @SuppressWarnings("rawtypes") |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
180 Map errors = getErrors(); |
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
|
181 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
182 try { |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
183 for (String part: parts) { |
573
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
184 |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
185 if (part.length() == 0) { |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
186 continue; |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
187 } |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
188 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3836
diff
changeset
|
189 nf.parse(part); |
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
|
190 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 errors.remove(item.getFieldName()); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
193 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
194 catch (NumberFormatException nfe) { |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
195 errors.put(item.getFieldName(), MESSAGES.wrongFormat()); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
196 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
197 valid = 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
|
198 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
199 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
200 setErrors(errors, true); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
201 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
202 return valid; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
203 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
204 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
205 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
206 /** |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
207 * This method returns the double array that has been entered in |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
208 * <i>item</i>. |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
209 * |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
210 * @param item The item that contains the desired 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
|
211 * |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
212 * @return the values as double array. |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
213 */ |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
214 public double[] getInputValues(FormItem item) { |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
215 String value = (String) item.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
|
216 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
217 if (value == 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
|
218 return 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
|
219 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
220 |
573
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
221 String[] parts = value.split("\\s+"); |
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
|
222 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
223 if (parts == 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
|
224 return 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
|
225 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
226 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
227 NumberFormat f = NumberFormat.getDecimalFormat(); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
228 |
571
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
229 double[] values = new double[parts.length]; |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
230 |
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
|
231 int i = 0; |
571
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
232 OUTER: for (String part: parts) { |
573
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
233 if (part.length() == 0) { |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
234 continue; |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
235 } |
756bd8f0b97c
The DoubleArrayPanel is more tolerant towards entered whitespaces.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
571
diff
changeset
|
236 |
42
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
237 try { |
571
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
238 double x = f.parse(part); |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
239 for (int j = 0; j < i; ++j) { |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
240 if (values[j] == x) { |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
241 continue OUTER; |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
242 } |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
243 } |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
244 values[i++] = x; |
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
|
245 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
246 catch (NumberFormatException nfe) { |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 // do nothing |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
248 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
249 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
250 |
571
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
251 double [] out = new double[i]; |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
252 System.arraycopy(values, 0, out, 0, i); |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
253 |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
563
diff
changeset
|
254 return out; |
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
|
255 } |
246
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
256 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
257 |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
258 /** |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
259 * Returns the double values of this panel. |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
260 * |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
261 * @return the double values of this panel. |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
262 */ |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
263 public double[] getInputValues() { |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
264 return getInputValues(ti); |
ccba1a0b743e
The WQAdaptedInputPanel displays input fields for each gauge and returns the correct w/q values now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
238
diff
changeset
|
265 } |
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
|
266 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
267 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |