Mercurial > dive4elements > river
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 } |