Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java @ 4222:94c76129af7d
Replaced static string with variable to have a more generic radio button panel.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 23 Oct 2012 13:20:02 +0200 |
parents | 221d255f7ec2 |
children | f75968f0ce80 |
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.ScrollPanel; |
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.Tree; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 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
|
14 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.layout.HLayout; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 |
3865
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
17 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
|
18 import de.intevation.flys.client.client.FLYSConstants; |
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.Data; |
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.DataItem; |
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.DataList; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 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
|
23 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
|
24 |
4129
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
25 import java.util.ArrayList; |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
26 import java.util.Iterator; |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
27 import java.util.List; |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
28 |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 public class GaugeTree extends ScrollPanel { |
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 private FLYS flys; |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 private Tree tree; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 private DataList[] data; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 /** The message class that provides i18n strings.*/ |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 |
3865
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
39 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
|
40 this.flys = flys; |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 tree = new Tree(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 setWidget(tree); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 |
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 * Resets the items of the tree. |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 * 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
|
48 */ |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 public void setGauges(RiverInfo riverinfo) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 tree.clear(); |
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 List<GaugeInfo> gauges = riverinfo.getGauges(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 if (gauges != null && !gauges.isEmpty()) { |
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 ArrayList<GaugeInfo> emptygauges = new ArrayList<GaugeInfo>(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 if (!riverinfo.isKmUp()) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 for (GaugeInfo gauge : gauges) { |
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 else { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 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
|
65 GaugeInfo gauge = gauges.get(i); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 addGauge(gauge, emptygauges); |
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 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 // put empty gauges to the end |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 for (GaugeInfo gauge : emptygauges) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 addGauge(gauge); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 open(); |
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 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 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
|
80 if (gauge.getKmStart() != null && gauge.getKmEnd() != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 addGauge(gauge); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 else { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 empty.add(gauge); |
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 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 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
|
89 GaugeInfoItem gaugeitem = new GaugeInfoItem(flys, gauge); |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 tree.addItem(gaugeitem); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 public void openAll() { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 GWT.log("GaugeTree - openAll"); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
95 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
|
96 TreeItem item = it.next(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
97 item.setState(true); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
98 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
99 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
100 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
101 public void setData(DataList[] data) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
102 this.data = data; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
103 if (tree.getItemCount() > 0) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
104 open(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
105 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
106 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
107 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
108 public void open() { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
109 ArrayList<Double> locations = new ArrayList<Double>(); |
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 if (data != null && data.length > 0) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
112 for (int i = 0; i < data.length; i++) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
113 DataList dl = data[i]; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
114 String state = dl.getState(); |
4201
221d255f7ec2
Update debug statement
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4185
diff
changeset
|
115 GWT.log("GaugeTree - open " + state); |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
116 if (state.equals("state.winfo.location_distance")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
117 Double ldfrom = null; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
118 Double ldto = null; |
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 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
|
121 Data d = dl.get(j); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
122 String label = d.getLabel(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
123 GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue()); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
124 if (label.equals("ld_from")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
125 ldfrom = getDoubleValue(d); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
126 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
127 else if (label.equals("ld_to")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
128 ldto = getDoubleValue(d); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
129 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
130 else if (label.equals("ld_locations")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
131 getLocationsFromData(locations, d); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
132 openOnLocations(locations); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
133 return; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
134 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
135 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
136 if (ldfrom != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
137 openOnDistance(ldfrom, ldto); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
138 return; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
139 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
140 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
141 else if(state.equals("state.winfo.distance_only") || |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
142 state.equals("state.winfo.distance")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
143 Double ldfrom = null; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
144 Double ldto = null; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
145 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
146 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
|
147 Data d = dl.get(j); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
148 String label = d.getLabel(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
149 GWT.log("GaugeTree - setData - label " + label + " " + d.getStringValue()); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
150 if (label.equals("ld_from")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
151 ldfrom = getDoubleValue(d); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
152 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
153 else if (label.equals("ld_to")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
154 ldto = getDoubleValue(d); |
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 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
157 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
158 if (ldfrom != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
159 openOnDistance(ldfrom, ldto); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
160 return; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
161 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
162 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
163 else if (state.equals("state.winfo.location")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
164 getLocations("ld_locations", locations, dl); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
165 openOnLocations(locations); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
166 return; |
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 else if (state.equals("state.winfo.reference.curve.input.start")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
169 getLocations("reference_startpoint", locations, dl); |
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 else if (state.equals("state.winfo.reference.curve.input.end")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
172 getLocations("reference_endpoint", locations, dl); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
173 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
174 else if (state.equals("state.winfo.historicalq.reference_gauge")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
175 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
|
176 Data d = dl.get(j); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
177 String label = d.getLabel(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
178 if (label.equals("reference_gauge")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
179 String tmp = d.getStringValue(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
180 if (tmp != null) { |
3844
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
181 Long gaugereference = Long.valueOf(tmp); |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
182 if (gaugereference != null) { |
3844
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
183 openOnReference(gaugereference); |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
184 return; |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
185 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
186 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
187 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
188 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
189 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
190 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
191 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
192 if (!locations.isEmpty()) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
193 openOnLocations(locations); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
194 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
195 else { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
196 openAll(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
197 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
198 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
199 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
200 private void getLocations(String labelname, List<Double> locations, DataList dl) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
201 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
|
202 Data d = dl.get(j); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
203 String label = d.getLabel(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
204 if (label.equals(labelname)) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
205 getLocationsFromData(locations, d); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
206 } |
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 private void getLocationsFromData(List<Double> locations, Data data) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
211 DataItem[] items = data.getItems(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
212 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
|
213 String tmp = items[k].getStringValue(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
214 GWT.log("GaugeTree - getLocationsFromData " + tmp); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
215 if (tmp != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
216 if (tmp.contains(" ")) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
217 // string contains several values ... |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
218 String[] values = tmp.split(" "); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
219 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
|
220 Double value = Double.valueOf(values[i]); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
221 if (value != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
222 locations.add(value); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
223 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
224 } |
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 else { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
227 Double value = Double.valueOf(tmp); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
228 if (value != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
229 locations.add(value); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
230 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
231 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
232 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
233 } |
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 private Double getDoubleValue(Data d) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
237 String tmp = d.getStringValue(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
238 if (tmp != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
239 return Double.valueOf(tmp); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
240 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
241 return null; |
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 |
3844
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
244 public void openOnReference(Long number) { |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
245 GWT.log("GaugeTree - openOnReference " + number); |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
246 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
|
247 TreeItem item = it.next(); |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
248 if (item instanceof GaugeInfoItem) { |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
249 GaugeInfoItem gitem = (GaugeInfoItem)item; |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
250 if (gitem.getReference().equals(number)) { |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
251 item.setState(true); |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
252 } |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
253 else { |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
254 item.setState(false); |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
255 } |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
256 } |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
257 } |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
258 } |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
259 |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
260 public void openOnDistance(Double start, Double end) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
261 GWT.log("GaugeTree - openOnDistance " + start + " " + end + " " + |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
262 tree.getItemCount()); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
263 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
264 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
|
265 TreeItem item = it.next(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
266 /* Strange stuff is happening here: |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
267 * 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
|
268 * GaugeInfoItem */ |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
269 if (item instanceof GaugeInfoItem) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
270 boolean setstate = false; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
271 GaugeInfoItem gitem = (GaugeInfoItem)item; |
4154
92021091b03d
Avoid another possible NullPointerException in GaugeTree
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4153
diff
changeset
|
272 if (end == null && gitem.getStart() != null) { |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
273 if (gitem.getStart() >= start) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
274 setstate = true; |
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 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
277 else { |
4129
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
278 // 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
|
279 // 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
|
280 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
|
281 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
|
282 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
|
283 (end >= gitem.getStart() && end <= gitem.getEnd()) || |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
284 (start <= gitem.getStart() && end >= gitem.getEnd())) { |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
285 setstate = true; |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
286 } |
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
287 } |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
288 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
289 item.setState(setstate); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
290 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
291 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
292 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
293 |
4153
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
294 /** |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
295 * 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
|
296 */ |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
297 public void openOnLocations(List<Double> locations) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
298 GWT.log("GaugeTree - openOnLocations " + locations + " " + |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
299 tree.getItemCount()); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
300 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
301 if (locations == null || locations.isEmpty()) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
302 return; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
303 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
304 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
305 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
|
306 TreeItem item = it.next(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
307 if (item instanceof GaugeInfoItem) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
308 GaugeInfoItem gitem = (GaugeInfoItem)item; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
309 boolean isset = false; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
310 for (Double location: locations) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
311 if (locations == null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
312 continue; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
313 } |
4153
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
314 |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
315 Double start = gitem.getStart(); |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
316 Double end = gitem.getEnd(); |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
317 if (start == null || end == null) { |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
318 // should not occur but avoid NullPointerException |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
319 continue; |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
320 } |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
321 |
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
322 if (location >= start && location <= end) { |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
323 isset = true; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
324 break; |
4153
3245bb4d600b
Avoid possible NullPointerException in openOnLocation method.
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4137
diff
changeset
|
325 } |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
326 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
327 item.setState(isset); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
328 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
329 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
330 } |
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 class GaugeInfoItem extends TreeItem { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
333 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
334 private GaugeInfo gauge; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
335 |
3865
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
336 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
|
337 GaugeInfoHead gaugeinfohead = new GaugeInfoHead(flys, gauge); |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
338 GaugeInfoPanel gaugeinfopanel = new GaugeInfoPanel(gauge); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
339 setWidget(gaugeinfohead); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
340 addItem(gaugeinfopanel); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
341 this.gauge = gauge; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
342 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
343 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
344 public Double getStart() { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
345 return gauge.getKmStart(); |
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 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
348 public Double getEnd() { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
349 return gauge.getKmEnd(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
350 } |
3844
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
351 |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
352 public Long getReference() { |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
353 return gauge.getOfficialNumber(); |
7a096ec98596
Open gauge tree fold for historicalq reference too
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
354 } |
3842
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 class GaugeInfoHead extends HLayout { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
358 |
3865
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
359 public GaugeInfoHead(FLYS flys, GaugeInfo gauge) { |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
360 setStyleName("gaugeinfohead"); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
361 setAutoHeight(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
362 setAutoWidth(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
363 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
364 NumberFormat nf = NumberFormat.getDecimalFormat(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
365 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
366 Label label = new Label(gauge.getName(), true); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
367 addMember(label); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
368 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
369 Double start; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
370 Double end; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
371 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
372 if (!gauge.isKmUp()) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
373 start = gauge.getKmStart(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
374 end = gauge.getKmEnd(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
375 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
376 else { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
377 start = gauge.getKmEnd(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
378 end = gauge.getKmStart(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
379 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
380 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
381 String kmtext = ""; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
382 if (start != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
383 kmtext += nf.format(start); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
384 kmtext += " - "; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
385 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
386 if (end != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
387 kmtext += nf.format(end); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
388 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
389 if (start != null || end != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
390 kmtext += " km"; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
391 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
392 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
393 label = new Label(kmtext); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
394 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
395 addMember(label); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
396 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
397 Double station = gauge.getStation(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
398 if (station != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
399 String stext = nf.format(station); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
400 stext += " km"; |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
401 label = new Label(stext); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
402 addMember(label); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
403 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
404 |
3847
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3844
diff
changeset
|
405 Long number = gauge.getOfficialNumber(); |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3844
diff
changeset
|
406 String url = number != null ? |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3844
diff
changeset
|
407 MSG.gauge_url() + number : |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3844
diff
changeset
|
408 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
|
409 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
|
410 addMember(anchor); |
3865
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
411 |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
412 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
|
413 } |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
414 } |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
415 |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
416 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
|
417 |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
418 private FLYS flys; |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
419 private GaugeInfo gauge; |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
420 |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
421 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
|
422 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
|
423 this.flys = flys; |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
424 this.gauge = gauge; |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
425 |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
426 addClickHandler(this); |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
427 } |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
428 |
4129
989f6f0d1986
NPE fix when comparing Double with double
Christian Lins <christian.lins@intevation.de>
parents:
3865
diff
changeset
|
429 @Override |
3865
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
430 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
|
431 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
|
432 " " + gauge.getOfficialNumber()); |
436eec3be6ff
Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3847
diff
changeset
|
433 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
|
434 gauge.getOfficialNumber()); |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
435 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
436 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
437 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
438 class GaugeInfoPanel extends DecoratorPanel { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
439 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
440 public GaugeInfoPanel(GaugeInfo gauge) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
441 setStyleName("gaugeinfopanel"); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
442 Grid grid = new Grid(4, 2); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
443 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
444 NumberFormat nf = NumberFormat.getDecimalFormat(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
445 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
446 Double minw = gauge.getMinW(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
447 Double maxw = gauge.getMaxW(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
448 if (minw != null && maxw != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
449 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
|
450 grid.setText(0, 1, "" + nf.format(minw) + |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
451 " - " + nf.format(maxw)); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
452 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
453 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
454 Double minq = gauge.getMinQ(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
455 Double maxq = gauge.getMaxQ(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
456 if (minq != null && maxq != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
457 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
|
458 grid.setText(1, 1, "" + nf.format(minq) + |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
459 " - " + nf.format(maxq)); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
460 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
461 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
462 Double aeo = gauge.getAeo(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
463 if (aeo != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
464 grid.setText(2, 0, "AEO [kmĀ²]"); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
465 grid.setText(2, 1, "" + nf.format(aeo)); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
466 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
467 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
468 Double datum = gauge.getDatum(); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
469 if (datum != null) { |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
470 grid.setText(3, 0, MSG.gauge_zero() + " [" + |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
471 gauge.getWstUnit() + "]"); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
472 grid.setText(3, 1, "" + nf.format(datum)); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
473 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
474 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
475 setWidget(grid); |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
476 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
477 } |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
478 |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
479 } |