Mercurial > dive4elements > river
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 } |