Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java @ 3842:44c1beb78ad1
Move GaugeTree to its own java file
flys-client/trunk@5557 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 21 Sep 2012 13:44:56 +0000 |
parents | 5877d6900e34 |
children | f3b821735e39 |
rev | line source |
---|---|
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.client.client.ui; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
2 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
3 import com.google.gwt.core.client.GWT; |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
4 import com.google.gwt.i18n.client.NumberFormat; |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
5 import com.google.gwt.user.client.rpc.AsyncCallback; |
3839
509ef6ec93af
Add html links for the additinal river and gauge info pages
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3837
diff
changeset
|
6 import com.google.gwt.user.client.ui.Anchor; |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
7 import com.google.gwt.user.client.ui.HorizontalPanel; |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
8 import com.google.gwt.user.client.ui.Label; |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
9 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
10 import com.smartgwt.client.types.Overflow; |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
11 import com.smartgwt.client.widgets.events.ResizedEvent; |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
12 import com.smartgwt.client.widgets.events.ResizedHandler; |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
13 import com.smartgwt.client.widgets.layout.SectionStackSection; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
14 import com.smartgwt.client.widgets.layout.VLayout; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
15 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
16 import de.intevation.flys.client.client.FLYSConstants; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
17 import de.intevation.flys.client.client.services.GaugeOverviewInfoService; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
18 import de.intevation.flys.client.client.services.GaugeOverviewInfoServiceAsync; |
3837
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
19 import de.intevation.flys.client.shared.model.DataList; |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
20 import de.intevation.flys.client.shared.model.RiverInfo; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
21 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
22 /** |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
23 * The GaugePanel is intendet to be used within a SectionStackSection |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
24 * It extends the VLayout by two methods to show and hide the |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
25 * section stack section. |
3842
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3841
diff
changeset
|
26 * |
44c1beb78ad1
Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3841
diff
changeset
|
27 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
28 */ |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
29 public class GaugePanel extends VLayout implements ResizedHandler { |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
30 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
31 /** SectionStackSection where this GaugePanel belongs in*/ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
32 private SectionStackSection sectionStack; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
33 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
34 /** Name of the river */ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
35 private String river; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
36 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
37 /** The message class that provides i18n strings.*/ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
38 protected FLYSConstants MSG = GWT.create(FLYSConstants.class); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
39 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
40 protected GaugeOverviewInfoServiceAsync gaugeOverviewInfoService = |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
41 GWT.create(GaugeOverviewInfoService.class); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
42 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
43 protected GaugeTree gaugetree = new GaugeTree(); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
44 |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
45 protected RiverInfoPanel riverinfopanel; |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
46 |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
47 /** |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
48 * Creates a new VLayout with a SectionStackSection |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
49 * The GaugePanel's SectionStackSection is hidden by default. |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
50 * @param sectionStack The section stack section to place the VLayout in. |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
51 */ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
52 public GaugePanel(SectionStackSection sectionStack) { |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
53 setOverflow(Overflow.HIDDEN); |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
54 sectionStack.setHidden(true); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
55 sectionStack.setItems(this); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
56 this.sectionStack = sectionStack; |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
57 setStyleName("gaugepanel"); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
58 addResizedHandler(this); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
59 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
60 |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
61 /** |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
62 * Sets and loads the river data if river is not the current set river |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
63 */ |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
64 public void setRiver(String river) { |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
65 if (!river.equals(this.river)) { |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
66 this.river = river; |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
67 this.refresh(); |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
68 } |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
69 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
70 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
71 /** |
3837
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
72 * Sets the data and closes not corresponding folds in the gauge tree |
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
73 */ |
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
74 public void setData(DataList[] data) { |
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
75 gaugetree.setData(data); |
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
76 } |
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
77 |
6b2ae2ec5b01
Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3834
diff
changeset
|
78 /** |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
79 * Loads the river info and renders it afterwards |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
80 */ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
81 public void refresh() { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
82 gaugeOverviewInfoService.getRiverInfo(this.river, new AsyncCallback<RiverInfo>() { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
83 public void onFailure(Throwable e) { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
84 GWT.log("Could not load the river info." + e); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
85 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
86 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
87 public void onSuccess(RiverInfo riverinfo) { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
88 GWT.log("Loaded river info"); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
89 renderGaugeOverviewInfo(riverinfo); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
90 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
91 }); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
92 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
93 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
94 public void renderGaugeOverviewInfo(RiverInfo riverinfo) { |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
95 removeMembers(getMembers()); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
96 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
97 riverinfopanel = new RiverInfoPanel(riverinfo); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
98 addMember(riverinfopanel); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
99 addMember(gaugetree); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
100 |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
101 gaugetree.setGauges(riverinfo); |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
102 } |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
103 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
104 @Override |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
105 public void onResized(ResizedEvent event) { |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
106 /* this height calculation is only an approximation and doesn't reflect |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
107 * the real height of the the gaugetree. */ |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
108 int height = getInnerContentHeight() - |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
109 (RiverInfoPanel.HEIGHT + |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
110 (2 * RiverInfoPanel.BORDER_WIDTH) + |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
111 (2 * RiverInfoPanel.PADDING) + |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
112 (2 * RiverInfoPanel.MARGIN)); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
113 |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
114 if (height < 0) { |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
115 height = 0; |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
116 } |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
117 |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
118 gaugetree.setHeight("" + height + "px"); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
119 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
120 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
121 |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
122 /** |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
123 * Hide the section stack section. |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
124 */ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
125 public void hide() { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
126 GWT.log("GaugePanel - hide"); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
127 this.sectionStack.setHidden(true); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
128 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
129 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
130 /** |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
131 * Show the section stack section. |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
132 */ |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
133 public void show() { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
134 GWT.log("GaugePanel - show"); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
135 this.sectionStack.setHidden(false); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
136 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
137 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
138 class RiverInfoPanel extends HorizontalPanel { |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
139 |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
140 public final static int HEIGHT = 30; |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
141 public final static int BORDER_WIDTH = 3; |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
142 public final static int PADDING = 8; |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
143 public final static int MARGIN = 10; |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
144 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
145 public RiverInfoPanel(RiverInfo riverinfo) { |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
146 setStyleName("riverinfopanel"); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
147 setHeight("" + HEIGHT + "px"); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
148 setVerticalAlignment(ALIGN_MIDDLE); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
149 |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
150 NumberFormat nf = NumberFormat.getDecimalFormat(); |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
151 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
152 addLabel(riverinfo.getName(), false); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
153 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
154 String kmtext = ""; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
155 Double start = riverinfo.getKmStart(); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
156 Double end = riverinfo.getKmEnd(); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
157 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
158 if (!riverinfo.isKmUp()) { |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
159 Double tmp = end; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
160 end = start; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
161 start = tmp; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
162 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
163 if (end != null) { |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
164 kmtext += nf.format(end); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
165 kmtext += " - "; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
166 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
167 if (start != null) { |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
168 kmtext += nf.format(start); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
169 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
170 kmtext += " km"; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
171 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
172 addLabel(kmtext, false); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
173 |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
174 String qtext = ""; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
175 Double qmin = riverinfo.getMinQ(); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
176 Double qmax = riverinfo.getMaxQ(); |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
177 if (qmin != null) { |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
178 qtext += nf.format(qmin); |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
179 qtext += " " + MSG.gauge_q_unit(); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
180 qtext += " - "; |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
181 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
182 if (qmax != null) { |
3828
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
183 qtext += nf.format(qmax); |
9cbc8311e820
Improve the GaugePanel
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3825
diff
changeset
|
184 qtext += " " + MSG.gauge_q_unit(); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
185 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
186 |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
187 addLabel(qtext, false); |
3839
509ef6ec93af
Add html links for the additinal river and gauge info pages
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3837
diff
changeset
|
188 |
509ef6ec93af
Add html links for the additinal river and gauge info pages
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3837
diff
changeset
|
189 Anchor anchor = new Anchor(MSG.gauge_river_info_link(), riverinfo.getInfoURL()); |
509ef6ec93af
Add html links for the additinal river and gauge info pages
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3837
diff
changeset
|
190 add(anchor); |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
191 } |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
192 |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
193 private void addLabel(String text, boolean wordwrap) { |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
194 Label label = new Label(text, wordwrap); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
195 add(label); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
196 setCellHeight(label, "" + HEIGHT + "px"); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
197 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
198 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
199 } |