annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java @ 3974:22cd60315e08

dummy merge for repo head
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:15:45 +0200
parents 436eec3be6ff e82acd5c86f7
children 360e22afb98b
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;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
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;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
7 import com.google.gwt.user.client.ui.HorizontalPanel;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
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;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
11 import com.smartgwt.client.widgets.events.ResizedEvent;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
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
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
16 import de.intevation.flys.client.client.FLYS;
3715
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.FLYSConstants;
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.GaugeOverviewInfoService;
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
19 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
20 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
21 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
22
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
23 /**
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
24 * 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
25 * 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
26 * section stack section.
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3841
diff changeset
27 *
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3841
diff changeset
28 * @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
29 */
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
30 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
31
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
32 /** 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
33 private SectionStackSection sectionStack;
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 /** Name of the river */
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 private String river;
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38 /** 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
39 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
40
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
41 private FLYS flys;
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
42
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43 protected GaugeOverviewInfoServiceAsync gaugeOverviewInfoService =
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 GWT.create(GaugeOverviewInfoService.class);
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
46 protected GaugeTree gaugetree;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
47
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
48 protected RiverInfoPanel riverinfopanel;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
49
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50 /**
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51 * 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
52 * The GaugePanel's SectionStackSection is hidden by default.
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
53 *
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
54 * @param flys The FLYS object
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55 * @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
56 */
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
57 public GaugePanel(FLYS flys, SectionStackSection sectionStack) {
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
58 gaugetree = new GaugeTree(flys);
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
59 setOverflow(Overflow.HIDDEN);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
60 sectionStack.setHidden(true);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 sectionStack.setItems(this);
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62 this.sectionStack = sectionStack;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
63 setStyleName("gaugepanel");
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
64 addResizedHandler(this);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
67 /**
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
68 * Sets and loads the river data if river is not the current set river
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
69 */
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70 public void setRiver(String river) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
71 if (!river.equals(this.river)) {
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
72 this.river = river;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
73 this.refresh();
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
74 }
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
75 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77 /**
3837
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
78 * 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
79 */
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
80 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
81 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
82 }
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
83
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
84 /**
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85 * 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
86 */
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
87 public void refresh() {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88 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
89 public void onFailure(Throwable e) {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 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
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 public void onSuccess(RiverInfo riverinfo) {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94 GWT.log("Loaded river info");
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 renderGaugeOverviewInfo(riverinfo);
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
97 });
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
98 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
99
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
100 public void renderGaugeOverviewInfo(RiverInfo riverinfo) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
101 removeMembers(getMembers());
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
102
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
103 riverinfopanel = new RiverInfoPanel(riverinfo);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
104 addMember(riverinfopanel);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
105 addMember(gaugetree);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
106
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
107 gaugetree.setGauges(riverinfo);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
108 }
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
110 @Override
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
111 public void onResized(ResizedEvent event) {
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
112 /* this height calculation is only an approximation and doesn't reflect
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
113 * the real height of the the gaugetree. */
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
114 int height = getInnerContentHeight() -
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
115 (RiverInfoPanel.HEIGHT +
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
116 (2 * RiverInfoPanel.BORDER_WIDTH) +
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
117 (2 * RiverInfoPanel.PADDING) +
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
118 (2 * RiverInfoPanel.MARGIN));
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
119
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
120 if (height < 0) {
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
121 height = 0;
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
122 }
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
123
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
124 gaugetree.setHeight("" + height + "px");
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
125 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
126
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
127
3715
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 * Hide the section stack section.
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 public void hide() {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
132 GWT.log("GaugePanel - hide");
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
133 this.sectionStack.setHidden(true);
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
134 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
135
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 * Show the section stack section.
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
138 */
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
139 public void show() {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
140 GWT.log("GaugePanel - show");
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
141 this.sectionStack.setHidden(false);
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
142 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
143
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
144 class RiverInfoPanel extends HorizontalPanel {
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
145
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
146 public final static int HEIGHT = 30;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
147 public final static int BORDER_WIDTH = 3;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
148 public final static int PADDING = 8;
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
149 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
150
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
151 public RiverInfoPanel(RiverInfo riverinfo) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
152 setStyleName("riverinfopanel");
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
153 setHeight("" + HEIGHT + "px");
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
154 setVerticalAlignment(ALIGN_MIDDLE);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
155
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
156 NumberFormat nf = NumberFormat.getDecimalFormat();
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
157
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
158 addLabel(riverinfo.getName(), false);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
159
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
160 String kmtext = "";
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
161 Double start = riverinfo.getKmStart();
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
162 Double end = riverinfo.getKmEnd();
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
163
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
164 if (!riverinfo.isKmUp()) {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
165 Double tmp = end;
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
166 end = start;
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
167 start = tmp;
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
168 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
169 if (end != null) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
170 kmtext += nf.format(end);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
171 kmtext += " - ";
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
172 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
173 if (start != null) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
174 kmtext += nf.format(start);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
175 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
176 kmtext += " km";
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
177
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
178 addLabel(kmtext, false);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
179
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
180 String qtext = "";
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
181 Double qmin = riverinfo.getMinQ();
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
182 Double qmax = riverinfo.getMaxQ();
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
183 if (qmin != null) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
184 qtext += nf.format(qmin);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
185 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
186 qtext += " - ";
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
187 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
188 if (qmax != null) {
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
189 qtext += nf.format(qmax);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
190 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
191 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
192
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
193 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
194
3847
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
195 Long number = riverinfo.getOfficialNumber();
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
196 String url = number != null ?
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
197 MSG.gauge_river_url() + number :
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
198 MSG.gauge_river_url();
f3b821735e39 Calculate the info url via i18n
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3842
diff changeset
199 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
200 add(anchor);
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
201 }
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
202
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
203 private void addLabel(String text, boolean wordwrap) {
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
204 Label label = new Label(text, wordwrap);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
205 add(label);
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
206 setCellHeight(label, "" + HEIGHT + "px");
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
207 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
208 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
209 }

http://dive4elements.wald.intevation.org