Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DoubleRangePanel.java @ 7745:1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Unfortunately, controlling the displayed message proved difficult due
to mixed error/validation-handling code. It shows wrong format message
for now.
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Tue, 11 Feb 2014 12:37:16 +0100 |
parents | ea9eef426962 |
children | 316a9eeb0836 |
rev | line source |
---|---|
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
1 /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
2 * Software engineering by Intevation GmbH |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
3 * |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
4 * This file is Free Software under the GNU AGPL (>=v3) |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
5 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
5993
ea9eef426962
Removed trailing whitespace.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5861
diff
changeset
|
6 * documentation coming with Dive4Elements River for details. |
5861
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
7 */ |
172338b1407f
GWT client: Added copyright header.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
8 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
9 package org.dive4elements.river.client.client.ui; |
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
|
10 |
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.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
|
12 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
|
13 |
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.types.Alignment; |
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.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
|
16 import com.smartgwt.client.widgets.form.fields.FloatItem; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.form.fields.FormItem; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.form.fields.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
|
19 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
20 |
5835
821a02bbfb4e
Fixed internal java dependencies
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5834
diff
changeset
|
21 import org.dive4elements.river.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
|
22 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
1490
diff
changeset
|
23 import java.util.Map; |
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 |
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 |
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 * This class creates a DynamicForm with three input fields. |
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 * @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
|
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 public class 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
|
32 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
|
33 { |
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 /** 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
|
35 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
|
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 |
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 /** The constant name of the input field to enter the start of a distance.*/ |
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 public static final String FIELD_FROM = "from"; |
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 name of the input field to enter the end of a distance.*/ |
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_TO = "to"; |
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 name of the input field to enter the step width of 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
|
45 * distance.*/ |
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 public static final String FIELD_WIDTH = "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
|
47 |
7745
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
48 /** Whether or not negative 'to' values are allowed. */ |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
49 protected boolean negativeToAllowed = true; |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
50 |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
51 /** The textboxes */ |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
52 protected FloatItem fromItem; |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
53 protected FloatItem toItem; |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
54 protected FloatItem stepItem; |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
55 |
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
|
56 |
1265
f98bd9b5cedd
#315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
57 public DoubleRangePanel() { |
f98bd9b5cedd
#315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
58 } |
f98bd9b5cedd
#315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
59 |
f98bd9b5cedd
#315 Added a new UIProvider for range selection in floodmaps.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
787
diff
changeset
|
60 |
42
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
61 /** |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
62 * 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
|
63 * 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
|
64 * |
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 * @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
|
66 * @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
|
67 * @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
|
68 * @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
|
69 */ |
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 public 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
|
71 String titleFrom, String titleTo, String titleStep, |
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 double from, double to, double 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
|
73 int width, |
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 BlurHandler 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
|
75 { |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
76 this( |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
77 titleFrom, titleTo, titleStep, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
78 from, to, step, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
79 width, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
80 handler, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
81 "right"); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
82 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
83 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
84 |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
85 public DoubleRangePanel( |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
86 String titleFrom, String titleTo, String titleStep, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
87 double from, double to, double step, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
88 int width, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
89 BlurHandler handler, |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
90 String labelOrientation) |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
91 { |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
92 fromItem = new FloatItem(FIELD_FROM); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
93 toItem = new FloatItem(FIELD_TO); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
94 stepItem = new FloatItem(FIELD_WIDTH); |
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
|
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 fromItem.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
|
97 toItem.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
|
98 stepItem.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
|
99 |
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 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
|
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 fromItem.setValue(f.format(from)); |
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 toItem.setValue(f.format(to)); |
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 stepItem.setValue(f.format(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
|
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 StaticTextItem fromText = new StaticTextItem("staticFrom"); |
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 fromText.setValue(titleFrom); |
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 fromText.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
|
109 fromItem.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
|
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 StaticTextItem toText = new StaticTextItem("staticTo"); |
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 toText.setValue(titleTo); |
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 toText.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
|
114 toItem.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
|
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 StaticTextItem stepText = new StaticTextItem("staticStep"); |
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 stepText.setValue(titleStep); |
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 stepText.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
|
119 stepItem.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
|
120 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
121 int itemWidth = width / 6; |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
122 fromItem.setWidth(itemWidth); |
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 fromText.setWidth(itemWidth); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
124 toItem.setWidth(itemWidth); |
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 toText.setWidth(itemWidth); |
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 stepItem.setWidth(itemWidth); |
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 stepText.setWidth(itemWidth); |
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 |
787
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
129 if (labelOrientation.equals("right")) { |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
130 setFields(fromItem, fromText, toItem, toText, stepItem, stepText); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
131 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
132 else { |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
133 setFields(fromText, fromItem, toText, toItem, stepText, stepItem); |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
134 } |
4e0b73b7113b
Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
780
diff
changeset
|
135 |
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
|
136 setFixedColWidths(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
|
137 setNumCols(6); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
138 setWidth(width); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
139 setAlign(Alignment.CENTER); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
140 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
141 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
142 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
143 /** |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
144 * This method takes distances values and sets them to the textboxes |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
145 * visualizied by this widget. |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
146 * |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
147 * @param from The from value. |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
148 * @param to The to value. |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
149 * @param steps The max steps. |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
150 */ |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
151 public void setValues(double from, double to, double steps) { |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
152 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
|
153 |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
154 fromItem.setValue(f.format(from)); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
155 toItem.setValue(f.format(to)); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
156 stepItem.setValue(f.format(steps)); |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
157 } |
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
158 |
7745
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
159 public void setNegativeToAllowed(boolean isAllowed) { |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
160 negativeToAllowed = isAllowed; |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
161 } |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
162 |
562
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
163 |
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
164 public boolean validateForm() { |
1490
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
165 try { |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
166 return |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
167 validateForm(fromItem) && |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
168 validateForm(toItem) && |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
169 validateForm(stepItem); |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
170 } |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
171 catch (NumberFormatException nfe) { |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
172 return false; |
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
173 } |
562
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
174 } |
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
175 |
233
137daff2c732
Prepared UI elements for the location and distance input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
176 /** |
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
|
177 * This method validates the entered text in the input fields. 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
|
178 * there are values that doesn't represent a valid float, 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
|
179 * 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
|
180 * |
7745
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
181 * Also if negativeToAllowed is false, an error is registered if |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
182 * the 'to' field contains a negative value. |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
183 * |
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
|
184 * @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
|
185 */ |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
1490
diff
changeset
|
186 @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
|
187 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
|
188 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
|
189 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
|
190 } |
a3d235c63195
Save the 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
|
191 |
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
|
192 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
|
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 String v = (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
|
195 |
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 NumberFormat f = NumberFormat.getDecimalFormat(); |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
1490
diff
changeset
|
197 @SuppressWarnings("rawtypes") |
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
|
198 Map errors = getErrors(); |
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 |
7745
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
200 Double d = 0d; |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
201 |
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
|
202 try { |
562
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
203 if (v == null) { |
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
204 throw new NumberFormatException("empty"); |
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
205 } |
9f16ac843dda
Introduced a client side validation before new user data are sent to the server - the range/location panel already implements this validation.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
233
diff
changeset
|
206 |
7745
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
207 d = f.parse(v); |
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
|
208 |
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 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
|
210 } |
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 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
|
212 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
|
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 item.focusInItem(); |
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 |
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 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
|
217 } |
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 |
7745
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
219 if (negativeToAllowed == false |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
220 && item.getFieldName().equals(FIELD_TO) && d < 0d) { |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
221 errors.put(item.getFieldName(), MESSAGES.toShouldNotBeNegative()); |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
222 |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
223 item.setValue(""); |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
224 |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
225 item.focusInItem(); |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
226 |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
227 valid = false; |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
228 } |
1d6b957d8953
issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
5993
diff
changeset
|
229 |
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
|
230 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
|
231 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
232 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
|
233 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
234 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
235 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
236 /** |
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 * Returns the double value of <i>value</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
|
238 * |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
239 * @return the double value of <i>value</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
|
240 */ |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
241 protected double getDouble(String value) { |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
242 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
|
243 |
571
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
562
diff
changeset
|
244 String[] splitted = value.split(" "); |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
562
diff
changeset
|
245 |
6ebe845a9d37
#117 Improved double value parsing in DoubleArrayPanel and DoubleRangePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
562
diff
changeset
|
246 return f.parse(splitted[0]); |
42
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
247 } |
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 /** |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
251 * Returns the start value. |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
252 * |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
253 * @return the start value. |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
254 */ |
1490
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
255 public double getFrom() throws NullPointerException { |
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
|
256 String v = getValueAsString(FIELD_FROM); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
257 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
258 return getDouble(v); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
259 } |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
260 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
261 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
262 /** |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
263 * Returns the end value. |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
264 * |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
265 * @return the end value. |
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 */ |
1490
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
267 public double getTo() throws NullPointerException { |
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
|
268 String v = getValueAsString(FIELD_TO); |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
269 |
ba7df4a24ae0
Added a new widget to enter w/Q values in single and range mode.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
270 return getDouble(v); |
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 |
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 |
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 /** |
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 * Returns the step width. |
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 * |
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 * @return the step width. |
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 */ |
1490
15b4bc8eede0
#302 Improved input validation in WQ panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
1265
diff
changeset
|
279 public double getStep() throws NullPointerException { |
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
|
280 String v = getValueAsString(FIELD_WIDTH); |
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 |
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 return getDouble(v); |
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 } |
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:
571
diff
changeset
|
284 |
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:
571
diff
changeset
|
285 |
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:
571
diff
changeset
|
286 /** |
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:
571
diff
changeset
|
287 * Sets the value of the field with name <i>fieldname</i>. |
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:
571
diff
changeset
|
288 * |
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:
571
diff
changeset
|
289 * @param value The 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:
571
diff
changeset
|
290 * @param fieldname The name of the field. |
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:
571
diff
changeset
|
291 */ |
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:
571
diff
changeset
|
292 public void setDoubleValue(double value, String fieldname) { |
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:
571
diff
changeset
|
293 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:
571
diff
changeset
|
294 setValue(fieldname, f.format(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:
571
diff
changeset
|
295 } |
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:
571
diff
changeset
|
296 |
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:
571
diff
changeset
|
297 |
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:
571
diff
changeset
|
298 /** |
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:
571
diff
changeset
|
299 * Sets a new start 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:
571
diff
changeset
|
300 * |
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:
571
diff
changeset
|
301 * @param value The new start 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:
571
diff
changeset
|
302 */ |
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:
571
diff
changeset
|
303 public void setFrom(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:
571
diff
changeset
|
304 setDoubleValue(value, FIELD_FROM); |
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:
571
diff
changeset
|
305 } |
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:
571
diff
changeset
|
306 |
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:
571
diff
changeset
|
307 |
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:
571
diff
changeset
|
308 /** |
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:
571
diff
changeset
|
309 * Sets a new end 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:
571
diff
changeset
|
310 * |
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:
571
diff
changeset
|
311 * @param value The new end 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:
571
diff
changeset
|
312 */ |
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:
571
diff
changeset
|
313 public void setTo(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:
571
diff
changeset
|
314 setDoubleValue(value, FIELD_TO); |
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:
571
diff
changeset
|
315 } |
780
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
316 |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
317 |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
318 /** |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
319 * Sets a new step width. |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
320 * |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
321 * @param value The new step width. |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
322 */ |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
323 public void setStep(double value) { |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
324 setDoubleValue(value, FIELD_WIDTH); |
a39c2f531755
Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
580
diff
changeset
|
325 } |
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
|
326 } |
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 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |