annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java @ 4641:f3325079dacc

Improve the up and down arrows in the theme navigation panel Don't stretch the arrow icons and fit to their actual size. Also put the up buttons on the left and the down buttons on the right.
author Björn Ricks <bjoern.ricks@intevation.de>
date Tue, 04 Dec 2012 16:16:43 +0100
parents f75968f0ce80
children
rev   line source
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
2
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
4 import com.google.gwt.event.dom.client.ClickEvent;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
5 import com.google.gwt.event.dom.client.ClickHandler;
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
6 import com.google.gwt.i18n.client.NumberFormat;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
7 import com.google.gwt.user.client.ui.Anchor;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
8 import com.google.gwt.user.client.ui.DecoratorPanel;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
9 import com.google.gwt.user.client.ui.Grid;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10 import com.google.gwt.user.client.ui.Label;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 import com.google.gwt.user.client.ui.Tree;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
12 import com.google.gwt.user.client.ui.TreeItem;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
14 import com.smartgwt.client.widgets.layout.HLayout;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
15
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
16 import de.intevation.flys.client.client.FLYS;
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.client.shared.model.Data;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
18 import de.intevation.flys.client.shared.model.DataItem;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
19 import de.intevation.flys.client.shared.model.DataList;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
20 import de.intevation.flys.client.shared.model.GaugeInfo;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
21 import de.intevation.flys.client.shared.model.RiverInfo;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
22
4129
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
23 import java.util.ArrayList;
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
24 import java.util.Iterator;
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
25 import java.util.List;
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
26
4268
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
27 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
28 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
29 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
30 public class GaugeTree extends InfoTree {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
31
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
32 public GaugeTree(FLYS flys) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
33 this.flys = flys;
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34 tree = new Tree();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 setWidget(tree);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38 /**
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
39 * Resets the items of the tree.
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
40 * If the list of gauges is empty or null the tree will be empty.
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
41 */
4268
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
42 @Override
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
43 public void setRiverInfo(RiverInfo riverinfo) {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 tree.clear();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 List<GaugeInfo> gauges = riverinfo.getGauges();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48 if (gauges != null && !gauges.isEmpty()) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50 ArrayList<GaugeInfo> emptygauges = new ArrayList<GaugeInfo>();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
52 if (!riverinfo.isKmUp()) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
53 for (GaugeInfo gauge : gauges) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 addGauge(gauge, emptygauges);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57 else {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 for (int i = gauges.size()-1; i >= 0; i--) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59 GaugeInfo gauge = gauges.get(i);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60 addGauge(gauge, emptygauges);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
63
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 // put empty gauges to the end
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65 for (GaugeInfo gauge : emptygauges) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66 addGauge(gauge);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69 open();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
71 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
72
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
73 private void addGauge(GaugeInfo gauge, List<GaugeInfo> empty) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
74 if (gauge.getKmStart() != null && gauge.getKmEnd() != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
75 addGauge(gauge);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77 else {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
78 empty.add(gauge);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
79 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
80 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82 private void addGauge(GaugeInfo gauge) {
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
83 GaugeInfoItem gaugeitem = new GaugeInfoItem(flys, gauge);
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 tree.addItem(gaugeitem);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
86
4268
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
87 void getLocations(String labelname, List<Double> locations, DataList dl) {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88 for (int j = dl.size()-1; j >= 0; --j) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 Data d = dl.get(j);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 String label = d.getLabel();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91 if (label.equals(labelname)) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92 getLocationsFromData(locations, d);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96
4268
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
97 void getLocationsFromData(List<Double> locations, Data data) {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
98 DataItem[] items = data.getItems();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
99 for (int k = 0; k < items.length; k++) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
100 String tmp = items[k].getStringValue();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
101 GWT.log("GaugeTree - getLocationsFromData " + tmp);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
102 if (tmp != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
103 if (tmp.contains(" ")) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
104 // string contains several values ...
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
105 String[] values = tmp.split(" ");
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
106 for(int i=0; i < values.length; i++) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
107 Double value = Double.valueOf(values[i]);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
108 if (value != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109 locations.add(value);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
110 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
111 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
112 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
113 else {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
114 Double value = Double.valueOf(tmp);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
115 if (value != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
116 locations.add(value);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
117 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
118 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
119 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
120 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
121 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
122
3844
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
123 public void openOnReference(Long number) {
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
124 GWT.log("GaugeTree - openOnReference " + number);
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
125 for (Iterator<TreeItem> it = tree.treeItemIterator(); it.hasNext();) {
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
126 TreeItem item = it.next();
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
127 if (item instanceof GaugeInfoItem) {
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
128 GaugeInfoItem gitem = (GaugeInfoItem)item;
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
129 if (gitem.getReference().equals(number)) {
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
130 item.setState(true);
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
131 }
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
132 else {
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
133 item.setState(false);
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
134 }
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
135 }
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
136 }
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
137 }
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
138
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
139 public void openOnDistance(Double start, Double end) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
140 GWT.log("GaugeTree - openOnDistance " + start + " " + end + " " +
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
141 tree.getItemCount());
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
142
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
143 for (Iterator<TreeItem> it = tree.treeItemIterator(); it.hasNext();) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
144 TreeItem item = it.next();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
145 /* Strange stuff is happening here:
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
146 * GWT Tree.treeItemIterator returns another TreeItem for each
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
147 * GaugeInfoItem */
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
148 if (item instanceof GaugeInfoItem) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
149 boolean setstate = false;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
150 GaugeInfoItem gitem = (GaugeInfoItem)item;
4154
92021091b03d Avoid another possible NullPointerException in GaugeTree
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4153
diff changeset
151 if (end == null && gitem.getStart() != null) {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
152 if (gitem.getStart() >= start) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
153 setstate = true;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
154 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
155 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
156 else {
4129
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
157 // as getStart()/getEnd() return Double objects, they can be null and
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
158 // can cause NPEs when comparing with double... strange...
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
159 if (gitem.getStart() != null && gitem.getEnd() != null) {
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
160 GWT.log("GaugeTree - openOnDistance gitem " + gitem.getStart() + " " + gitem.getEnd());
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
161 if ((start >= gitem.getStart() && start <= gitem.getEnd()) ||
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
162 (end >= gitem.getStart() && end <= gitem.getEnd()) ||
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
163 (start <= gitem.getStart() && end >= gitem.getEnd())) {
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
164 setstate = true;
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
165 }
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
166 }
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
167 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
168 item.setState(setstate);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
169 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
170 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
171 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
172
4153
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
173 /**
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
174 * Open Gauge entry if a location fits to the gauge
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
175 */
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
176 public void openOnLocations(List<Double> locations) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
177 GWT.log("GaugeTree - openOnLocations " + locations + " " +
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
178 tree.getItemCount());
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
179
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
180 if (locations == null || locations.isEmpty()) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
181 return;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
182 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
183
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
184 for (Iterator<TreeItem> it = tree.treeItemIterator(); it.hasNext();) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
185 TreeItem item = it.next();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
186 if (item instanceof GaugeInfoItem) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
187 GaugeInfoItem gitem = (GaugeInfoItem)item;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
188 boolean isset = false;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
189 for (Double location: locations) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
190 if (locations == null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
191 continue;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
192 }
4153
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
193
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
194 Double start = gitem.getStart();
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
195 Double end = gitem.getEnd();
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
196 if (start == null || end == null) {
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
197 // should not occur but avoid NullPointerException
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
198 continue;
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
199 }
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
200
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
201 if (location >= start && location <= end) {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
202 isset = true;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
203 break;
4153
3245bb4d600b Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4137
diff changeset
204 }
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
205 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
206 item.setState(isset);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
207 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
208 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
209 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
210
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
211 class GaugeInfoItem extends TreeItem {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
212
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
213 private GaugeInfo gauge;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
214
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
215 public GaugeInfoItem(FLYS flys, GaugeInfo gauge) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
216 GaugeInfoHead gaugeinfohead = new GaugeInfoHead(flys, gauge);
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
217 GaugeInfoPanel gaugeinfopanel = new GaugeInfoPanel(gauge);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
218 setWidget(gaugeinfohead);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
219 addItem(gaugeinfopanel);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
220 this.gauge = gauge;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
221 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
222
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
223 public Double getStart() {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
224 return gauge.getKmStart();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
225 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
226
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
227 public Double getEnd() {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
228 return gauge.getKmEnd();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
229 }
3844
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
230
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
231 public Long getReference() {
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
232 return gauge.getOfficialNumber();
7a096ec98596 Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
233 }
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
234 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
235
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
236 class GaugeInfoHead extends HLayout {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
237
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
238 public GaugeInfoHead(FLYS flys, GaugeInfo gauge) {
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
239 setStyleName("gaugeinfohead");
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
240 setAutoHeight();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
241 setAutoWidth();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
242
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
243 NumberFormat nf = NumberFormat.getDecimalFormat();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
244
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
245 Label label = new Label(gauge.getName(), true);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
246 addMember(label);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
247
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
248 Double start;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
249 Double end;
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
250
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
251 if (!gauge.isKmUp()) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
252 start = gauge.getKmStart();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
253 end = gauge.getKmEnd();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
254 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
255 else {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
256 start = gauge.getKmEnd();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
257 end = gauge.getKmStart();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
258 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
259
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
260 String kmtext = "";
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
261 if (start != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
262 kmtext += nf.format(start);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
263 kmtext += " - ";
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
264 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
265 if (end != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
266 kmtext += nf.format(end);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
267 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
268 if (start != null || end != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
269 kmtext += " km";
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
270 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
271
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
272 label = new Label(kmtext);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
273
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
274 addMember(label);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
275
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
276 Double station = gauge.getStation();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
277 if (station != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
278 String stext = nf.format(station);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
279 stext += " km";
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
280 label = new Label(stext);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
281 addMember(label);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
282 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
283
3847
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3844
diff changeset
284 Long number = gauge.getOfficialNumber();
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3844
diff changeset
285 String url = number != null ?
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3844
diff changeset
286 MSG.gauge_url() + number :
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3844
diff changeset
287 MSG.gauge_url();
4137
9be8d7942284 Open gauge and river info in a new browser window
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4129
diff changeset
288 Anchor anchor = new Anchor(MSG.gauge_info_link(), url, "_blank");
3847
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3844
diff changeset
289 addMember(anchor);
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
290
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
291 addMember(new GaugeCurveAnchor(flys, gauge));
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
292 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
293 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
294
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
295 class GaugeCurveAnchor extends Anchor implements ClickHandler {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
296
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
297 private FLYS flys;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
298 private GaugeInfo gauge;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
299
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
300 public GaugeCurveAnchor(FLYS flys, GaugeInfo gauge) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
301 super(MSG.gauge_curve_link());
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
302 this.flys = flys;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
303 this.gauge = gauge;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
304
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
305 addClickHandler(this);
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
306 }
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
307
4129
989f6f0d1986 NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents: 3865
diff changeset
308 @Override
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
309 public void onClick(ClickEvent ev) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
310 GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() +
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
311 " " + gauge.getOfficialNumber());
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
312 flys.newGaugeDischargeCurve(gauge.getRiverName(),
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
313 gauge.getOfficialNumber());
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
314 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
315 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
316
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
317 class GaugeInfoPanel extends DecoratorPanel {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
318
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
319 public GaugeInfoPanel(GaugeInfo gauge) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
320 setStyleName("gaugeinfopanel");
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
321 Grid grid = new Grid(4, 2);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
322
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
323 NumberFormat nf = NumberFormat.getDecimalFormat();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
324
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
325 Double minw = gauge.getMinW();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
326 Double maxw = gauge.getMaxW();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
327 if (minw != null && maxw != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
328 grid.setText(0, 0, MSG.wq_value_q());
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
329 grid.setText(0, 1, "" + nf.format(minw) +
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
330 " - " + nf.format(maxw));
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
331 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
332
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
333 Double minq = gauge.getMinQ();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
334 Double maxq = gauge.getMaxQ();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
335 if (minq != null && maxq != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
336 grid.setText(1, 0, MSG.wq_value_w());
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
337 grid.setText(1, 1, "" + nf.format(minq) +
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
338 " - " + nf.format(maxq));
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
339 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
340
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
341 Double aeo = gauge.getAeo();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
342 if (aeo != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
343 grid.setText(2, 0, "AEO [km²]");
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
344 grid.setText(2, 1, "" + nf.format(aeo));
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
345 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
346
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
347 Double datum = gauge.getDatum();
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
348 if (datum != null) {
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
349 grid.setText(3, 0, MSG.gauge_zero() + " [" +
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
350 gauge.getWstUnit() + "]");
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
351 grid.setText(3, 1, "" + nf.format(datum));
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
352 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
353
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
354 setWidget(grid);
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
355 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
356 }
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
357
4268
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
358 public void open() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
359 ArrayList<Double> locations = new ArrayList<Double>();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
360
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
361 if (data != null && data.length > 0) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
362 for (int i = 0; i < data.length; i++) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
363 DataList dl = data[i];
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
364 String state = dl.getState();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
365 GWT.log("GaugeTree - open " + state);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
366 if (state.equals("state.winfo.location_distance")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
367 Double ldfrom = null;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
368 Double ldto = null;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
369
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
370 for (int j = dl.size()-1; j >= 0; --j) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
371 Data d = dl.get(j);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
372 String label = d.getLabel();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
373 GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue());
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
374 if (label.equals("ld_from")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
375 ldfrom = getDoubleValue(d);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
376 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
377 else if (label.equals("ld_to")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
378 ldto = getDoubleValue(d);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
379 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
380 else if (label.equals("ld_locations")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
381 getLocationsFromData(locations, d);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
382 openOnLocations(locations);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
383 return;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
384 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
385 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
386 if (ldfrom != null) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
387 openOnDistance(ldfrom, ldto);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
388 return;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
389 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
390 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
391 else if(state.equals("state.winfo.distance_only") ||
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
392 state.equals("state.winfo.distance")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
393 Double ldfrom = null;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
394 Double ldto = null;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
395
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
396 for (int j = dl.size()-1; j >= 0; --j) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
397 Data d = dl.get(j);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
398 String label = d.getLabel();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
399 GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue());
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
400 if (label.equals("ld_from")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
401 ldfrom = getDoubleValue(d);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
402 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
403 else if (label.equals("ld_to")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
404 ldto = getDoubleValue(d);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
405 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
406 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
407
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
408 if (ldfrom != null) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
409 openOnDistance(ldfrom, ldto);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
410 return;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
411 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
412 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
413 else if (state.equals("state.winfo.location")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
414 getLocations("ld_locations", locations, dl);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
415 openOnLocations(locations);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
416 return;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
417 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
418 else if (state.equals("state.winfo.reference.curve.input.start")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
419 getLocations("reference_startpoint", locations, dl);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
420 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
421 else if (state.equals("state.winfo.reference.curve.input.end")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
422 getLocations("reference_endpoint", locations, dl);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
423 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
424 else if (state.equals("state.winfo.historicalq.reference_gauge")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
425 for (int j = dl.size()-1; j >= 0; --j) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
426 Data d = dl.get(j);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
427 String label = d.getLabel();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
428 if (label.equals("reference_gauge")) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
429 String tmp = d.getStringValue();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
430 if (tmp != null) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
431 Long gaugereference = Long.valueOf(tmp);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
432 if (gaugereference != null) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
433 openOnReference(gaugereference);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
434 return;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
435 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
436 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
437 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
438 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
439 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
440 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
441 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
442 if (!locations.isEmpty()) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
443 openOnLocations(locations);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
444 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
445 else {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
446 openAll();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
447 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4201
diff changeset
448 }
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
449 }

http://dive4elements.wald.intevation.org