Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugeTree.java @ 4205:0dd8963cec9c
Set also the width of the GaugeTree when resizing the GaugePanel
GWT is no longer able to calculate and set the correct width of the GaugeTree since
the GaugeTree is added via a Canvas wrapper. Therefore set the width manually
when resizing the GaugeTree.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 22 Oct 2012 15:33:16 +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 } |