Mercurial > dive4elements > river
annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java @ 3847:f3b821735e39
Calculate the info url via i18n
Don't fetch the info url from the artifact service and use i18n to calculate the
url by using the official gauge and river number.
flys-client/trunk@5582 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Bjoern Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Mon, 24 Sep 2012 08:39:22 +0000 |
parents | 44c1beb78ad1 |
children | 436eec3be6ff |
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 |
3847
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
189 Long number = riverinfo.getOfficialNumber(); |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
190 String url = number != null ? |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
191 MSG.gauge_river_url() + number : |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
192 MSG.gauge_river_url(); |
f3b821735e39
Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3842
diff
changeset
|
193 Anchor anchor = new Anchor(MSG.gauge_river_info_link(), url); |
3839
509ef6ec93af
Add html links for the additinal river and gauge info pages
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3837
diff
changeset
|
194 add(anchor); |
3825
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
195 } |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
196 |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
197 private void addLabel(String text, boolean wordwrap) { |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
198 Label label = new Label(text, wordwrap); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
199 add(label); |
e91c5112d67c
Implement a scrolling gauge info tree
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
3716
diff
changeset
|
200 setCellHeight(label, "" + HEIGHT + "px"); |
3715
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
201 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
202 } |
8d3e48f189d2
Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff
changeset
|
203 } |