annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoPanel.java @ 4988:e2053fbcd165

GaugeInfoPanel: Smarter formatten link, i18n.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 14 Feb 2013 10:50:08 +0100
parents 0e6e44e6725f
children 5ae8b8b46323
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;
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
4 import com.google.gwt.event.dom.client.ClickEvent;
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
5 import com.google.gwt.event.dom.client.ClickHandler;
4962
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;
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
7 import com.google.gwt.user.client.ui.Anchor;
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
8 import com.google.gwt.user.client.ui.Grid;
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.VLayout;
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
10 import com.smartgwt.client.widgets.Label;
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
12 import de.intevation.flys.client.client.FLYS;
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13 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
14 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
15
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
16 public class GaugeInfoPanel extends VLayout {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
17
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
18 /** 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
19 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
20
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
21 /** Application instance. */
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
22 private FLYS flys;
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
23
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
24 public GaugeInfoPanel(GaugeInfo gauge, FLYS flys) {
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
25 this.flys = flys;
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
26 setStyleName("gaugeinfopanel");
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
27 setWidth100();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
28
4988
e2053fbcd165 GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4981
diff changeset
29 Grid grid = new Grid(5, 2);
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
30
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
31 NumberFormat nf = NumberFormat.getDecimalFormat();
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 Double minw = gauge.getMinW();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34 Double maxw = gauge.getMaxW();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 if (minw != null && maxw != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 grid.setText(0, 0, MSG.wq_value_q());
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37 grid.setText(0, 1, nf.format(minw) +
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38 " - " + nf.format(maxw));
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
39 }
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 Double minq = gauge.getMinQ();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
42 Double maxq = gauge.getMaxQ();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43 if (minq != null && maxq != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 grid.setText(1, 0, MSG.wq_value_w());
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45 grid.setText(1, 1, nf.format(minq) +
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 " - " + nf.format(maxq));
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49 Double aeo = gauge.getAeo();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50 if (aeo != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51 grid.setText(2, 0, "AEO [kmĀ²]");
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
52 grid.setText(2, 1, nf.format(aeo));
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
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55 Double datum = gauge.getDatum();
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 if (datum != null) {
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57 grid.setText(3, 0, MSG.gauge_zero() + " [" +
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 gauge.getWstUnit() + "]");
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59 grid.setText(3, 1, nf.format(datum));
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61
4988
e2053fbcd165 GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4981
diff changeset
62 grid.setWidget(4,0, new GaugeMainValueAnchor(flys, gauge));
e2053fbcd165 GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4981
diff changeset
63
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 addMember(grid);
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
65 }
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
66
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
67
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
68 /**
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
69 * Clickable anchor that asks application to show window with
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
70 * main values for gauge.
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
71 */
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
72 class GaugeMainValueAnchor extends Anchor implements ClickHandler {
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
73
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
74 private FLYS flys;
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
75 private GaugeInfo gauge;
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
76
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
77 public GaugeMainValueAnchor(FLYS flys, GaugeInfo gauge) {
4988
e2053fbcd165 GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4981
diff changeset
78 super(MSG.show_mainvalues());
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
79 this.flys = flys;
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
80 this.gauge = gauge;
4988
e2053fbcd165 GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4981
diff changeset
81 this.setHeight("5");
4981
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
82
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
83 addClickHandler(this);
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
84 }
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
85
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
86 @Override
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
87 public void onClick(ClickEvent ev) {
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
88 GWT.log("GaugeMainValueAnchor - onClick " + gauge.getRiverName() +
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
89 " " + gauge.getOfficialNumber());
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
90 flys.newGaugeMainValueTable(gauge);
0e6e44e6725f flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents: 4962
diff changeset
91 }
4962
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92 }
6f6461e07854 Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 }

http://dive4elements.wald.intevation.org