annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java @ 4268:f75968f0ce80

Refactor GaugePanel and GaugeInfo to extract a base class Extract a base class from GaugePanel and GaugeInfo to reuse code for displaying the measurement station information.
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 26 Oct 2012 12:19:54 +0200
parents 221d255f7ec2
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