Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeListGrid.java @ 4959:2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 04 Feb 2013 13:46:38 +0100 |
parents | 5652aa0ad9e5 |
children | a3a59055ed5e |
rev | line source |
---|---|
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui.stationinfo; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import java.util.ArrayList; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
4 import java.util.List; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
6 import com.google.gwt.core.client.GWT; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
7 import com.google.gwt.event.dom.client.ClickEvent; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
8 import com.google.gwt.event.dom.client.ClickHandler; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 import com.google.gwt.i18n.client.NumberFormat; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 import com.google.gwt.user.client.ui.Anchor; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
11 import com.google.gwt.user.client.ui.Grid; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
12 import com.smartgwt.client.types.ListGridFieldType; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.Canvas; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.Label; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 import com.smartgwt.client.widgets.WidgetCanvas; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 import com.smartgwt.client.widgets.grid.ListGridField; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 import com.smartgwt.client.widgets.grid.ListGridRecord; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 import com.smartgwt.client.widgets.layout.HLayout; |
4957
5652aa0ad9e5
Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4956
diff
changeset
|
19 import com.smartgwt.client.widgets.layout.VLayout; |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 import de.intevation.flys.client.client.FLYS; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 import de.intevation.flys.client.shared.model.Data; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 import de.intevation.flys.client.shared.model.DataItem; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 import de.intevation.flys.client.shared.model.DataList; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 import de.intevation.flys.client.shared.model.GaugeInfo; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
26 import de.intevation.flys.client.shared.model.RiverInfo; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
27 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 /** |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 public class GaugeListGrid extends InfoListGrid { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 public GaugeListGrid(FLYS flys) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 super(flys); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 ListGridField nfield = new ListGridField("name", "Pegel"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 ListGridField sfield = new ListGridField("kmstart", "Start [km]", 60); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 ListGridField efield = new ListGridField("kmend", "Ende [km]", 60); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 ListGridField stfield = new ListGridField("station", "Station [km]"); |
4959
2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
40 ListGridField lfield = new ListGridField("link", "Info"); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 lfield.setType(ListGridFieldType.LINK); |
4959
2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
42 ListGridField cfield = new ListGridField("curvelink", "Link"); |
2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
43 cfield.addRecordClickHandler(this); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
44 |
4959
2b7886ba7bb2
Display Ablusstafel/-kurve in Pegelinfo
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4957
diff
changeset
|
45 this.setFields(nfield, sfield, efield, stfield, lfield, cfield); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 public void setRiverInfo(RiverInfo riverinfo) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 List<GaugeInfo> gauges = riverinfo.getGauges(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 if (gauges != null && !gauges.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
53 ArrayList<GaugeInfo> emptygauges = new ArrayList<GaugeInfo>(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
54 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 if (!riverinfo.isKmUp()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 for (GaugeInfo gauge : gauges) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 addGauge(gauge, emptygauges); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
61 for (int i = gauges.size()-1; i >= 0; i--) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
62 GaugeInfo gauge = gauges.get(i); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
63 addGauge(gauge, emptygauges); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
65 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
66 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 // put empty gauges to the end |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 for (GaugeInfo gauge : emptygauges) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 addGauge(gauge); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
72 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
73 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
74 private void addGauge(GaugeInfo gauge, List<GaugeInfo> empty) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
75 if (gauge.getKmStart() != null && gauge.getKmEnd() != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
76 addGauge(gauge); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
77 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
78 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 empty.add(gauge); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 private void addGauge(GaugeInfo gauge) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 this.addData(new GaugeRecord(gauge)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 class GaugeInfoHead extends HLayout { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 public GaugeInfoHead(FLYS flys, GaugeInfo gauge) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 setStyleName("gaugeinfohead"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 setAutoHeight(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 setAutoWidth(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
95 NumberFormat nf = NumberFormat.getDecimalFormat(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
97 Label label = new Label(gauge.getName()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
98 addMember(label); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
99 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
100 Double start; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
101 Double end; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
102 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
103 if (!gauge.isKmUp()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
104 start = gauge.getKmStart(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
105 end = gauge.getKmEnd(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
106 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
107 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
108 start = gauge.getKmEnd(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
109 end = gauge.getKmStart(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
110 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
111 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
112 String kmtext = ""; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
113 if (start != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
114 kmtext += nf.format(start); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
115 kmtext += " - "; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
116 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
117 if (end != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
118 kmtext += nf.format(end); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
119 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
120 if (start != null || end != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
121 kmtext += " km"; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
122 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
123 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
124 label = new Label(kmtext); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
125 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
126 addMember(label); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
127 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
128 Double station = gauge.getStation(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
129 if (station != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
130 String stext = nf.format(station); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
131 stext += " km"; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
132 label = new Label(stext); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
133 addMember(label); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
134 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
135 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
136 Long number = gauge.getOfficialNumber(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
137 String url = number != null ? |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
138 MSG.gauge_url() + number : |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
139 MSG.gauge_url(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
140 Anchor anchor = new Anchor(MSG.gauge_info_link(), url, "_blank"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
141 addMember(anchor); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
142 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
143 addMember(new GaugeCurveAnchor(flys, gauge)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
144 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
145 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
146 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
147 class GaugeCurveAnchor extends Anchor implements ClickHandler { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
148 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
149 private FLYS flys; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
150 private GaugeInfo gauge; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
151 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
152 public GaugeCurveAnchor(FLYS flys, GaugeInfo gauge) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
153 super(MSG.gauge_curve_link()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
154 this.flys = flys; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
155 this.gauge = gauge; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
156 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
157 addClickHandler(this); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
158 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
159 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
160 @Override |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
161 public void onClick(ClickEvent ev) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
162 GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() + |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
163 " " + gauge.getOfficialNumber()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
164 flys.newGaugeDischargeCurve(gauge.getRiverName(), |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
165 gauge.getOfficialNumber()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
166 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
167 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
168 |
4957
5652aa0ad9e5
Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4956
diff
changeset
|
169 class GaugeInfoPanel extends VLayout { |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
170 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
171 public GaugeInfoPanel(GaugeInfo gauge) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
172 setStyleName("gaugeinfopanel"); |
4957
5652aa0ad9e5
Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4956
diff
changeset
|
173 setWidth100(); |
5652aa0ad9e5
Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4956
diff
changeset
|
174 |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
175 Grid grid = new Grid(4, 2); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
176 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
177 NumberFormat nf = NumberFormat.getDecimalFormat(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
178 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
179 Double minw = gauge.getMinW(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
180 Double maxw = gauge.getMaxW(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
181 if (minw != null && maxw != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
182 grid.setText(0, 0, MSG.wq_value_q()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
183 grid.setText(0, 1, nf.format(minw) + |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
184 " - " + nf.format(maxw)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
185 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
186 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
187 Double minq = gauge.getMinQ(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
188 Double maxq = gauge.getMaxQ(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
189 if (minq != null && maxq != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
190 grid.setText(1, 0, MSG.wq_value_w()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
191 grid.setText(1, 1, nf.format(minq) + |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
192 " - " + nf.format(maxq)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
193 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
194 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
195 Double aeo = gauge.getAeo(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
196 if (aeo != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
197 grid.setText(2, 0, "AEO [km²]"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
198 grid.setText(2, 1, nf.format(aeo)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
199 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
200 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
201 Double datum = gauge.getDatum(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
202 if (datum != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
203 grid.setText(3, 0, MSG.gauge_zero() + " [" + |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
204 gauge.getWstUnit() + "]"); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
205 grid.setText(3, 1, nf.format(datum)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
206 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
207 |
4957
5652aa0ad9e5
Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents:
4956
diff
changeset
|
208 addMember(grid); |
4956
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
209 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
210 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
211 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
212 public void open() { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
213 ArrayList<Double> locations = new ArrayList<Double>(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
214 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
215 if (data != null && data.length > 0) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
216 for (int i = 0; i < data.length; i++) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
217 DataList dl = data[i]; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
218 String state = dl.getState(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
219 GWT.log("GaugeListGrid - open " + state); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
220 if (state.equals("state.winfo.location_distance")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
221 Double ldfrom = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
222 Double ldto = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
223 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
224 for (int j = dl.size()-1; j >= 0; --j) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
225 Data d = dl.get(j); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
226 String label = d.getLabel(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
227 GWT.log("GaugeListGrid - setData - label " + label + " " + d.getStringValue()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
228 if (label.equals("ld_from")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
229 ldfrom = getDoubleValue(d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
230 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
231 else if (label.equals("ld_to")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
232 ldto = getDoubleValue(d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
233 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
234 else if (label.equals("ld_locations")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
235 getLocationsFromData(locations, d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
236 openOnLocations(locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
237 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
238 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
239 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
240 if (ldfrom != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
241 openOnDistance(ldfrom, ldto); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
242 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
243 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
244 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
245 else if(state.equals("state.winfo.distance_only") || |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
246 state.equals("state.winfo.distance")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
247 Double ldfrom = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
248 Double ldto = null; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
249 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
250 for (int j = dl.size()-1; j >= 0; --j) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
251 Data d = dl.get(j); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
252 String label = d.getLabel(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
253 GWT.log("GaugeListGrid - setData - label " + label + " " + d.getStringValue()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
254 if (label.equals("ld_from")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
255 ldfrom = getDoubleValue(d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
256 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
257 else if (label.equals("ld_to")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
258 ldto = getDoubleValue(d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
259 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
260 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
261 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
262 if (ldfrom != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
263 openOnDistance(ldfrom, ldto); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
264 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
265 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
266 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
267 else if (state.equals("state.winfo.location")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
268 getLocations("ld_locations", locations, dl); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
269 openOnLocations(locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
270 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
271 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
272 else if (state.equals("state.winfo.reference.curve.input.start")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
273 getLocations("reference_startpoint", locations, dl); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
274 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
275 else if (state.equals("state.winfo.reference.curve.input.end")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
276 getLocations("reference_endpoint", locations, dl); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
277 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
278 else if (state.equals("state.winfo.historicalq.reference_gauge")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
279 for (int j = dl.size()-1; j >= 0; --j) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
280 Data d = dl.get(j); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
281 String label = d.getLabel(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
282 if (label.equals("reference_gauge")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
283 String tmp = d.getStringValue(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
284 if (tmp != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
285 Long gaugereference = Long.valueOf(tmp); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
286 if (gaugereference != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
287 openOnReference(gaugereference); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
288 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
289 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
290 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
291 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
292 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
293 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
294 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
295 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
296 if (!locations.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
297 openOnLocations(locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
298 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
299 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
300 openAll(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
301 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
302 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
303 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
304 void getLocations(String labelname, List<Double> locations, DataList dl) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
305 for (int j = dl.size()-1; j >= 0; --j) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
306 Data d = dl.get(j); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
307 String label = d.getLabel(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
308 if (label.equals(labelname)) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
309 getLocationsFromData(locations, d); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
310 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
311 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
312 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
313 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
314 void getLocationsFromData(List<Double> locations, Data data) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
315 DataItem[] items = data.getItems(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
316 for (int k = 0; k < items.length; k++) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
317 String tmp = items[k].getStringValue(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
318 GWT.log("GaugeListGrid - getLocationsFromData " + tmp); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
319 if (tmp != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
320 if (tmp.contains(" ")) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
321 // string contains several values ... |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
322 String[] values = tmp.split(" "); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
323 for(int i=0; i < values.length; i++) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
324 Double value = Double.valueOf(values[i]); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
325 if (value != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
326 locations.add(value); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
327 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
328 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
329 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
330 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
331 Double value = Double.valueOf(tmp); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
332 if (value != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
333 locations.add(value); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
334 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
335 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
336 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
337 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
338 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
339 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
340 public void openOnReference(Long number) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
341 GWT.log("GaugeListGrid - openOnReference " + number); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
342 for (ListGridRecord record: this.getRecords()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
343 GaugeRecord item = (GaugeRecord)record; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
344 if (item.getOfficialNumber().equals(number)) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
345 expandRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
346 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
347 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
348 collapseRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
349 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
350 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
351 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
352 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
353 public void openOnDistance(Double start, Double end) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
354 GWT.log("GaugeListGrid - openOnDistance " + start + " " + end); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
355 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
356 for (ListGridRecord record: this.getRecords()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
357 GaugeRecord item = (GaugeRecord)record; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
358 if (end == null && item.getKmStart() != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
359 if (item.getKmStart() >= start) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
360 expandRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
361 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
362 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
363 collapseRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
364 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
365 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
366 else if (item.getKmStart() != null && item.getKmEnd() != null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
367 // as getStart()/getEnd() return Double objects, they can be null and |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
368 // can cause NPEs when comparing with double... strange... |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
369 GWT.log("GaugeListGrid - openOnDistance item " + item.getKmStart() + " " + item.getKmEnd()); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
370 if ((start >= item.getKmStart() && start <= item.getKmEnd()) || |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
371 (end >= item.getKmStart() && end <= item.getKmEnd()) || |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
372 (start <= item.getKmStart() && end >= item.getKmEnd())) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
373 expandRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
374 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
375 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
376 collapseRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
377 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
378 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
379 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
380 collapseRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
381 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
382 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
383 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
384 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
385 /** |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
386 * Open Gauge entry if a location fits to the gauge |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
387 */ |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
388 public void openOnLocations(List<Double> locations) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
389 GWT.log("GaugeListGrid - openOnLocations " + locations); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
390 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
391 if (locations == null || locations.isEmpty()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
392 return; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
393 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
394 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
395 for (ListGridRecord record: this.getRecords()) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
396 GaugeRecord item = (GaugeRecord)record; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
397 boolean isset = false; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
398 for (Double location: locations) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
399 if (locations == null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
400 continue; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
401 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
402 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
403 Double start = item.getKmStart(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
404 Double end = item.getKmEnd(); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
405 if (start == null || end == null) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
406 // should not occur but avoid NullPointerException |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
407 continue; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
408 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
409 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
410 if (location >= start && location <= end) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
411 isset = true; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
412 break; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
413 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
414 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
415 if (isset) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
416 expandRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
417 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
418 else { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
419 collapseRecord(item); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
420 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
421 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
422 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
423 |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
424 @Override |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
425 protected Canvas getExpandPanel(ListGridRecord record) { |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
426 GaugeRecord item = (GaugeRecord)record; |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
427 return new WidgetCanvas(new GaugeInfoPanel(item)); |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
428 } |
f46a07c11324
Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
429 } |