annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeListGrid.java @ 4957:5652aa0ad9e5

Use VLayout instead of GWTs DecoratorPanel
author Björn Ricks <bjoern.ricks@intevation.de>
date Mon, 04 Feb 2013 13:44:36 +0100
parents f46a07c11324
children 2b7886ba7bb2
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]");
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
40 ListGridField lfield = new ListGridField("link", "Link");
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
41 lfield.setType(ListGridFieldType.LINK);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
42
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43 this.setFields(nfield, sfield, efield, stfield, lfield);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 public void setRiverInfo(RiverInfo riverinfo) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 List<GaugeInfo> gauges = riverinfo.getGauges();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49 if (gauges != null && !gauges.isEmpty()) {
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 ArrayList<GaugeInfo> emptygauges = new ArrayList<GaugeInfo>();
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 if (!riverinfo.isKmUp()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 for (GaugeInfo gauge : gauges) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55 addGauge(gauge, emptygauges);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59 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
60 GaugeInfo gauge = gauges.get(i);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 addGauge(gauge, emptygauges);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
63 }
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 // put empty gauges to the end
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66 for (GaugeInfo gauge : emptygauges) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 addGauge(gauge);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69 }
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 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
73 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
74 addGauge(gauge);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
75 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77 empty.add(gauge);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
78 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
79 }
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 private void addGauge(GaugeInfo gauge) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82 this.addData(new GaugeRecord(gauge));
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
83 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84
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 class GaugeInfoHead extends HLayout {
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 public GaugeInfoHead(FLYS flys, GaugeInfo gauge) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 setStyleName("gaugeinfohead");
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 setAutoHeight();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91 setAutoWidth();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 NumberFormat nf = NumberFormat.getDecimalFormat();
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 Label label = new Label(gauge.getName());
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96 addMember(label);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
97
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
98 Double start;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
99 Double end;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
100
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
101 if (!gauge.isKmUp()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
102 start = gauge.getKmStart();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
103 end = gauge.getKmEnd();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
104 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
105 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
106 start = gauge.getKmEnd();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
107 end = gauge.getKmStart();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
108 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
110 String kmtext = "";
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
111 if (start != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
112 kmtext += nf.format(start);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
113 kmtext += " - ";
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
114 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
115 if (end != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
116 kmtext += nf.format(end);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
117 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
118 if (start != null || end != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
119 kmtext += " km";
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
120 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
121
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
122 label = new Label(kmtext);
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 addMember(label);
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 Double station = gauge.getStation();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
127 if (station != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
128 String stext = nf.format(station);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
129 stext += " km";
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
130 label = new Label(stext);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
131 addMember(label);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
132 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
133
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
134 Long number = gauge.getOfficialNumber();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
135 String url = number != null ?
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
136 MSG.gauge_url() + number :
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
137 MSG.gauge_url();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
138 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
139 addMember(anchor);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
140
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
141 addMember(new GaugeCurveAnchor(flys, gauge));
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 }
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 class GaugeCurveAnchor extends Anchor implements ClickHandler {
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 private FLYS flys;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
148 private GaugeInfo gauge;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
149
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
150 public GaugeCurveAnchor(FLYS flys, GaugeInfo gauge) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
151 super(MSG.gauge_curve_link());
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
152 this.flys = flys;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
153 this.gauge = gauge;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
154
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
155 addClickHandler(this);
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
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
158 @Override
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
159 public void onClick(ClickEvent ev) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
160 GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() +
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
161 " " + gauge.getOfficialNumber());
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
162 flys.newGaugeDischargeCurve(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 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
165 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
166
4957
5652aa0ad9e5 Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4956
diff changeset
167 class GaugeInfoPanel extends VLayout {
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
168
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
169 public GaugeInfoPanel(GaugeInfo gauge) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
170 setStyleName("gaugeinfopanel");
4957
5652aa0ad9e5 Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4956
diff changeset
171 setWidth100();
5652aa0ad9e5 Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4956
diff changeset
172
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
173 Grid grid = new Grid(4, 2);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
174
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
175 NumberFormat nf = NumberFormat.getDecimalFormat();
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 Double minw = gauge.getMinW();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
178 Double maxw = gauge.getMaxW();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
179 if (minw != null && maxw != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
180 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
181 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
182 " - " + nf.format(maxw));
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
183 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
184
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
185 Double minq = gauge.getMinQ();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
186 Double maxq = gauge.getMaxQ();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
187 if (minq != null && maxq != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
188 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
189 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
190 " - " + nf.format(maxq));
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
191 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
192
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
193 Double aeo = gauge.getAeo();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
194 if (aeo != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
195 grid.setText(2, 0, "AEO [km²]");
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
196 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
197 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
198
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
199 Double datum = gauge.getDatum();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
200 if (datum != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
201 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
202 gauge.getWstUnit() + "]");
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
203 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
204 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
205
4957
5652aa0ad9e5 Use VLayout instead of GWTs DecoratorPanel
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4956
diff changeset
206 addMember(grid);
4956
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
207 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
208 }
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 public void open() {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
211 ArrayList<Double> locations = new ArrayList<Double>();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
212
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
213 if (data != null && data.length > 0) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
214 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
215 DataList dl = data[i];
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
216 String state = dl.getState();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
217 GWT.log("GaugeListGrid - open " + state);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
218 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
219 Double ldfrom = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
220 Double ldto = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
221
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
222 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
223 Data d = dl.get(j);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
224 String label = d.getLabel();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
225 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
226 if (label.equals("ld_from")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
227 ldfrom = getDoubleValue(d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
228 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
229 else if (label.equals("ld_to")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
230 ldto = getDoubleValue(d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
231 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
232 else if (label.equals("ld_locations")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
233 getLocationsFromData(locations, d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
234 openOnLocations(locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
235 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
236 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
237 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
238 if (ldfrom != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
239 openOnDistance(ldfrom, ldto);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
240 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
241 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
242 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
243 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
244 state.equals("state.winfo.distance")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
245 Double ldfrom = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
246 Double ldto = null;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
247
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
248 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
249 Data d = dl.get(j);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
250 String label = d.getLabel();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
251 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
252 if (label.equals("ld_from")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
253 ldfrom = getDoubleValue(d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
254 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
255 else if (label.equals("ld_to")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
256 ldto = getDoubleValue(d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
257 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
258 }
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 if (ldfrom != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
261 openOnDistance(ldfrom, ldto);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
262 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
263 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
264 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
265 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
266 getLocations("ld_locations", locations, dl);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
267 openOnLocations(locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
268 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
269 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
270 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
271 getLocations("reference_startpoint", locations, dl);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
272 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
273 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
274 getLocations("reference_endpoint", locations, dl);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
275 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
276 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
277 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
278 Data d = dl.get(j);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
279 String label = d.getLabel();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
280 if (label.equals("reference_gauge")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
281 String tmp = d.getStringValue();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
282 if (tmp != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
283 Long gaugereference = Long.valueOf(tmp);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
284 if (gaugereference != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
285 openOnReference(gaugereference);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
286 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
287 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
288 }
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 if (!locations.isEmpty()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
295 openOnLocations(locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
296 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
297 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
298 openAll();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
299 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
300 }
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 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
303 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
304 Data d = dl.get(j);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
305 String label = d.getLabel();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
306 if (label.equals(labelname)) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
307 getLocationsFromData(locations, d);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
308 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
309 }
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 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
313 DataItem[] items = data.getItems();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
314 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
315 String tmp = items[k].getStringValue();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
316 GWT.log("GaugeListGrid - getLocationsFromData " + tmp);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
317 if (tmp != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
318 if (tmp.contains(" ")) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
319 // string contains several values ...
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
320 String[] values = tmp.split(" ");
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
321 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
322 Double value = Double.valueOf(values[i]);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
323 if (value != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
324 locations.add(value);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
325 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
326 }
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 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
329 Double value = Double.valueOf(tmp);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
330 if (value != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
331 locations.add(value);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
332 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
333 }
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 public void openOnReference(Long number) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
339 GWT.log("GaugeListGrid - openOnReference " + number);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
340 for (ListGridRecord record: this.getRecords()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
341 GaugeRecord item = (GaugeRecord)record;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
342 if (item.getOfficialNumber().equals(number)) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
343 expandRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
344 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
345 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
346 collapseRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
347 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
348 }
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 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
352 GWT.log("GaugeListGrid - openOnDistance " + start + " " + end);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
353
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
354 for (ListGridRecord record: this.getRecords()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
355 GaugeRecord item = (GaugeRecord)record;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
356 if (end == null && item.getKmStart() != null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
357 if (item.getKmStart() >= start) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
358 expandRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
359 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
360 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
361 collapseRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
362 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
363 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
364 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
365 // 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
366 // 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
367 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
368 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
369 (end >= item.getKmStart() && end <= item.getKmEnd()) ||
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
370 (start <= item.getKmStart() && end >= item.getKmEnd())) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
371 expandRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
372 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
373 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
374 collapseRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
375 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
376 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
377 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
378 collapseRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
379 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
380 }
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 * 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
385 */
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
386 public void openOnLocations(List<Double> locations) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
387 GWT.log("GaugeListGrid - openOnLocations " + locations);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
388
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
389 if (locations == null || locations.isEmpty()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
390 return;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
391 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
392
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
393 for (ListGridRecord record: this.getRecords()) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
394 GaugeRecord item = (GaugeRecord)record;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
395 boolean isset = false;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
396 for (Double location: locations) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
397 if (locations == null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
398 continue;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
399 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
400
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
401 Double start = item.getKmStart();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
402 Double end = item.getKmEnd();
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
403 if (start == null || end == null) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
404 // should not occur but avoid NullPointerException
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
405 continue;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
406 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
407
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
408 if (location >= start && location <= end) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
409 isset = true;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
410 break;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
411 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
412 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
413 if (isset) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
414 expandRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
415 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
416 else {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
417 collapseRecord(item);
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
418 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
419 }
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 @Override
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
423 protected Canvas getExpandPanel(ListGridRecord record) {
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
424 GaugeRecord item = (GaugeRecord)record;
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
425 return new WidgetCanvas(new GaugeInfoPanel(item));
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
426 }
f46a07c11324 Refactor Pegel- and Messtelleninfo in client ui
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
427 }

http://dive4elements.wald.intevation.org