Mercurial > dive4elements > river
annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/LocationDistancePanel.java @ 9175:34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
author | gernotbelger |
---|---|
date | Mon, 25 Jun 2018 17:58:11 +0200 |
parents | 5e38e2924c07 |
children | 7337034eb5d5 |
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; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
10 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
11 import java.util.ArrayList; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
12 import java.util.LinkedHashMap; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
13 import java.util.List; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
14 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
15 import org.dive4elements.river.client.client.Config; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
16 import org.dive4elements.river.client.client.FLYSConstants; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
17 import org.dive4elements.river.client.client.event.FilterHandler; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
18 import org.dive4elements.river.client.client.event.RangeFilterEvent; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
19 import org.dive4elements.river.client.client.event.StringFilterEvent; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
20 import org.dive4elements.river.client.client.services.DistanceInfoService; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
21 import org.dive4elements.river.client.client.services.DistanceInfoServiceAsync; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
22 import org.dive4elements.river.client.client.ui.range.DistanceInfoDataSource; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
23 import org.dive4elements.river.client.shared.model.ArtifactDescription; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
24 import org.dive4elements.river.client.shared.model.Data; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
25 import org.dive4elements.river.client.shared.model.DataItem; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
26 import org.dive4elements.river.client.shared.model.DataList; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
27 import org.dive4elements.river.client.shared.model.DefaultData; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
28 import org.dive4elements.river.client.shared.model.DefaultDataItem; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
29 import org.dive4elements.river.client.shared.model.DistanceInfoObject; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
30 |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
31 import com.google.gwt.core.client.GWT; |
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:
520
diff
changeset
|
32 import com.google.gwt.i18n.client.NumberFormat; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
33 import com.smartgwt.client.data.AdvancedCriteria; |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
34 import com.smartgwt.client.data.Criteria; |
1536
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
35 import com.smartgwt.client.data.Criterion; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
36 import com.smartgwt.client.data.Record; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
37 import com.smartgwt.client.types.Alignment; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
38 import com.smartgwt.client.types.ListGridFieldType; |
1536
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
39 import com.smartgwt.client.types.OperatorId; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
40 import com.smartgwt.client.widgets.Canvas; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
41 import com.smartgwt.client.widgets.Label; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
42 import com.smartgwt.client.widgets.form.DynamicForm; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
43 import com.smartgwt.client.widgets.form.fields.FormItem; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
44 import com.smartgwt.client.widgets.form.fields.RadioGroupItem; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
45 import com.smartgwt.client.widgets.form.fields.SelectItem; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
46 import com.smartgwt.client.widgets.form.fields.StaticTextItem; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
47 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
48 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
49 import com.smartgwt.client.widgets.form.fields.events.ChangeEvent; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
50 import com.smartgwt.client.widgets.form.fields.events.ChangeHandler; |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
51 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
52 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
53 import com.smartgwt.client.widgets.grid.CellFormatter; |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
54 import com.smartgwt.client.widgets.grid.ListGrid; |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
55 import com.smartgwt.client.widgets.grid.ListGridField; |
906
39acba4b5f0b
Added formatter for numeric columns that converts the decimal separator.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
903
diff
changeset
|
56 import com.smartgwt.client.widgets.grid.ListGridRecord; |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
57 import com.smartgwt.client.widgets.grid.events.RecordClickEvent; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
58 import com.smartgwt.client.widgets.grid.events.RecordClickHandler; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
59 import com.smartgwt.client.widgets.layout.HLayout; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
60 import com.smartgwt.client.widgets.layout.VLayout; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
61 import com.smartgwt.client.widgets.tab.Tab; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
62 import com.smartgwt.client.widgets.tab.TabSet; |
893
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
886
diff
changeset
|
63 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent; |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
64 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler; |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
65 |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
66 /** |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
67 * This UIProvider creates a widget to enter locations or a distance. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
68 * |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
69 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a> |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
70 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
71 public class LocationDistancePanel extends AbstractUIProvider implements ChangeHandler, BlurHandler, FilterHandler { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
72 private static final long serialVersionUID = -10820092176039372L; |
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
73 |
838
a5e96a36478c
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
788
diff
changeset
|
74 /** 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:
101
diff
changeset
|
75 protected FLYSConstants MESSAGES = GWT.create(FLYSConstants.class); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
76 |
838
a5e96a36478c
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
788
diff
changeset
|
77 /** The DistanceInfoService used to retrieve locations about rivers. */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
78 protected DistanceInfoServiceAsync distanceInfoService = GWT.create(DistanceInfoService.class); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
79 |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
80 public static final String FIELD_MODE = "mode"; |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
81 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
82 /** The constant name of the input field to enter the start of a distance. */ |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
83 public static final String FIELD_FROM = "from"; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
84 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
85 /** The constant name of the input field to enter the end of a distance. */ |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
86 public static final String FIELD_TO = "to"; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
87 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
88 /** The constant name of the input field to enter locations. */ |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
89 public static final String FIELD_VALUE_LOCATION = "location"; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
90 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
91 /** The constant name of the input field to enter distance. */ |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
92 public static final String FIELD_VALUE_DISTANCE = "distance"; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
93 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
94 /** |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
95 * The constant name of the input field to enter the step width of a |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
96 * distance. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
97 */ |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
98 public static final String FIELD_WIDTH = "width"; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
99 |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
100 public static final int WIDTH = 250; |
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
101 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
102 /** The radio group for input mode selection. */ |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
103 protected DynamicForm mode; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
104 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
105 /** A container that will contain the location or the distance panel. */ |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
106 protected HLayout container; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
107 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
108 /** The min value for a distance. */ |
55
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
109 protected double min; |
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
110 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
111 /** The max value for a distance. */ |
55
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
112 protected double max; |
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
113 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
114 /** The 'from' value entered in the distance mode. */ |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
115 protected double from; |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
116 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
117 /** The 'to' value entered in the distance mode. */ |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
118 protected double to; |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
119 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
120 /** The 'step' value entered in the distance mode. */ |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
121 protected double step; |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
122 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
123 /** The values entered in the location mode. */ |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
124 protected double[] values; |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
125 |
838
a5e96a36478c
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
788
diff
changeset
|
126 /** The input panel for locations. */ |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
127 protected DoubleArrayPanel locationPanel; |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
128 |
838
a5e96a36478c
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
788
diff
changeset
|
129 /** The input panel for distances. */ |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
130 protected DoubleRangePanel distancePanel; |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
131 |
838
a5e96a36478c
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
788
diff
changeset
|
132 /** The tab set containing the location and distance table. */ |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
133 protected TabSet inputTables; |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
134 |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
135 /** The distance table. */ |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
136 protected ListGrid distanceTable; |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
137 |
838
a5e96a36478c
Minor cosmetics.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
788
diff
changeset
|
138 /** The locations table. */ |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
139 protected ListGrid locationsTable; |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
140 |
237
cf25f235b7b6
Cash the table data and rebuild the location table on distance selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
235
diff
changeset
|
141 /** The table data. */ |
cf25f235b7b6
Cash the table data and rebuild the location table on distance selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
235
diff
changeset
|
142 protected DistanceInfoObject[] tableData; |
cf25f235b7b6
Cash the table data and rebuild the location table on distance selection.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
235
diff
changeset
|
143 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
144 /** The table filter. */ |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
145 protected TableFilter filterDescription; |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
146 protected RangeTableFilter filterRange; |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
147 |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
148 /** The Combobox for table filter criteria. */ |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
149 protected SelectItem filterCriteria; |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
150 protected StaticTextItem filterResultCount; |
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
151 protected ListGrid currentFiltered; |
893
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
886
diff
changeset
|
152 |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
153 /** |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
154 * Creates a new LocationDistancePanel instance. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
155 */ |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
156 public LocationDistancePanel() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
157 this.distanceTable = new ListGrid(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
158 this.distanceTable.setAutoFetchData(true); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
159 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
160 this.locationsTable = new ListGrid(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
161 this.locationsTable.setAutoFetchData(true); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
162 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
163 this.distanceTable.setShowHeaderContextMenu(false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
164 this.locationsTable.setShowHeaderContextMenu(false); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
165 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
166 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
167 /** |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
168 * This method creates a widget that contains a label, a panel with |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
169 * checkboxes to switch the input mode between location and distance input, |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
170 * and a the mode specific panel. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
171 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
172 * @param data |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
173 * The data that might be inserted. |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
174 * |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
175 * @return a panel. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
176 */ |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
177 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
178 public Canvas create(final DataList data) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
179 final VLayout layout = new VLayout(); |
83
4784ca718476
Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
59
diff
changeset
|
180 layout.setMembersMargin(10); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
181 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
182 final Label label = getLabel(data);// new Label(MESSAGES.location_distance_state()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
183 final Canvas widget = createWidget(data); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
184 final Canvas submit = getNextButton(); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
185 createDistanceInputPanel(); |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
186 |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
187 initDefaults(data); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
188 |
83
4784ca718476
Improved the positioning of helper widgets and some layout specific stuff.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
59
diff
changeset
|
189 widget.setHeight(50); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
190 label.setHeight(25); |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
191 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
192 layout.addMember(label); |
45
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
193 layout.addMember(widget); |
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
194 layout.addMember(submit); |
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
195 |
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
196 return layout; |
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
197 } |
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
198 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
199 protected Label getLabel(final DataList data) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
200 final Data item = data.get(0); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
201 return new Label(item.getDescription());// |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
202 // TODO: migrate distance_part_state to server |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
203 // item.getDescription()); // holt das Label vom Server (funktoniert schon sehr oft so!) |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
204 } |
45
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
205 |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
206 /** |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
207 * Setup a table for a DistanceInfoDataSource. |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
208 * |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
209 * Sets up a table to for input completion. The table |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
210 * can be used either for single locations or distances. |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
211 * Depending on the value of isDistance the table will |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
212 * have a to and a from column or a single location column. |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
213 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
214 * @param table |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
215 * the ListGrid to set up. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
216 * @param doublePins |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
217 * wether or not to have. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
218 * @param isDistance |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
219 * wether or not to and from should be included. |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
220 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
221 protected void setupDistanceInfoTable(final ListGrid table, final boolean doublePins, final boolean isDistance) { |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
222 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
223 final String baseUrl = GWT.getHostPageBaseURL(); |
1399 | 224 |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
225 table.setWidth100(); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
226 table.setShowRecordComponents(true); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
227 table.setShowRecordComponentsByCell(true); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
228 table.setHeight100(); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
229 table.setEmptyMessage(this.MESSAGES.empty_filter()); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
230 table.setCanReorderFields(false); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
231 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
232 final CellFormatter cf = new CellFormatter() { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
233 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
234 public String format(final Object value, final ListGridRecord record, final int rowNum, final int colNum) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
235 if (value == null) |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
236 return null; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
237 try { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
238 NumberFormat nf; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
239 final double v = Double.parseDouble((String) value); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
240 nf = NumberFormat.getFormat("###0.00##"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
241 return nf.format(v); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
242 } |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
243 catch (final Exception e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
244 return value.toString(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
245 } |
1390
13d07b7daa89
Issue 342.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1318
diff
changeset
|
246 } |
13d07b7daa89
Issue 342.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1318
diff
changeset
|
247 }; |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
248 ListGridField pin1 = null; |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
249 ListGridField pin2 = null; |
1390
13d07b7daa89
Issue 342.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1318
diff
changeset
|
250 |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
251 if (doublePins) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
252 pin1 = new ListGridField("fromIcon", this.MESSAGES.from()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
253 pin1.setWidth(30); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
254 } else { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
255 pin1 = new ListGridField("fromIcon", this.MESSAGES.selection()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
256 pin1.setWidth(60); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
257 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
258 pin1.setType(ListGridFieldType.ICON); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
259 pin1.setCellIcon(baseUrl + this.MESSAGES.markerGreen()); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
260 |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
261 if (doublePins) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
262 pin2 = new ListGridField("toIcon", this.MESSAGES.to()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
263 pin2.setType(ListGridFieldType.ICON); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
264 pin2.setWidth(30); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
265 pin2.setCellIcon(baseUrl + this.MESSAGES.markerRed()); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
266 } |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
267 |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
268 if (isDistance) { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
269 /* We have from / to fields */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
270 pin1.addRecordClickHandler(new RecordClickHandler() { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
271 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
272 public void onRecordClick(final RecordClickEvent e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
273 final Record r = e.getRecord(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
274 if (!isLocationMode()) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
275 /* distance panel and distance mode */ |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
276 setFrom(r.getAttribute("from")); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
277 setTo(r.getAttribute("to")); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
278 } else { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
279 /* distance panel and location mode */ |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
280 /* Pin 1 is the "from" pin */ |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
281 appendLocation(r.getAttribute("from")); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
282 } |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
283 } |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
284 }); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
285 if (doublePins) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
286 pin2.addRecordClickHandler(new RecordClickHandler() { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
287 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
288 public void onRecordClick(final RecordClickEvent e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
289 final Record r = e.getRecord(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
290 if (isLocationMode()) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
291 appendLocation(r.getAttribute("to")); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
292 } else { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
293 /* |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
294 * Distance and double pin behavior is only |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
295 * defined for location mode. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
296 */ |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
297 GWT.log("Unhandled input state."); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
298 } |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
299 } |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
300 }); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
301 } |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
302 } else { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
303 /* We only have the from field */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
304 pin1.addRecordClickHandler(new RecordClickHandler() { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
305 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
306 public void onRecordClick(final RecordClickEvent e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
307 final Record r = e.getRecord(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
308 if (!isLocationMode()) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
309 /* Location panel and distance mode */ |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
310 setFrom(r.getAttribute("from")); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
311 } else { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
312 /* Location panel and location mode */ |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
313 appendLocation(r.getAttribute("from")); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
314 } |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
315 } |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
316 }); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
317 if (doublePins) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
318 pin2.addRecordClickHandler(new RecordClickHandler() { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
319 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
320 public void onRecordClick(final RecordClickEvent e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
321 final Record r = e.getRecord(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
322 if (!isLocationMode()) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
323 setTo(r.getAttribute("from")); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
324 } else { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
325 /* |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
326 * Distance and double pin behavior is only |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
327 * defined for location mode. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
328 */ |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
329 GWT.log("Unhandled input state."); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
330 } |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
331 } |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
332 }); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
333 } |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
334 } |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
335 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
336 final ListGridField ddescr = new ListGridField("description", this.MESSAGES.description()); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
337 ddescr.setType(ListGridFieldType.TEXT); |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
338 ddescr.setWidth("*"); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
339 |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
340 ListGridField from; |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
341 ListGridField to = null; |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
342 |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
343 if (isDistance) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
344 from = new ListGridField("from", this.MESSAGES.from()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
345 to = new ListGridField("to", this.MESSAGES.to()); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
346 to.setType(ListGridFieldType.FLOAT); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
347 to.setCellFormatter(cf); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
348 |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
349 to.setWidth("12%"); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
350 to.setAlign(Alignment.LEFT); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
351 } else { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
352 from = new ListGridField("from", this.MESSAGES.locations()); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
353 } |
1390
13d07b7daa89
Issue 342.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1318
diff
changeset
|
354 from.setCellFormatter(cf); |
886
2161d3acc83f
Changed field size from fixed to percental value in helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
876
diff
changeset
|
355 from.setWidth("12%"); |
906
39acba4b5f0b
Added formatter for numeric columns that converts the decimal separator.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
903
diff
changeset
|
356 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
357 final ListGridField dside = new ListGridField("riverside", this.MESSAGES.riverside()); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
358 dside.setType(ListGridFieldType.TEXT); |
886
2161d3acc83f
Changed field size from fixed to percental value in helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
876
diff
changeset
|
359 dside.setWidth("12%"); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
360 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
361 final ListGridField bottom = new ListGridField("bottom", this.MESSAGES.bottom_edge()); |
568
1d20533a4ae3
Bring Oberkante and Unterkante into UI.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
562
diff
changeset
|
362 bottom.setType(ListGridFieldType.TEXT); |
886
2161d3acc83f
Changed field size from fixed to percental value in helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
876
diff
changeset
|
363 bottom.setWidth("10%"); |
1390
13d07b7daa89
Issue 342.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1318
diff
changeset
|
364 bottom.setCellFormatter(cf); |
568
1d20533a4ae3
Bring Oberkante and Unterkante into UI.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
562
diff
changeset
|
365 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
366 final ListGridField top = new ListGridField("top", this.MESSAGES.top_edge()); |
568
1d20533a4ae3
Bring Oberkante and Unterkante into UI.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
562
diff
changeset
|
367 top.setType(ListGridFieldType.TEXT); |
886
2161d3acc83f
Changed field size from fixed to percental value in helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
876
diff
changeset
|
368 top.setWidth("10%"); |
1390
13d07b7daa89
Issue 342.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1318
diff
changeset
|
369 top.setCellFormatter(cf); |
568
1d20533a4ae3
Bring Oberkante and Unterkante into UI.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
562
diff
changeset
|
370 |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
371 if (doublePins && isDistance) { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
372 table.setFields(pin1, pin2, ddescr, from, to, dside, bottom, top); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
373 } else if (doublePins) { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
374 table.setFields(pin1, pin2, ddescr, from, dside, bottom, top); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
375 } else if (isDistance) { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
376 table.setFields(pin1, ddescr, from, to, dside, bottom, top); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
377 } else { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
378 table.setFields(pin1, ddescr, from, dside, bottom, top); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
379 } |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
380 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
381 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
382 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
383 public Canvas createOld(final DataList dataList) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
384 final List<Data> items = dataList.getAll(); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
385 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
386 final Data dMode = getData(items, "ld_mode"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
387 final DataItem[] dItems = dMode.getItems(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
388 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
389 boolean rangeMode = true; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
390 if (dItems != null && dItems[0] != null) { |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
391 rangeMode = FIELD_VALUE_DISTANCE.equals(dItems[0].getStringValue()); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
392 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
393 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
394 final HLayout layout = new HLayout(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
395 layout.setWidth("400px"); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
396 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
397 final Label label = new Label(dataList.getLabel()); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
398 label.setWidth("200px"); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
399 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
400 final Canvas back = getBackButton(dataList.getState()); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
401 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
402 layout.addMember(label); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
403 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
404 if (rangeMode) { |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
405 layout.addMember(getOldRangeSelection(dataList)); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
406 } else { |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
407 layout.addMember(getOldLocationSelection(dataList)); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
408 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
409 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
410 layout.addMember(back); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
411 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
412 return layout; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
413 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
414 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
415 /** |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
416 * Creates a label for the selected range. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
417 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
418 * @param dataList |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
419 * The DataList containing all values for this state. |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
420 * |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
421 * @return A label displaying the selected values. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
422 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
423 protected Label getOldRangeSelection(final DataList dataList) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
424 final List<Data> items = dataList.getAll(); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
425 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
426 final Data dFrom = getData(items, "ld_from"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
427 final Data dTo = getData(items, "ld_to"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
428 final Data dStep = getData(items, "ld_step"); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
429 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
430 final DataItem[] from = dFrom.getItems(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
431 final DataItem[] to = dTo.getItems(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
432 final DataItem[] step = dStep.getItems(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
433 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
434 final StringBuilder sb = new StringBuilder(); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
435 sb.append(from[0].getLabel()); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
436 sb.append(" " + this.MESSAGES.unitFrom() + " "); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
437 sb.append(to[0].getLabel()); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
438 sb.append(" " + this.MESSAGES.unitTo() + " "); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
439 sb.append(step[0].getLabel()); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
440 sb.append(" " + this.MESSAGES.unitWidth()); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
441 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
442 final Label selected = new Label(sb.toString()); |
91
0d8203594bb4
Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
83
diff
changeset
|
443 selected.setWidth("130px"); |
0d8203594bb4
Resized CollectionView and set the content size to have a tabled style.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
83
diff
changeset
|
444 |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
445 return selected; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
446 } |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
447 |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
448 /** |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
449 * Creates a label for the selected locations. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
450 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
451 * @param dataList |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
452 * The DataList containing all values for this state. |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
453 * |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
454 * @return A label displaying the selected values. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
455 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
456 protected Label getOldLocationSelection(final DataList dataList) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
457 final List<Data> items = dataList.getAll(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
458 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
459 final Data dLocations = getData(items, "ld_locations"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
460 final DataItem[] lItems = dLocations.getItems(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
461 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
462 final String[] splitted = lItems[0].getStringValue().split(" "); |
3542
9647a6548320
Issue 664.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3526
diff
changeset
|
463 String value = ""; |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
464 for (final String element : splitted) { |
3542
9647a6548320
Issue 664.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3526
diff
changeset
|
465 try { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
466 final NumberFormat nf = NumberFormat.getDecimalFormat(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
467 final double dv = Double.parseDouble(element); |
3542
9647a6548320
Issue 664.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3526
diff
changeset
|
468 value += nf.format(dv) + " "; |
9647a6548320
Issue 664.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3526
diff
changeset
|
469 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
470 catch (final NumberFormatException nfe) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
471 value += element + " "; |
3542
9647a6548320
Issue 664.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3526
diff
changeset
|
472 } |
9647a6548320
Issue 664.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3526
diff
changeset
|
473 } |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
474 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
475 final Label selected = new Label(value); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
476 selected.setWidth(130); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
477 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
478 return selected; |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
479 } |
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
480 |
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
481 /** |
55
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
482 * This method reads the default values defined in the DataItems of the Data |
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
483 * objects in <i>list</i>. |
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
484 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
485 * @param list |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
486 * The DataList container that stores the Data objects. |
55
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
487 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
488 protected void initDefaults(final DataList list) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
489 final Data m = getData(list.getAll(), "ld_mode"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
490 final Data l = getData(list.getAll(), "ld_locations"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
491 final Data f = getData(list.getAll(), "ld_from"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
492 final Data t = getData(list.getAll(), "ld_to"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
493 final Data s = getData(list.getAll(), "ld_step"); |
55
4439f642f632
Read min/max values for the distance mode in the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
53
diff
changeset
|
494 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
495 final DataItem[] fItems = f.getItems(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
496 final DataItem[] tItems = t.getItems(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
497 final DataItem[] sItems = s.getItems(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
498 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
499 this.min = Double.valueOf(fItems[0].getStringValue()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
500 this.max = Double.valueOf(tItems[0].getStringValue()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
501 this.step = Double.valueOf(sItems[0].getStringValue()); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
502 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
503 final DataItem mDef = m.getDefault(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
504 final DataItem lDef = l.getDefault(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
505 final DataItem fDef = f.getDefault(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
506 final DataItem tDef = t.getDefault(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
507 final DataItem sDef = s.getDefault(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
508 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
509 final String mDefValue = mDef != null ? mDef.getStringValue() : null; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
510 final String theMode = mDefValue != null && mDefValue.length() > 0 ? mDef.getStringValue() : FIELD_VALUE_DISTANCE; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
511 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
512 this.mode.setValue(FIELD_MODE, theMode); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
513 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
514 final String fDefValue = fDef != null ? fDef.getStringValue() : null; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
515 setFrom(fDefValue != null && fDefValue.length() > 0 ? Double.valueOf(fDef.getStringValue()) : this.min); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
516 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
517 final String tDefValue = tDef != null ? tDef.getStringValue() : null; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
518 setTo(tDefValue != null && tDefValue.length() > 0 ? Double.valueOf(tDef.getStringValue()) : this.max); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
519 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
520 final String sDefValue = sDef != null ? sDef.getStringValue() : null; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
521 setStep(sDefValue != null && sDefValue.length() > 0 ? Double.valueOf(sDef.getStringValue()) : this.step); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
522 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
523 if (lDef != null) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
524 final String lDefValue = lDef != null ? lDef.getStringValue() : null; |
517
ec965bf8dfef
Take care on empty Data objects while initializing default values in Location/distance panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
516
diff
changeset
|
525 |
ec965bf8dfef
Take care on empty Data objects while initializing default values in Location/distance panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
516
diff
changeset
|
526 if (lDefValue != null && lDefValue.length() > 0) { |
ec965bf8dfef
Take care on empty Data objects while initializing default values in Location/distance panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
516
diff
changeset
|
527 setLocationValues(lDef.getStringValue()); |
ec965bf8dfef
Take care on empty Data objects while initializing default values in Location/distance panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
516
diff
changeset
|
528 } |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
529 } |
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
530 |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
531 if (theMode.equals(FIELD_VALUE_DISTANCE)) { |
8448
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
532 enableDistanceMode(); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
533 this.inputTables.selectTab(1); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
534 } else { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
535 enableLocationMode(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
536 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
537 this.currentFiltered = (ListGrid) this.inputTables.getSelectedTab().getPane(); |
8446
75b84f139c1b
(issue1733) Clearly set location distance defaults
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8262
diff
changeset
|
538 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
539 this.distancePanel.setValues(getFrom(), getTo(), getStep()); |
53
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
540 } |
3d5d7788d471
The widgets in the static part of the parameter panel are created using UIProviders now. The ParameterList does not build widgets any longer.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
51
diff
changeset
|
541 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
542 protected Canvas createWidget(final DataList data) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
543 final VLayout layout = new VLayout(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
544 this.container = new HLayout(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
545 final Canvas checkboxPanel = createRadioButtonPanel(); |
45
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
546 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
547 this.locationPanel = new DoubleArrayPanel(this.MESSAGES.unitLocation(), getLocationValues(), this); |
8446
75b84f139c1b
(issue1733) Clearly set location distance defaults
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8262
diff
changeset
|
548 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
549 this.distancePanel = new DoubleRangePanel(this.MESSAGES.unitFrom(), this.MESSAGES.unitTo(), this.MESSAGES.unitWidth(), 0, 0, 0, /* |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
550 * initDefaults set the |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
551 * default values for |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
552 * this. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
553 */ |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
554 400, this); |
8262
9321b0cd4ad4
Fixed location distance panel. TODO: Switch to location table and select tabs.
Raimund Renkert <rrenkert@intevation.de>
parents:
7941
diff
changeset
|
555 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
556 this.container.addMember(this.locationPanel); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
557 this.container.addMember(this.distancePanel); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
558 this.container.hideMember(this.locationPanel); |
45
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
559 |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
560 layout.addMember(checkboxPanel); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
561 layout.addMember(this.container); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
562 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
563 this.container.setMembersMargin(30); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
564 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
565 this.inputTables = new TabSet(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
566 this.inputTables.addTabSelectedHandler(new TabSelectedHandler() { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
567 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
568 public void onTabSelected(final TabSelectedEvent evt) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
569 LocationDistancePanel.this.filterDescription.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
570 LocationDistancePanel.this.filterRange.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
571 LocationDistancePanel.this.filterResultCount.setValue(""); |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
572 |
8448
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
573 // The assumption is that location is tab 0 and distance tab 1 |
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
574 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
575 final Canvas c = evt.getTabPane(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
576 if (c instanceof ListGrid) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
577 LocationDistancePanel.this.currentFiltered = (ListGrid) c; |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
578 } |
893
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
886
diff
changeset
|
579 } |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
886
diff
changeset
|
580 }); |
89c01218172b
Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
886
diff
changeset
|
581 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
582 final Tab locations = new Tab(this.MESSAGES.locations()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
583 final Tab distances = new Tab(this.MESSAGES.distance()); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
584 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
585 this.inputTables.setWidth100(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
586 this.inputTables.setHeight100(); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
587 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
588 locations.setPane(this.locationsTable); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
589 distances.setPane(this.distanceTable); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
590 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
591 this.inputTables.addTab(locations); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
592 this.inputTables.addTab(distances); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
593 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
594 this.filterResultCount = new StaticTextItem(this.MESSAGES.resultCount()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
595 this.filterResultCount.setTitleAlign(Alignment.LEFT); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
596 this.filterResultCount.setTitleStyle("color: #000"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
597 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
598 this.filterDescription = new TableFilter(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
599 this.filterDescription.setHeight("30px"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
600 this.filterDescription.addFilterHandler(this); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
601 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
602 this.filterRange = new RangeTableFilter(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
603 this.filterRange.setHeight("30px"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
604 this.filterRange.addFilterHandler(this); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
605 this.filterRange.setVisible(false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
606 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
607 this.filterCriteria = new SelectItem(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
608 this.filterCriteria.setShowTitle(false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
609 this.filterCriteria.setWidth(100); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
610 this.filterCriteria.addChangedHandler(new ChangedHandler() { |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
611 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
612 public void onChanged(final ChangedEvent e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
613 if (e.getValue().toString().equals("range")) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
614 LocationDistancePanel.this.filterRange.setVisible(true); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
615 LocationDistancePanel.this.filterDescription.setVisible(false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
616 LocationDistancePanel.this.filterDescription.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
617 LocationDistancePanel.this.filterResultCount.setValue(""); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
618 } else { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
619 LocationDistancePanel.this.filterRange.setVisible(false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
620 LocationDistancePanel.this.filterRange.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
621 LocationDistancePanel.this.filterDescription.setVisible(true); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
622 LocationDistancePanel.this.filterResultCount.setValue(""); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
623 } |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
624 } |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
625 }); |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
626 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
627 final LinkedHashMap<String, String> filterMap = new LinkedHashMap<String, String>(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
628 filterMap.put("description", this.MESSAGES.description()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
629 filterMap.put("range", this.MESSAGES.range()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
630 this.filterCriteria.setValueMap(filterMap); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
631 this.filterCriteria.setValue("description"); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
632 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
633 final DynamicForm form = new DynamicForm(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
634 form.setFields(this.filterCriteria); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
635 this.inputTables.setHeight("*"); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
636 final DynamicForm form2 = new DynamicForm(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
637 form2.setFields(this.filterResultCount); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
638 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
639 final VLayout helper = new VLayout(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
640 final HLayout filterLayout = new HLayout(); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
641 |
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
642 filterLayout.addMember(form); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
643 filterLayout.addMember(this.filterDescription); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
644 filterLayout.addMember(this.filterRange); |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
645 filterLayout.setHeight("30px"); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
646 helper.addMember(this.inputTables); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
647 helper.addMember(filterLayout); |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
648 helper.addMember(form2); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
649 helper.setHeight100(); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
650 helper.setWidth100(); |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
651 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
652 this.helperContainer.addMember(helper); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
653 filterLayout.setWidth("200"); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
654 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
655 return layout; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
656 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
657 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
658 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
659 public void onFilterCriteriaChanged(final StringFilterEvent event) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
660 final String search = event.getFilter(); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
661 |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
662 if (search != null && search.length() > 0) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
663 final Criteria c = new Criteria("description", search); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
664 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
665 this.locationsTable.filterData(c); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
666 this.distanceTable.filterData(c); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
667 this.filterResultCount.setValue(this.currentFiltered.getRecords().length); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
668 } else { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
669 this.locationsTable.clearCriteria(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
670 this.distanceTable.clearCriteria(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
671 this.filterResultCount.setValue(""); |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
672 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
673 } |
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
674 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
675 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
676 public void onFilterCriteriaChanged(final RangeFilterEvent event) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
677 final Float from = event.getFrom() - 0.001f; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
678 final Float to = event.getTo() + 0.001f; |
1536
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
679 GWT.log("filtering range: " + from + " to " + to); |
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
680 |
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
681 Criterion combinedFilter = null; |
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
682 Criterion locationFilter = null; |
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
683 if (from.equals(Float.NaN) && to.equals(Float.NaN)) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
684 this.locationsTable.clearCriteria(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
685 this.distanceTable.clearCriteria(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
686 this.filterResultCount.setValue(""); |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
687 return; |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
688 } else if (from.equals(Float.NaN)) { |
1536
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
689 combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
690 locationFilter = new Criterion("from", OperatorId.LESS_OR_EQUAL, to); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
691 this.locationsTable.filterData(locationFilter); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
692 this.distanceTable.filterData(combinedFilter); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
693 this.filterResultCount.setValue(this.currentFiltered.getRecords().length); |
1536
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
694 return; |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
695 } else if (to.equals(Float.NaN)) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
696 combinedFilter = new Criterion("from", OperatorId.GREATER_OR_EQUAL, from); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
697 this.locationsTable.filterData(combinedFilter); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
698 this.distanceTable.filterData(combinedFilter); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
699 } else { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
700 final AdvancedCriteria c1 = new AdvancedCriteria(OperatorId.AND, |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
701 new Criterion[] { new Criterion("from", OperatorId.GREATER_OR_EQUAL, from), new Criterion("from", OperatorId.LESS_OR_EQUAL, to) }); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
702 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
703 final AdvancedCriteria c2 = new AdvancedCriteria(OperatorId.AND, |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
704 new Criterion[] { new Criterion("to", OperatorId.GREATER_OR_EQUAL, from), new Criterion("to", OperatorId.LESS_OR_EQUAL, to) }); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
705 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
706 final AdvancedCriteria c3 = new AdvancedCriteria(OperatorId.AND, |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
707 new Criterion[] { new Criterion("from", OperatorId.LESS_OR_EQUAL, to), new Criterion("to", OperatorId.GREATER_OR_EQUAL, from) }); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
708 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
709 combinedFilter = new AdvancedCriteria(OperatorId.OR, new Criterion[] { c1, c2, c3 }); |
1536
4f4d29404dba
Filter the helper input tables using the range filter.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1534
diff
changeset
|
710 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
711 this.locationsTable.filterData(combinedFilter); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
712 this.distanceTable.filterData(combinedFilter); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
713 this.filterResultCount.setValue(this.currentFiltered.getRecords().length); |
1534
98123d34529b
Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1491
diff
changeset
|
714 } |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
715 |
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:
520
diff
changeset
|
716 @Override |
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:
520
diff
changeset
|
717 public List<String> validate() { |
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:
520
diff
changeset
|
718 if (isLocationMode()) { |
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:
520
diff
changeset
|
719 return validateLocations(); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
720 } else { |
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:
520
diff
changeset
|
721 return validateRange(); |
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:
520
diff
changeset
|
722 } |
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:
520
diff
changeset
|
723 } |
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:
520
diff
changeset
|
724 |
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:
520
diff
changeset
|
725 protected List<String> validateLocations() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
726 final List<String> errors = new ArrayList<String>(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
727 final NumberFormat nf = NumberFormat.getDecimalFormat(); |
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:
520
diff
changeset
|
728 |
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:
520
diff
changeset
|
729 try { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
730 saveLocationValues(this.locationPanel); |
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:
520
diff
changeset
|
731 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
732 catch (final Exception e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
733 errors.add(this.MESSAGES.wrongFormat()); |
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:
520
diff
changeset
|
734 } |
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:
520
diff
changeset
|
735 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
736 final double[] values = getLocationValues(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
737 final double[] good = new double[values.length]; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
738 int idx = 0; |
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:
520
diff
changeset
|
739 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
740 for (final double value : values) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
741 if (value < this.min || value > this.max) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
742 String tmp = this.MESSAGES.error_validate_range(); |
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:
520
diff
changeset
|
743 tmp = tmp.replace("$1", nf.format(value)); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
744 tmp = tmp.replace("$2", nf.format(this.min)); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
745 tmp = tmp.replace("$3", nf.format(this.max)); |
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:
520
diff
changeset
|
746 errors.add(tmp); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
747 } else { |
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:
520
diff
changeset
|
748 good[idx++] = value; |
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:
520
diff
changeset
|
749 } |
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:
520
diff
changeset
|
750 } |
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:
520
diff
changeset
|
751 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
752 final double[] justGood = new double[idx]; |
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:
520
diff
changeset
|
753 for (int i = 0; i < justGood.length; i++) { |
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:
520
diff
changeset
|
754 justGood[i] = good[i]; |
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:
520
diff
changeset
|
755 } |
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:
520
diff
changeset
|
756 |
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:
520
diff
changeset
|
757 if (!errors.isEmpty()) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
758 this.locationPanel.setValues(justGood); |
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:
520
diff
changeset
|
759 } |
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:
520
diff
changeset
|
760 |
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:
520
diff
changeset
|
761 return errors; |
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:
520
diff
changeset
|
762 } |
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:
520
diff
changeset
|
763 |
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:
520
diff
changeset
|
764 protected List<String> validateRange() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
765 final List<String> errors = new ArrayList<String>(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
766 final NumberFormat nf = NumberFormat.getDecimalFormat(); |
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:
520
diff
changeset
|
767 |
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:
520
diff
changeset
|
768 try { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
769 saveDistanceValues(this.distancePanel); |
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:
520
diff
changeset
|
770 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
771 catch (final Exception e) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
772 errors.add(this.MESSAGES.wrongFormat()); |
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:
520
diff
changeset
|
773 } |
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:
520
diff
changeset
|
774 |
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:
520
diff
changeset
|
775 double from = getFrom(); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
776 double to = getTo(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
777 final double step = getStep(); |
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:
520
diff
changeset
|
778 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
779 if (from < this.min || from > this.max) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
780 String tmp = this.MESSAGES.error_validate_range(); |
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:
520
diff
changeset
|
781 tmp = tmp.replace("$1", nf.format(from)); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
782 tmp = tmp.replace("$2", nf.format(this.min)); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
783 tmp = tmp.replace("$3", nf.format(this.max)); |
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:
520
diff
changeset
|
784 errors.add(tmp); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
785 from = this.min; |
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:
520
diff
changeset
|
786 } |
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:
520
diff
changeset
|
787 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
788 if (to < this.min || to > this.max) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
789 String tmp = this.MESSAGES.error_validate_range(); |
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:
520
diff
changeset
|
790 tmp = tmp.replace("$1", nf.format(to)); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
791 tmp = tmp.replace("$2", nf.format(this.min)); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
792 tmp = tmp.replace("$3", nf.format(this.max)); |
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:
520
diff
changeset
|
793 errors.add(tmp); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
794 to = this.max; |
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:
520
diff
changeset
|
795 } |
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:
520
diff
changeset
|
796 |
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:
520
diff
changeset
|
797 if (!errors.isEmpty()) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
798 this.distancePanel.setValues(from, to, step); |
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:
520
diff
changeset
|
799 } |
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:
520
diff
changeset
|
800 |
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:
520
diff
changeset
|
801 return errors; |
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:
520
diff
changeset
|
802 } |
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:
520
diff
changeset
|
803 |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
804 /** |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
805 * This method returns the selected data. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
806 * |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
807 * @return the selected/inserted data. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
808 */ |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
809 @Override |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
810 public Data[] getData() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
811 final List<Data> data = new ArrayList<Data>(); |
1277
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
812 |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
813 // If we have entered a value and click right afterwards on the |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
814 // 'next' button, the BlurEvent is not fired, and the values are not |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
815 // saved. So, we gonna save those values explicitly. |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
816 if (isLocationMode()) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
817 final Canvas member = this.container.getMember(0); |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
818 if (member instanceof DoubleArrayPanel) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
819 final DoubleArrayPanel form = (DoubleArrayPanel) member; |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
820 saveLocationValues(form); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
821 } |
1277
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
822 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
823 final Data dLocations = getDataLocations(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
824 final DataItem dFrom = new DefaultDataItem("ld_from", "ld_from", ""); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
825 final DataItem dTo = new DefaultDataItem("ld_to", "ld_to", ""); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
826 final DataItem dStep = new DefaultDataItem("ld_step", "ld_step", ""); |
1277
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
827 |
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
828 data.add(dLocations); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
829 data.add(new DefaultData("ld_from", null, null, new DataItem[] { dFrom })); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
830 data.add(new DefaultData("ld_to", null, null, new DataItem[] { dTo })); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
831 data.add(new DefaultData("ld_step", null, null, new DataItem[] { dStep })); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
832 } else { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
833 final Canvas member = this.container.getMember(0); |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
834 if (member instanceof DoubleRangePanel) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
835 final DoubleRangePanel form = (DoubleRangePanel) member; |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
836 saveDistanceValues(form); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
837 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
838 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
839 final Data dFrom = getDataFrom(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
840 final Data dTo = getDataTo(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
841 final Data dStep = getDataStep(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
842 final DataItem loc = new DefaultDataItem("ld_locations", "ld_locations", ""); |
520
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
843 |
1277
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
844 data.add(dFrom); |
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
845 data.add(dTo); |
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
846 data.add(dStep); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
847 data.add(new DefaultData("ld_locations", null, null, new DataItem[] { loc })); |
520
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
848 } |
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
849 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
850 final Data dMode = getDataMode(); |
1277
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
851 if (dMode != null) { |
ee55a8ab5f5e
Bugfix: #211 Reset values of km range mode if single km mode is selected and the other way arround.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
906
diff
changeset
|
852 data.add(dMode); |
520
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
853 } |
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
854 |
3379
0de61fc9d281
Removed some superfluous casts.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
1589
diff
changeset
|
855 return data.toArray(new Data[data.size()]); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
856 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
857 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
858 /** |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
859 * Returns the Data object for the 'mode' attribute. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
860 * |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
861 * @return the Data object for the 'mode' attribute. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
862 */ |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
863 protected Data getDataMode() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
864 final String value = this.mode.getValueAsString(FIELD_MODE); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
865 final DataItem item = new DefaultDataItem("ld_mode", "ld_mode", value); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
866 return new DefaultData("ld_mode", null, null, new DataItem[] { item }); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
867 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
868 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
869 protected Data getDataLocations() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
870 final double[] locations = getLocationValues(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
871 boolean first = true; |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
872 |
520
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
873 if (locations == null) { |
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
874 return null; |
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
875 } |
9e2b151770bd
Bugfix in the range/location panel - avoid NullPointerExceptions in getData().
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
517
diff
changeset
|
876 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
877 final StringBuilder sb = new StringBuilder(); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
878 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
879 for (final double l : locations) { |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
880 if (!first) { |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
881 sb.append(" "); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
882 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
883 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
884 sb.append(l); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
885 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
886 first = false; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
887 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
888 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
889 final DataItem item = new DefaultDataItem("ld_locations", "ld_locations", sb.toString()); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
890 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
891 return new DefaultData("ld_locations", null, null, new DataItem[] { item }); |
46
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
892 } |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
893 |
46
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
894 /** |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
895 * Returns the Data object for the 'from' attribute. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
896 * |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
897 * @return the Data object for the 'from' attribute. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
898 */ |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
899 protected Data getDataFrom() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
900 final String value = Double.valueOf(getFrom()).toString(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
901 final DataItem item = new DefaultDataItem("ld_from", "ld_from", value); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
902 return new DefaultData("ld_from", null, null, new DataItem[] { item }); |
46
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
903 } |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
904 |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
905 /** |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
906 * Returns the Data object for the 'to' attribute. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
907 * |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
908 * @return the Data object for the 'to' attribute. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
909 */ |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
910 protected Data getDataTo() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
911 final String value = Double.valueOf(getTo()).toString(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
912 final DataItem item = new DefaultDataItem("ld_to", "ld_to", value); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
913 return new DefaultData("ld_to", null, null, new DataItem[] { item }); |
46
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
914 } |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
915 |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
916 /** |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
917 * Returns the Data object for the 'step' attribute. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
918 * |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
919 * @return the Data object for the 'step' attribute. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
920 */ |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
921 protected Data getDataStep() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
922 final String value = Double.valueOf(getStep()).toString(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
923 final DataItem item = new DefaultDataItem("ld_step", "ld_step", value); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
924 return new DefaultData("ld_step", null, null, new DataItem[] { item }); |
46
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
925 } |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
926 |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
927 /** |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
928 * Determines the current input mode. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
929 * |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
930 * @return true, if 'location' is the current input mode, otherwise false. |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
931 */ |
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
932 public boolean isLocationMode() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
933 final String inputMode = this.mode.getValueAsString(FIELD_MODE); |
46
0d4795b4f284
Implemented the getData() method of the LocationDistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
45
diff
changeset
|
934 |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
935 return inputMode.equals(FIELD_VALUE_LOCATION) ? true : false; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
936 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
937 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
938 /** |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
939 * Activates the location panel. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
940 */ |
8448
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
941 protected void enableLocationMode() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
942 this.mode.setValue(FIELD_MODE, FIELD_VALUE_LOCATION); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
943 this.container.hideMember(this.distancePanel); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
944 this.container.showMember(this.locationPanel); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
945 setupDistanceInfoTable(this.locationsTable, false, false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
946 setupDistanceInfoTable(this.distanceTable, true, true); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
947 this.inputTables.updateTab(0, this.locationsTable); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
948 this.inputTables.updateTab(1, this.distanceTable); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
949 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
950 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
951 /** |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
952 * Activates the distance panel. |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
953 */ |
8448
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
954 protected void enableDistanceMode() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
955 this.mode.setValue(FIELD_MODE, FIELD_VALUE_DISTANCE); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
956 this.container.hideMember(this.locationPanel); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
957 this.container.showMember(this.distancePanel); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
958 setupDistanceInfoTable(this.locationsTable, true, false); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
959 setupDistanceInfoTable(this.distanceTable, false, true); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
960 this.inputTables.updateTab(0, this.locationsTable); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
961 this.inputTables.updateTab(1, this.distanceTable); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
962 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
963 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
964 /** |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
965 * This method switches the input mode between location and distance input. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
966 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
967 * @param event |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
968 * The click event fired by a RadioButtonGroupItem. |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
969 */ |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
970 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
971 public void onChange(final ChangeEvent event) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
972 final String value = (String) event.getValue(); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
973 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
974 if (value == null) { |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
975 return; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
976 } |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
977 if (value.equals(FIELD_VALUE_LOCATION)) { |
8448
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
978 enableLocationMode(); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
979 this.filterDescription.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
980 this.filterRange.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
981 this.filterResultCount.setValue(""); |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
982 |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
983 // Bring this tab to front. |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
984 this.inputTables.selectTab(0); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
985 } else { |
8448
e98dbf72c9ec
(issue1733) Fix switch between location and distance
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8447
diff
changeset
|
986 enableDistanceMode(); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
987 this.filterDescription.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
988 this.filterRange.clear(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
989 this.filterResultCount.setValue(""); |
1567
7e738bc8ed75
Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1548
diff
changeset
|
990 |
863
9bb8b7a751ec
Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
838
diff
changeset
|
991 // Bring the distanceTable tab to front. |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
992 this.inputTables.selectTab(1); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
993 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
994 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
995 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
996 /** |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
997 * This method is used to validate the inserted data in the form fields. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
998 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
999 * @param event |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1000 * The BlurEvent that gives information about the FormItem that |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1001 * has been modified and its value. |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1002 */ |
4131
360e22afb98b
Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents:
3712
diff
changeset
|
1003 @Override |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1004 public void onBlur(final BlurEvent event) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1005 final FormItem item = event.getItem(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1006 final String field = item.getFieldName(); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1007 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1008 if (field == null) { |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1009 return; |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1010 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1011 |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1012 if (field.equals(DoubleArrayPanel.FIELD_NAME)) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1013 final DoubleArrayPanel p = (DoubleArrayPanel) event.getForm(); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1014 |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1015 saveLocationValue(p, item); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1016 } else { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1017 final DoubleRangePanel p = (DoubleRangePanel) event.getForm(); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1018 |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1019 saveDistanceValue(p, item); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1020 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1021 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1022 |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1023 /** |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1024 * Validates and stores all values entered in the location mode. |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1025 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1026 * @param p |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1027 * The DoubleArrayPanel. |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1028 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1029 protected void saveLocationValues(final DoubleArrayPanel p) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1030 final FormItem[] formItems = p.getFields(); |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1031 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1032 for (final FormItem item : formItems) { |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1033 if (item.getFieldName().equals(DoubleArrayPanel.FIELD_NAME)) { |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1034 saveLocationValue(p, item); |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1035 } |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1036 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1037 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1038 |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1039 /** |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1040 * Validates and stores all values entered in the distance mode. |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1041 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1042 * @param p |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1043 * The DoubleRangePanel. |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1044 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1045 protected void saveDistanceValues(final DoubleRangePanel p) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1046 final FormItem[] formItems = p.getFields(); |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1047 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1048 for (final FormItem item : formItems) { |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1049 saveDistanceValue(p, item); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1050 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1051 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1052 |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1053 /** |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1054 * Validates and stores a value entered in the location mode. |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1055 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1056 * @param p |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1057 * The DoubleArrayPanel. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1058 * @param item |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1059 * The item that needs to be validated. |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1060 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1061 protected void saveLocationValue(final DoubleArrayPanel p, final 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:
58
diff
changeset
|
1062 if (p.validateForm(item)) { |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1063 setLocationValues(p.getInputValues(item)); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1064 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1065 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1066 |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1067 /** |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1068 * Validates and stores value entered in the distance mode. |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1069 * |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1070 * @param p |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1071 * The DoubleRangePanel. |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1072 * @param item |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1073 * The item that needs to be validated. |
59
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1074 */ |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1075 protected void saveDistanceValue(final DoubleRangePanel p, final 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:
58
diff
changeset
|
1076 if (p.validateForm(item)) { |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1077 setFrom(p.getFrom()); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1078 setTo(p.getTo()); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1079 setStep(p.getStep()); |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1080 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1081 } |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1082 |
a3d235c63195
Save the data explicitly in the LocationDistancePanel and WQInputPanel before returning the user input to avoid a nullpointer exception.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
58
diff
changeset
|
1083 /** |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1084 * This method creates the panel that contains the checkboxes to switch |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1085 * between the input mode 'location' and 'distance'. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1086 * |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1087 * @return the checkbox panel. |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1088 */ |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1089 protected Canvas createRadioButtonPanel() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1090 this.mode = new DynamicForm(); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1091 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1092 final RadioGroupItem radio = new RadioGroupItem(FIELD_MODE); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1093 radio.setShowTitle(false); |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1094 radio.setVertical(false); |
1394
819ce433243c
Issue 339.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
1393
diff
changeset
|
1095 radio.setWrap(false); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1096 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1097 final LinkedHashMap<String, String> values = new LinkedHashMap<String, String>(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1098 values.put(FIELD_VALUE_LOCATION, this.MESSAGES.location()); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1099 values.put(FIELD_VALUE_DISTANCE, this.MESSAGES.distance()); |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1100 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1101 final LinkedHashMap<String, String> initial = new LinkedHashMap<String, String>(); |
588
809756dda091
#132 Set the initial mode of the location/distance panel to 'distance'.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
582
diff
changeset
|
1102 initial.put(FIELD_MODE, FIELD_VALUE_DISTANCE); |
45
f99c5f8e4672
Some GUI improvements in the Location/Distance, W/Q and Module panels.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
43
diff
changeset
|
1103 |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1104 radio.setValueMap(values); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1105 radio.addChangeHandler(this); |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1106 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1107 this.mode.setFields(radio); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1108 this.mode.setValues(initial); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1109 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1110 return this.mode; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1111 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1112 |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1113 protected void createDistanceInputPanel() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1114 final Config config = Config.getInstance(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1115 final String url = config.getServerUrl(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1116 String river = ""; |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1117 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1118 final ArtifactDescription adescr = this.artifact.getArtifactDescription(); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1119 final DataList[] data = adescr.getOldData(); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1120 |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1121 if (data != null && data.length > 0) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1122 for (final DataList dl : data) { |
3526
02d18d38fca7
Use river data in all states not only winfo in location/distance ui provider.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
3379
diff
changeset
|
1123 if (dl.getState().endsWith("river")) { |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1124 for (int j = 0; j < dl.size(); j++) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1125 final Data d = dl.get(j); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1126 final DataItem[] di = d.getItems(); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1127 if (di != null && di.length == 1) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1128 river = d.getItems()[0].getStringValue(); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1129 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1130 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1131 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1132 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1133 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1134 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1135 this.distanceTable.setDataSource(new DistanceInfoDataSource(url, river, "distances")); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1136 this.locationsTable.setDataSource(new DistanceInfoDataSource(url, river, "locations")); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1137 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1138 |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1139 protected double getFrom() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1140 return this.from; |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1141 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1142 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1143 protected void setTo(final String to) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1144 try { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1145 final double toValue = Double.parseDouble(to); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1146 setTo(toValue); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1147 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1148 catch (final NumberFormatException nfe) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1149 // Is there anything to do? |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1150 } |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1151 } |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1152 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1153 protected void setFrom(final String from) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1154 try { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1155 final double fromValue = Double.parseDouble(from); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1156 setFrom(fromValue); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1157 } |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1158 catch (final NumberFormatException nfe) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1159 // Is there anything to do? |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1160 } |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1161 } |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1162 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1163 protected void setFrom(final double from) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1164 this.from = from; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1165 /* The doubling should be removed and this.from abolished */ |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1166 this.distancePanel.setFrom(from); |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1167 } |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1168 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1169 protected double getTo() { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1170 return this.to; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1171 } |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1172 |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1173 protected void setTo(final double to) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1174 this.to = to; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1175 /* The doubling should be removed and this.to abolished */ |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1176 this.distancePanel.setTo(to); |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1177 } |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1178 |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1179 protected double getStep() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1180 return this.step; |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1181 } |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1182 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1183 protected void setStep(final double step) { |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1184 this.step = step; |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1185 } |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1186 |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1187 protected double[] getLocationValues() { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1188 return this.values; |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1189 } |
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1190 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1191 protected void appendLocation(final String loc) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1192 double[] selected; |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1193 if (getLocationValues() != null) { |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1194 final double[] val = getLocationValues(); |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1195 selected = new double[val.length + 1]; |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1196 for (int i = 0; i < val.length; i++) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1197 selected[i] = val[i]; |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1198 } |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1199 try { |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1200 selected[val.length] = Double.parseDouble(loc); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1201 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1202 catch (final NumberFormatException nfe) { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1203 // Is there anything to do here? |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1204 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1205 } else { |
8449
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1206 selected = new double[1]; |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1207 selected[0] = Double.parseDouble(loc); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1208 } |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1209 setLocationValues(selected); |
f61e2791ccdf
(issue1733) Fix locationdistancepanel
Andre Heinecke <andre.heinecke@intevation.de>
parents:
8448
diff
changeset
|
1210 } |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1211 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1212 protected void setLocationValues(final double[] values) { |
43
6bcd8e3f21a7
Refactored the LocationDistancePanel, so that is uses the DoubleArrayPanel and DoubleRangePanel from the last commit as well.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
41
diff
changeset
|
1213 this.values = values; |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1214 this.locationPanel.setValues(values); |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1215 } |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1216 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1217 protected void setLocationValues(final String values) { |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1218 final String[] vs = values.split(" "); |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1219 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1220 if (vs == null) { |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1221 return; |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1222 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1223 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1224 final double[] ds = new double[vs.length]; |
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1225 int idx = 0; |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1226 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1227 for (final String s : vs) { |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1228 try { |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1229 ds[idx++] = Double.valueOf(s); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1230 } |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1231 catch (final NumberFormatException nfe) { |
516
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1232 // do nothing |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1233 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1234 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1235 |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1236 setLocationValues(ds); |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1237 } |
ba606e575663
ISSUE-85 (part II/III) Repaired broken location/range panel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
284
diff
changeset
|
1238 |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1239 protected void setDistanceValues(final double from, final double to) { |
235
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1240 setFrom(from); |
d3f8d6966c20
Added location and distance tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents:
211
diff
changeset
|
1241 setTo(to); |
9175
34dc0163ad2d
DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents:
8856
diff
changeset
|
1242 this.distancePanel.setValues(from, to, getStep()); |
41
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1243 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1244 } |
87a44f8e25cc
Added a new widget that enables the user to enter a location or a distance in a single step.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff
changeset
|
1245 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |