Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoPanel.java @ 5462:f2371f3aaf03
Show top level folder icons only if node has no factory
If you have an empty folder the folder icon is still shown.
This makes it possible to add functional "Top Level" entries
in the Datacage
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 26 Mar 2013 18:29:13 +0100 |
parents | 5ae8b8b46323 |
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; |
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; |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
8 import com.smartgwt.client.widgets.layout.HLayout; |
4962
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 |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 NumberFormat nf = NumberFormat.getDecimalFormat(); |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
29 |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
30 VLayout grid = new VLayout(); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
31 HLayout line1 = new HLayout(); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
32 |
4962
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) { |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
36 Label key = new Label(MSG.wq_value_q()); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
37 Label value = new Label(nf.format(minw) + |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
38 " - " + nf.format(maxw)); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
39 key.setWidth(150); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
40 line1.addMember(key); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
41 line1.addMember(value); |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 } |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
43 |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
44 HLayout line2 = new HLayout(); |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
45 Double minq = gauge.getMinQ(); |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
46 Double maxq = gauge.getMaxQ(); |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 if (minq != null && maxq != null) { |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
48 Label key = new Label(MSG.wq_value_w()); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
49 Label value = new Label( nf.format(minq) + |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 " - " + nf.format(maxq)); |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
51 key.setWidth(150); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
52 line2.addMember(key); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
53 line2.addMember(value); |
4962
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 |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
56 HLayout line3 = new HLayout(); |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
57 Double aeo = gauge.getAeo(); |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
58 if (aeo != null) { |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
59 Label key = new Label("AEO [km²]"); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
60 Label value = new Label(nf.format(aeo)); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
61 key.setWidth(150); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
62 line3.addMember(key); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
63 line3.addMember(value); |
4962
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 |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
66 HLayout line4 = new HLayout(); |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
67 Double datum = gauge.getDatum(); |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
68 if (datum != null) { |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
69 Label key = new Label(MSG.gauge_zero() + " [" + |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 gauge.getWstUnit() + "]"); |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
71 Label value = new Label(nf.format(datum)); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
72 key.setWidth(150); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
73 line4.addMember(key); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
74 line4.addMember(value); |
4962
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 |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
77 HLayout line5 = new HLayout(); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
78 line5.addMember(new GaugeMainValueAnchor(flys, gauge)); |
4988
e2053fbcd165
GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4981
diff
changeset
|
79 |
5030
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
80 grid.addMember(line1); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
81 grid.addMember(line2); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
82 grid.addMember(line3); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
83 grid.addMember(line4); |
5ae8b8b46323
Removed last gwt part from gauge info panel.
Raimund Renkert <rrenkert@intevation.de>
parents:
4988
diff
changeset
|
84 grid.addMember(line5); |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 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
|
86 } |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
87 |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
88 |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
89 /** |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
90 * 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
|
91 * 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
|
92 */ |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
93 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
|
94 |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
95 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
|
96 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
|
97 |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
98 public GaugeMainValueAnchor(FLYS flys, GaugeInfo gauge) { |
4988
e2053fbcd165
GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4981
diff
changeset
|
99 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
|
100 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
|
101 this.gauge = gauge; |
4988
e2053fbcd165
GaugeInfoPanel: Smarter formatten link, i18n.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4981
diff
changeset
|
102 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
|
103 |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
104 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
|
105 } |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
106 |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
107 @Override |
0e6e44e6725f
flys-client: (first draft) In GaugeInfo show link to show main values.
Felix Wolfsteller <felix.wolfsteller@intevation.de>
parents:
4962
diff
changeset
|
108 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
|
109 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
|
110 " " + 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
|
111 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
|
112 } |
4962
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
113 } |
6f6461e07854
Move classes to its own java file
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
114 } |