annotate gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DistancePanel.java @ 9175:34dc0163ad2d

DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
author gernotbelger
date Mon, 25 Jun 2018 17:58:11 +0200
parents 8c0d1542c1d8
children 972e10522ed6
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;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
10
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
11 import java.util.ArrayList;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
12 import java.util.LinkedHashMap;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
13 import java.util.List;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
14
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
15 import org.dive4elements.river.client.client.Config;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
16 import org.dive4elements.river.client.client.FLYSConstants;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
17 import org.dive4elements.river.client.client.event.FilterHandler;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
18 import org.dive4elements.river.client.client.event.RangeFilterEvent;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
19 import org.dive4elements.river.client.client.event.StringFilterEvent;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
20 import org.dive4elements.river.client.client.ui.range.DistanceInfoDataSource;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
21 import org.dive4elements.river.client.client.ui.range.LocationsTable;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
22 import org.dive4elements.river.client.client.ui.range.RangeTable;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
23 import org.dive4elements.river.client.shared.model.ArtifactDescription;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
24 import org.dive4elements.river.client.shared.model.Data;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
25 import org.dive4elements.river.client.shared.model.DataItem;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
26 import org.dive4elements.river.client.shared.model.DataList;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
27 import org.dive4elements.river.client.shared.model.DefaultData;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
28 import org.dive4elements.river.client.shared.model.DefaultDataItem;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
29
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
30 import com.google.gwt.core.client.GWT;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
31 import com.google.gwt.i18n.client.NumberFormat;
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
32 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: 793
diff changeset
33 import com.smartgwt.client.data.Criteria;
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
34 import com.smartgwt.client.data.Criterion;
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
35 import com.smartgwt.client.data.Record;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
36 import com.smartgwt.client.types.Alignment;
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
37 import com.smartgwt.client.types.OperatorId;
783
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
38 import com.smartgwt.client.util.SC;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
39 import com.smartgwt.client.widgets.Canvas;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
40 import com.smartgwt.client.widgets.Label;
1534
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
41 import com.smartgwt.client.widgets.form.DynamicForm;
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
42 import com.smartgwt.client.widgets.form.fields.SelectItem;
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
43 import com.smartgwt.client.widgets.form.fields.StaticTextItem;
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
44 import com.smartgwt.client.widgets.form.fields.events.BlurEvent;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
45 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
46 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
47 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
48 import com.smartgwt.client.widgets.grid.ListGrid;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
49 import com.smartgwt.client.widgets.grid.events.RecordClickEvent;
783
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
50 import com.smartgwt.client.widgets.grid.events.RecordClickHandler;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
51 import com.smartgwt.client.widgets.layout.HLayout;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
52 import com.smartgwt.client.widgets.layout.VLayout;
781
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
53 import com.smartgwt.client.widgets.tab.Tab;
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
54 import com.smartgwt.client.widgets.tab.TabSet;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
55 import com.smartgwt.client.widgets.tab.events.TabSelectedEvent;
893
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 863
diff changeset
56 import com.smartgwt.client.widgets.tab.events.TabSelectedHandler;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
57
7141
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 5993
diff changeset
58 /** Panel to allow input of distance for calculation range. */
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
59 public class DistancePanel extends AbstractUIProvider implements BlurHandler, FilterHandler {
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
60
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
61 private static final long serialVersionUID = -883142387908664588L;
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
62
8800
2aaf87bc3ea7 Backout revision d793caaf5b5e.
Tom Gottfried <tom@intevation.de>
parents: 8790
diff changeset
63 public static final int DEFAULT_STEP_WIDTH = 100;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
64
8800
2aaf87bc3ea7 Backout revision d793caaf5b5e.
Tom Gottfried <tom@intevation.de>
parents: 8790
diff changeset
65 public static final String FIELD_LOWER = "ld_from";
2aaf87bc3ea7 Backout revision d793caaf5b5e.
Tom Gottfried <tom@intevation.de>
parents: 8790
diff changeset
66 public static final String FIELD_UPPER = "ld_to";
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
67 public static final String FIELD_STEP = "ld_step";
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
68
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
69 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
70
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
71 protected RangeTable distancesTable;
781
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
72 protected LocationsTable locationsTable;
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
73
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
74 protected DoubleRangePanel distancePanel;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
75
1534
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
76 protected TableFilter filterDescription;
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
77 protected RangeTableFilter filterRange;
893
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 863
diff changeset
78
781
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
79 protected TabSet tabs;
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
80
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
81 protected double min;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
82 protected double max;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
83
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
84 protected StaticTextItem filterResultCount;
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
85 protected ListGrid currentFiltered;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
86
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
87 public DistancePanel() {
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
88 this("right");
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
89 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
90
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
91 public DistancePanel(final String labelOrientation) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
92 this.distancePanel = new DoubleRangePanel(labelFrom(), labelTo(), labelStep(), 0d, 0d, 0d, 250, this, labelOrientation);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
93 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
94
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
95 @Override
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
96 public Canvas create(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
97 final VLayout layout = new VLayout();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
98 layout.setMembersMargin(10);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
99
9164
8c0d1542c1d8 uinfo.distance_only Berechnungsstrecke -> Darstellungsbereich HACK
gernotbelger
parents: 9064
diff changeset
100 final Label label = getLabel(data);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
101
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
102 final Canvas submit = getNextButton();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
103
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
104 label.setHeight(25);
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
105 this.distancePanel.setHeight(50);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
106
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
107 layout.addMember(label);
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
108 layout.addMember(this.distancePanel);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
109 layout.addMember(submit);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
110
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
111 initMinMaxValues(data);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
112 initDefaultValues(data);
781
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
113 initHelperPanel();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
114
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
115 return layout;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
116 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
117
9175
34dc0163ad2d DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents: 9164
diff changeset
118 protected Label getLabel(final DataList data) {
9164
8c0d1542c1d8 uinfo.distance_only Berechnungsstrecke -> Darstellungsbereich HACK
gernotbelger
parents: 9064
diff changeset
119 final Data item = data.get(0);
9175
34dc0163ad2d DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents: 9164
diff changeset
120 return new Label(item.getDescription()); // holt das Label vom Server (funktoniert schon sehr oft so!)
9164
8c0d1542c1d8 uinfo.distance_only Berechnungsstrecke -> Darstellungsbereich HACK
gernotbelger
parents: 9064
diff changeset
121 }
8c0d1542c1d8 uinfo.distance_only Berechnungsstrecke -> Darstellungsbereich HACK
gernotbelger
parents: 9064
diff changeset
122
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
123 @Override
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
124 public Canvas createOld(final DataList dataList) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
125 final String s = getOldSelectionString(dataList);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
126 final String l = dataList.getLabel();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
127
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
128 final Label label = new Label(l);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
129 final Label selected = new Label(s);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
130
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
131 final HLayout layout = new HLayout();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
132
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
133 layout.setWidth(400);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
134 label.setWidth(200);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
135 selected.setWidth(130);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
136
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
137 layout.addMember(label);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
138 layout.addMember(selected);
784
3fa64c796ffc Added the missing 'back'-button to the DistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 783
diff changeset
139 layout.addMember(getBackButton(dataList.getState()));
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
140
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
141 return layout;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
142 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
143
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
144 protected String getOldSelectionString(final DataList dataList) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
145 final List<Data> items = dataList.getAll();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
146
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
147 final Data dFrom = getData(items, getLowerField());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
148 final Data dTo = getData(items, getUpperField());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
149 final Data dStep = getData(items, getStepField());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
150
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
151 final DataItem[] from = dFrom.getItems();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
152 final DataItem[] to = dTo.getItems();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
153 final DataItem[] step = dStep.getItems();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
154
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
155 final StringBuilder sb = new StringBuilder();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
156 sb.append(from[0].getLabel());
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
157 sb.append(" " + getUnitFrom() + " - ");
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
158 sb.append(to[0].getLabel());
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
159 sb.append(" " + getUnitTo() + " - ");
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
160 sb.append(step[0].getLabel());
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
161 sb.append(" " + getUnitStep());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
162
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
163 return sb.toString();
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
164 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
165
9175
34dc0163ad2d DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents: 9164
diff changeset
166 // protected String getLabel() {
34dc0163ad2d DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents: 9164
diff changeset
167 // return this.MSG.distance_state();
34dc0163ad2d DistancePanel Berechnungsstrecke->Darstellungsbereich Refactoring
gernotbelger
parents: 9164
diff changeset
168 // }
1423
204e085a9f1c Bugfix: set correct label for 'waterlevel/ground' state.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1387
diff changeset
169
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
170 protected String labelFrom() {
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
171 return getLabelFrom() + " [" + getUnitFrom() + "]";
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
172 }
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
173
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
174 protected String getLabelFrom() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
175 return this.MSG.dpLabelFrom();
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
176 }
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
177
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
178 protected String getUnitFrom() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
179 return this.MSG.dpUnitFrom();
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
180 }
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
181
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
182 protected String labelTo() {
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
183 return getLabelTo() + " [" + getUnitTo() + "]";
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
184 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
185
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
186 protected String getLabelTo() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
187 return this.MSG.dpLabelTo();
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
188 }
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
189
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
190 protected String getUnitTo() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
191 return this.MSG.dpUnitTo();
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
192 }
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
193
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
194 protected String labelStep() {
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
195 return getLabelStep() + " [" + getUnitStep() + "]";
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
196 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
197
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
198 protected String getLabelStep() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
199 return this.MSG.dpLabelStep();
793
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
200 }
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
201
4497d19c22fd Finished the panel to enter waterlevel/ground information (from, to, diff).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 788
diff changeset
202 protected String getUnitStep() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
203 return this.MSG.dpUnitStep();
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
204 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
205
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
206 protected String getLowerField() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
207 return FIELD_LOWER;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
208 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
209
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
210 protected String getUpperField() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
211 return FIELD_UPPER;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
212 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
213
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
214 protected String getStepField() {
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
215 return FIELD_STEP;
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
216 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
217
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
218 @Override
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
219 public List<String> validate() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
220 final List<String> errors = new ArrayList<String>();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
221
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
222 if (!this.distancePanel.validateForm()) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
223 errors.add(this.MSG.wrongFormat());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
224
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
225 return errors;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
226 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
227
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
228 validateFrom(errors);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
229 validateTo(errors);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
230
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
231 return errors;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
232 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
233
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
234 protected void validateFrom(final List<String> errors) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
235 final double from = this.distancePanel.getFrom();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
236
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
237 if (from < this.min || from > this.max) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
238 final NumberFormat nf = NumberFormat.getDecimalFormat();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
239
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
240 String tmp = this.MSG.error_validate_lower_range();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
241 tmp = tmp.replace("$1", nf.format(from));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
242 tmp = tmp.replace("$2", nf.format(this.min));
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
243
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
244 this.distancePanel.setFrom(this.min);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
245 errors.add(tmp);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
246 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
247 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
248
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
249 protected void validateTo(final List<String> errors) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
250 final double to = this.distancePanel.getTo();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
251
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
252 if (to < this.min || to > this.max) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
253 final NumberFormat nf = NumberFormat.getDecimalFormat();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
254
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
255 String tmp = this.MSG.error_validate_upper_range();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
256 tmp = tmp.replace("$1", nf.format(to));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
257 tmp = tmp.replace("$2", nf.format(this.max));
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
258
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
259 this.distancePanel.setTo(this.max);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
260 errors.add(tmp);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
261 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
262 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
263
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
264 @Override
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
265 public Data[] getData() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
266 final Data[] data = new Data[4];
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
267
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
268 data[0] = getDataFrom();
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
269 data[1] = getDataTo();
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
270 data[2] = getDataStep();
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
271
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
272 final DataItem item = new DefaultDataItem("ld_mode", "ld_mode", "distance");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
273 data[3] = new DefaultData("ld_mode", null, null, new DataItem[] { item });
1387
3cbc7fbfff0e Set attribute 'ld_mode' in appropiate UIProviders.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1265
diff changeset
274
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
275 return data;
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
276 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
277
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
278 protected Data getDataFrom() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
279 final String value = String.valueOf(this.distancePanel.getFrom());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
280 final String field = getLowerField();
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
281
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
282 final DataItem item = new DefaultDataItem(field, field, value);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
283 return new DefaultData(field, null, null, new DataItem[] { item });
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
284 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
285
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
286 protected Data getDataTo() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
287 final String value = String.valueOf(this.distancePanel.getTo());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
288 final String field = getUpperField();
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
289
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
290 final DataItem item = new DefaultDataItem(field, field, value);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
291 return new DefaultData(field, null, null, new DataItem[] { item });
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
292 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
293
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
294 protected Data getDataStep() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
295 final String value = String.valueOf(this.distancePanel.getStep());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
296 final String field = getStepField();
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
297
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
298 final DataItem item = new DefaultDataItem(field, field, value);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
299 return new DefaultData(field, null, null, new DataItem[] { item });
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
300 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
301
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
302 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
303 public void onBlur(final BlurEvent event) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
304 this.distancePanel.validateForm();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
305 }
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
306
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
307 protected void initMinMaxValues(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
308 final Data f = getData(data.getAll(), getLowerField());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
309 final Data t = getData(data.getAll(), getUpperField());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
310
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
311 final DataItem[] fItems = f.getItems();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
312 final DataItem[] tItems = t.getItems();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
313
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
314 try {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
315 this.min = Double.valueOf(fItems[0].getStringValue());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
316 this.max = Double.valueOf(tItems[0].getStringValue());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
317 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
318 catch (final NumberFormatException nfe) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
319 this.min = -Double.MAX_VALUE;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
320 this.max = Double.MAX_VALUE;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
321 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
322 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
323
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
324 protected void initDefaultValues(final DataList data) {
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
325 initDefaultFrom(data);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
326 initDefaultTo(data);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
327 initDefaultStep(data);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
328 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
329
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
330 protected void initDefaultFrom(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
331 final Data f = getData(data.getAll(), getLowerField());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
332
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
333 double from = getDefaultFrom();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
334
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
335 try {
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
336 from = getDefaultValue(f);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
337 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
338 catch (final NumberFormatException nfe) {
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
339 // do nothing
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
340 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
341
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
342 this.distancePanel.setFrom(from);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
343 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
344
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
345 protected double getDefaultFrom() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
346 return this.min;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
347 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
348
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
349 protected void initDefaultTo(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
350 final Data t = getData(data.getAll(), getUpperField());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
351
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
352 double to = getDefaultTo();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
353
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
354 try {
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
355 to = getDefaultValue(t);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
356 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
357 catch (final NumberFormatException nfe) {
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
358 // do nothing
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
359 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
360
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
361 this.distancePanel.setTo(to);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
362 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
363
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
364 protected double getDefaultTo() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
365 return this.max;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
366 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
367
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
368 protected void initDefaultStep(final DataList data) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
369 final Data s = getData(data.getAll(), getStepField());
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
370
8800
2aaf87bc3ea7 Backout revision d793caaf5b5e.
Tom Gottfried <tom@intevation.de>
parents: 8790
diff changeset
371 double step = getDefaultStep();
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
372
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
373 try {
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
374 step = getDefaultValue(s);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
375 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
376 catch (final NumberFormatException nfe) {
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
377 // do nothing
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
378 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
379
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
380 this.distancePanel.setStep(step);
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
381 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
382
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
383 protected double getDefaultStep() {
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
384 return DEFAULT_STEP_WIDTH;
787
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
385 }
4e0b73b7113b Added new UI providers.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 784
diff changeset
386
7745
1d6b957d8953 issue1549: Add live-validation to wsplgen to-field.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 7731
diff changeset
387 /** Gets the double from default in data, null if none. */
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
388 protected double getDefaultValue(final Data data) throws NumberFormatException {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
389 final DataItem def = data.getDefault();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
390 final String defValue = def != null ? def.getStringValue() : null;
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
391
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
392 return Double.valueOf(defValue);
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
393 }
781
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
394
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
395 protected void initHelperPanel() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
396 this.distancesTable = new RangeTable();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
397 this.locationsTable = new LocationsTable();
782
4a7ece57f44c #159 The tables in the WQ panel for calculation 4 are now filled with data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 781
diff changeset
398
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
399 final Config config = Config.getInstance();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
400 final String url = config.getServerUrl();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
401 final String river = getRiverName();
782
4a7ece57f44c #159 The tables in the WQ panel for calculation 4 are now filled with data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 781
diff changeset
402
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
403 this.distancesTable.setAutoFetchData(true);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
404 this.locationsTable.setAutoFetchData(true);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
405 this.distancesTable.setDataSource(new DistanceInfoDataSource(url, river, "distances"));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
406 this.locationsTable.setDataSource(new DistanceInfoDataSource(url, river, "locations"));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
407
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
408 this.distancesTable.addRecordClickHandler(new RecordClickHandler() {
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
409 @Override
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
410 public void onRecordClick(final RecordClickEvent e) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
411 final Record r = e.getRecord();
783
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
412
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
413 final String from = r.getAttribute("from");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
414 final String to = r.getAttribute("to");
783
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
415
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
416 try {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
417 DistancePanel.this.distancePanel.setFrom(Double.valueOf(from));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
418 DistancePanel.this.distancePanel.setTo(Double.valueOf(to));
783
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
419 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
420 catch (final NumberFormatException nfe) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
421 SC.warn(DistancePanel.this.MSG.wrongFormat());
783
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
422 }
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
423 }
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
424 });
8ebaad41285b #159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 782
diff changeset
425
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
426 this.locationsTable.addRecordClickHandler(new RecordClickHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
427 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
428 public void onRecordClick(final RecordClickEvent e) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
429 final Record r = e.getRecord();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
430 final int field = e.getFieldNum();
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
431
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
432 try {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
433 final String value = r.getAttribute("from");
1534
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
434
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
435 switch (field) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
436 case 0:
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
437 DistancePanel.this.distancePanel.setFrom(Double.valueOf(value));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
438 break;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
439 case 1:
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
440 DistancePanel.this.distancePanel.setTo(Double.valueOf(value));
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
441 break;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
442 }
1534
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
443 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
444 catch (final NumberFormatException nfe) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
445 SC.warn(DistancePanel.this.MSG.wrongFormat());
1534
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
446 }
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
447 }
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
448 });
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
449
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
450 this.tabs = new TabSet();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
451 this.tabs.setWidth100();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
452 this.tabs.setHeight100();
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
453
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
454 final Tab locations = new Tab(this.MSG.locations());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
455 final Tab distances = new Tab(this.MSG.distance());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
456
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
457 locations.setPane(this.locationsTable);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
458 distances.setPane(this.distancesTable);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
459
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
460 this.tabs.addTab(locations, 0);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
461 this.tabs.addTab(distances, 1);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
462
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
463 this.filterResultCount = new StaticTextItem(this.MSG.resultCount());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
464 this.filterResultCount.setTitleAlign(Alignment.LEFT);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
465 this.filterResultCount.setTitleStyle("color: #000");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
466
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
467 this.filterDescription = new TableFilter();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
468 this.filterDescription.setHeight("30px");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
469 this.filterDescription.addFilterHandler(this);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
470
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
471 this.filterRange = new RangeTableFilter();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
472 this.filterRange.setHeight("30px");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
473 this.filterRange.addFilterHandler(this);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
474 this.filterRange.setVisible(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
475
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
476 final SelectItem filterCriteria = new SelectItem();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
477 filterCriteria.setShowTitle(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
478 filterCriteria.setWidth(100);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
479 filterCriteria.addChangedHandler(new ChangedHandler() {
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
480 @Override
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
481 public void onChanged(final ChangedEvent e) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
482 if (e.getValue().toString().equals("range")) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
483 DistancePanel.this.filterRange.setVisible(true);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
484 DistancePanel.this.filterDescription.setVisible(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
485 DistancePanel.this.filterDescription.clear();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
486 } else {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
487 DistancePanel.this.filterRange.setVisible(false);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
488 DistancePanel.this.filterRange.clear();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
489 DistancePanel.this.filterDescription.setVisible(true);
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
490 }
893
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 863
diff changeset
491 }
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 863
diff changeset
492 });
89c01218172b Clear the table filter on tab selection change and input method change.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 863
diff changeset
493
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
494 final LinkedHashMap<String, String> filterMap = new LinkedHashMap<String, String>();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
495 filterMap.put("description", this.MSG.description());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
496 filterMap.put("range", this.MSG.range());
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
497 filterCriteria.setValueMap(filterMap);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
498 filterCriteria.setValue("description");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
499
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
500 final DynamicForm form = new DynamicForm();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
501 form.setFields(filterCriteria);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
502
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
503 final DynamicForm form2 = new DynamicForm();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
504 form2.setFields(this.filterResultCount);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
505
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
506 final HLayout filterLayout = new HLayout();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
507 filterLayout.addMember(form);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
508 filterLayout.addMember(this.filterDescription);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
509 filterLayout.addMember(this.filterRange);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
510 filterLayout.setHeight(30);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
511 this.tabs.addTabSelectedHandler(new TabSelectedHandler() {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
512 @Override
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
513 public void onTabSelected(final TabSelectedEvent evt) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
514 DistancePanel.this.filterDescription.clear();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
515 DistancePanel.this.filterRange.clear();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
516 DistancePanel.this.filterResultCount.setValue("");
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
517
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
518 final Canvas c = evt.getTabPane();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
519 if (c instanceof ListGrid) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
520 DistancePanel.this.currentFiltered = (ListGrid) c;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
521 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
522 }
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
523 });
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
524
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
525 this.helperContainer.addMember(this.tabs);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
526 this.helperContainer.addMember(filterLayout);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
527 this.helperContainer.addMember(form2);
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 793
diff changeset
528 }
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 793
diff changeset
529
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
530 @Override
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
531 public void onFilterCriteriaChanged(final StringFilterEvent event) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
532 final String search = event.getFilter();
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 793
diff changeset
533
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 793
diff changeset
534 if (search != null && search.length() > 0) {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
535 final Criteria c = new Criteria("description", search);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
536 this.locationsTable.filterData(c);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
537 this.distancesTable.filterData(c);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
538 this.filterResultCount.setValue(this.currentFiltered.getRecords().length);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
539 } else {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
540 this.locationsTable.clearCriteria();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
541 this.distancesTable.clearCriteria();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
542 this.filterResultCount.setValue("");
863
9bb8b7a751ec Added filter for the "description" row of helper input tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 793
diff changeset
543 }
781
6653cf54b45d The distance panel got two tables for locations and ranges. Both do not load any data until now.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 780
diff changeset
544 }
782
4a7ece57f44c #159 The tables in the WQ panel for calculation 4 are now filled with data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 781
diff changeset
545
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 2520
diff changeset
546 @Override
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
547 public void onFilterCriteriaChanged(final RangeFilterEvent event) {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
548 final Float from = event.getFrom() - 0.001f;
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
549 final Float to = event.getTo() + 0.001f;
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
550
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
551 Criterion combinedFilter = null;
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
552 Criterion locationFilter = null;
7731
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
553
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
554 if (from.equals(Float.NaN) && to.equals(Float.NaN)) {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
555 this.locationsTable.clearCriteria();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
556 this.distancesTable.clearCriteria();
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
557 this.filterResultCount.setValue("");
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
558 return;
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
559 }
7731
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
560
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
561 if (from.equals(Float.NaN)) {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
562 combinedFilter = new Criterion("to", OperatorId.LESS_OR_EQUAL, to);
7731
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
563
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
564 locationFilter = new Criterion("from", OperatorId.LESS_OR_EQUAL, to);
7731
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
565
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
566 this.locationsTable.filterData(locationFilter);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
567 this.distancesTable.filterData(combinedFilter);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
568 this.filterResultCount.setValue(this.currentFiltered.getRecords().length);
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
569 return;
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
570 }
7731
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
571
91a57b66c7ed Client side fix for flys/issue1549
Sascha L. Teichmann <teichmann@intevation.de>
parents: 7141
diff changeset
572 if (to.equals(Float.NaN)) {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
573 combinedFilter = new Criterion("from", OperatorId.GREATER_OR_EQUAL, from);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
574 } else {
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
575 final AdvancedCriteria c1 = new AdvancedCriteria(OperatorId.AND,
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
576 new Criterion[] { new Criterion("from", OperatorId.GREATER_OR_EQUAL, from), new Criterion("from", OperatorId.LESS_OR_EQUAL, to) });
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
577
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
578 final AdvancedCriteria c2 = new AdvancedCriteria(OperatorId.AND,
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
579 new Criterion[] { new Criterion("to", OperatorId.GREATER_OR_EQUAL, from), new Criterion("to", OperatorId.LESS_OR_EQUAL, to) });
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
580
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
581 final AdvancedCriteria c3 = new AdvancedCriteria(OperatorId.AND,
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
582 new Criterion[] { new Criterion("from", OperatorId.LESS_OR_EQUAL, to), new Criterion("to", OperatorId.GREATER_OR_EQUAL, from) });
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
583
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
584 combinedFilter = new AdvancedCriteria(OperatorId.OR, new Criterion[] { c1, c2, c3 });
1538
92f81eac034a Added filter implementation for input helper tables in single location and
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1534
diff changeset
585 }
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
586 this.locationsTable.filterData(combinedFilter);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
587 this.distancesTable.filterData(combinedFilter);
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
588 this.filterResultCount.setValue(this.currentFiltered.getRecords().length);
1567
7e738bc8ed75 Show hit count in filtered input helper tables.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1538
diff changeset
589
1534
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
590 }
98123d34529b Added UI parts and event for filtering distances and locations.
Raimund Renkert <raimund.renkert@intevation.de>
parents: 1423
diff changeset
591
782
4a7ece57f44c #159 The tables in the WQ panel for calculation 4 are now filled with data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 781
diff changeset
592 protected String getRiverName() {
9064
28c50f5efceb work on uinfo-vegetation-zones table
gernotbelger
parents: 8856
diff changeset
593 final ArtifactDescription adescr = this.artifact.getArtifactDescription();
2520
fe67f1345687 Added a MINFOArtifact and improved the DistancePanel.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 1567
diff changeset
594 return adescr.getRiver();
782
4a7ece57f44c #159 The tables in the WQ panel for calculation 4 are now filled with data.
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 781
diff changeset
595 }
780
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
596 }
a39c2f531755 Implemented a new panel to enter kilometer ranges (with no option to insert locations).
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents:
diff changeset
597 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org