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 }

http://dive4elements.wald.intevation.org