annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoHead.java @ 4962:6f6461e07854

Move classes to its own java file
author Björn Ricks <bjoern.ricks@intevation.de>
date Mon, 04 Feb 2013 14:56:41 +0100
parents
children
rev   line source
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui.stationinfo;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
2
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
4 import com.google.gwt.event.dom.client.ClickEvent;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
5 import com.google.gwt.event.dom.client.ClickHandler;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
6 import com.google.gwt.i18n.client.NumberFormat;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
7 import com.google.gwt.user.client.ui.Anchor;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
8 import com.smartgwt.client.widgets.Label;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.layout.HLayout;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 import de.intevation.flys.client.client.FLYS;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
12 import de.intevation.flys.client.client.FLYSConstants;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.client.shared.model.GaugeInfo;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
14
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
15 public class GaugeInfoHead extends HLayout {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
16
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
17 /** The message class that provides i18n strings.*/
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
18 private FLYSConstants MSG = GWT.create(FLYSConstants.class);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
19
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
20 public GaugeInfoHead(FLYS flys, GaugeInfo gauge) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
21 setStyleName("gaugeinfohead");
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
22 setAutoHeight();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
23 setAutoWidth();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
24
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
25 NumberFormat nf = NumberFormat.getDecimalFormat();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
26
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
27 Label label = new Label(gauge.getName());
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
28 addMember(label);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
29
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
30 Double start;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
31 Double end;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
32
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
33 if (!gauge.isKmUp()) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34 start = gauge.getKmStart();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 end = gauge.getKmEnd();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37 else {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38 start = gauge.getKmEnd();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
39 end = gauge.getKmStart();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
40 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
41
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
42 String kmtext = "";
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43 if (start != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 kmtext += nf.format(start);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45 kmtext += " - ";
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 if (end != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48 kmtext += nf.format(end);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50 if (start != null || end != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51 kmtext += " km";
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
52 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
53
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 label = new Label(kmtext);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 addMember(label);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 Double station = gauge.getStation();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59 if (station != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60 String stext = nf.format(station);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 stext += " km";
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62 label = new Label(stext);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
63 addMember(label);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66 Long number = gauge.getOfficialNumber();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 String url = number != null ?
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68 MSG.gauge_url() + number :
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69 MSG.gauge_url();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70 Anchor anchor = new Anchor(MSG.gauge_info_link(), url, "_blank");
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
71 addMember(anchor);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
72
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
73 addMember(new GaugeCurveAnchor(flys, gauge));
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
74 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
75
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 class GaugeCurveAnchor extends Anchor implements ClickHandler {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
78 private FLYS flys;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
79 private GaugeInfo gauge;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
80
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81 public GaugeCurveAnchor(FLYS flys, GaugeInfo gauge) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82 super(MSG.gauge_curve_link());
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
83 this.flys = flys;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 this.gauge = gauge;
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
86 addClickHandler(this);
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
87 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 @Override
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 public void onClick(ClickEvent ev) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91 GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() +
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92 " " + gauge.getOfficialNumber());
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 flys.newGaugeDischargeCurve(gauge.getRiverName(),
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94 gauge.getOfficialNumber());
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
97
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
98 }

http://dive4elements.wald.intevation.org