annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java @ 4253:a1bc5b8cff0f

Refactor GaugePanel to create it's own SectionStackSection The GaugePanel constructor now creates a SectionStackSection instead of using a provided one. Improve the rendering of the GaugePanel by having access to the SmartGWT wrapper (WidgetCanvas) object for the GWT Tree (GaugeTree) directly. Add methods to close and open the section. Also add a getter for the section.
author Björn Ricks <bjoern.ricks@intevation.de>
date Thu, 25 Oct 2012 13:52:58 +0200
parents e68a710d9652
children f75968f0ce80
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;
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
11 import com.smartgwt.client.widgets.Canvas;
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
12 import com.smartgwt.client.widgets.WidgetCanvas;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
13 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
14 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
15 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
16 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
17
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
18 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
19 import de.intevation.flys.client.client.FLYSConstants;
4243
e68a710d9652 Convert GaugeOverviewInfoService into RiverInfoService
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4229
diff changeset
20 import de.intevation.flys.client.client.services.RiverInfoService;
e68a710d9652 Convert GaugeOverviewInfoService into RiverInfoService
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4229
diff changeset
21 import de.intevation.flys.client.client.services.RiverInfoServiceAsync;
3837
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
22 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
23 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
24
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
25 /**
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3974
diff changeset
26 * The GaugePanel is intended to be used within a SectionStackSection
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
27 * 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
28 * section stack section.
3842
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3841
diff changeset
29 *
44c1beb78ad1 Move GaugeTree to its own java file
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3841
diff changeset
30 * @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
31 */
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
32 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
33
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34 /** SectionStackSection where this GaugePanel belongs in*/
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
35 private SectionStackSection section;
3715
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 /** Name of the river */
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38 private String river;
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 /** 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
41 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
42
4243
e68a710d9652 Convert GaugeOverviewInfoService into RiverInfoService
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4229
diff changeset
43 protected RiverInfoServiceAsync riverInfoService =
e68a710d9652 Convert GaugeOverviewInfoService into RiverInfoService
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4229
diff changeset
44 GWT.create(RiverInfoService.class);
3715
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;
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
47 protected Canvas gaugetreecanvas;
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
48
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
49 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
50
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
51 public final static String SECTION_ID = "GaugePanelSection";
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
52 private final static String GAUGE_TREE_CANVAS_ID =
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
53 "GaugeTreeCanvas";
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
54
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55 /**
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 * 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
57 * 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
58 *
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
59 * @param flys The FLYS object
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
60 * @param section The section stack section to place the VLayout in.
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 */
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
62 public GaugePanel(FLYS flys) {
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
63 SectionStackSection section = new SectionStackSection();
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
64 section.setExpanded(false);
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
65 section.setTitle(MSG.gaugePanelTitle());
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
66 section.setName(SECTION_ID);
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
67 section.setID(SECTION_ID);
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
68
3865
436eec3be6ff Allow to create a discharge curve from a gauge info
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3847
diff changeset
69 gaugetree = new GaugeTree(flys);
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
70 gaugetreecanvas = new WidgetCanvas(gaugetree);
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
71 gaugetreecanvas.setID(GAUGE_TREE_CANVAS_ID);
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
72
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
73 setOverflow(Overflow.HIDDEN);
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
74 setStyleName("gaugepanel");
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
75
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
76 section.setHidden(true);
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
77 section.setItems(this);
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
78 this.section = section;
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
79
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
80 addResizedHandler(this);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
83 /**
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
84 * 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
85 */
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
86 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
87 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
88 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
89 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
90 }
3715
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 /**
3837
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
94 * 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
95 */
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
96 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
97 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
98 }
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
99
6b2ae2ec5b01 Open and close gauge tree folds that correspond to the selected WINFO
Bjoern Ricks <bjoern.ricks@intevation.de>
parents: 3834
diff changeset
100 /**
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
101 * 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
102 */
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
103 public void refresh() {
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
104 contract();
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
105
4243
e68a710d9652 Convert GaugeOverviewInfoService into RiverInfoService
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4229
diff changeset
106 riverInfoService.getGauges(this.river, new AsyncCallback<RiverInfo>() {
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3974
diff changeset
107 @Override
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
108 public void onFailure(Throwable e) {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109 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
110 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
111
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3974
diff changeset
112 @Override
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
113 public void onSuccess(RiverInfo riverinfo) {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
114 GWT.log("Loaded river info");
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
115 renderGaugeOverviewInfo(riverinfo);
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
116 expand();
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
117 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
118 });
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
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
121 public void renderGaugeOverviewInfo(RiverInfo riverinfo) {
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
122 gaugetree.setGauges(riverinfo);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
123
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
124 if (riverinfopanel == null) {
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
125 removeAllMembers();
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
126
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
127 riverinfopanel = new RiverInfoPanel(riverinfo);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
128
4204
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
129 addMember(riverinfopanel);
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
130 addMember(gaugetreecanvas);
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
131 }
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
132 else {
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
133 riverinfopanel.setRiverInfo(riverinfo);
9f9843491ac4 Only create the GaugeTree and RiverInfoPanel once
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4203
diff changeset
134 }
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
135 }
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
136
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
137 @Override
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
138 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
139 /* 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
140 * 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
141 int height = getInnerContentHeight() -
4203
de795c13dcfb Use static method from RiverInfoPanel to calculate the static width
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4202
diff changeset
142 RiverInfoPanel.getStaticHeight();
4205
0dd8963cec9c Set also the width of the GaugeTree when resizing the GaugePanel
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4204
diff changeset
143 int width = getInnerContentWidth();
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
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
145 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
146 height = 0;
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
147 }
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
148
4203
de795c13dcfb Use static method from RiverInfoPanel to calculate the static width
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4202
diff changeset
149 GWT.log("GaugePanel - onResize " + height);
de795c13dcfb Use static method from RiverInfoPanel to calculate the static width
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4202
diff changeset
150
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
151 gaugetree.setHeight("" + height + "px");
4205
0dd8963cec9c Set also the width of the GaugeTree when resizing the GaugePanel
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4204
diff changeset
152 gaugetree.setWidth("" + width + "px");
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
3719
e82acd5c86f7 Merged revisions 5495-5496,5509,5514-5515,5521-5526 via svnmerge from
Ingo Weinzierl <ingo.weinzierl@intevation.de>
parents: 3716
diff changeset
155
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
156 /**
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
157 * Hide the section stack section.
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
158 */
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3974
diff changeset
159 @Override
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
160 public void hide() {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
161 GWT.log("GaugePanel - hide");
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
162 this.section.setHidden(true);
3715
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
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
165 /**
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
166 * Show the section stack section.
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
167 */
4131
360e22afb98b Cosmetics, warnings and minor TODOs.
Christian Lins <christian.lins@intevation.de>
parents: 3974
diff changeset
168 @Override
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
169 public void show() {
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
170 GWT.log("GaugePanel - show");
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
171 this.section.setHidden(false);
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
172 }
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
173
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
174 @Override
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
175 public void addMember(Canvas component) {
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
176 super.addMember(component);
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
177 expand();
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
178 }
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
179
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
180 @Override
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
181 public void removeMembers(Canvas[] components) {
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
182 super.removeMembers(components);
4253
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
183 contract();
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
184 }
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
185
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
186 public SectionStackSection getSection() {
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
187 return this.section;
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
188 }
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
189
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
190 private void removeAllMembers() {
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
191 removeMembers(getMembers());
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
192 }
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
193
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
194 /**
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
195 * Expands the gauge section
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
196 */
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
197 public void expand() {
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
198 section.setExpanded(true);
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
199 }
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
200
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
201 /**
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
202 * Contracts/shrinks the expanded gauge section
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
203 */
a1bc5b8cff0f Refactor GaugePanel to create it's own SectionStackSection
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4243
diff changeset
204 public void contract() {
4229
207de712d79d Move addMember and removeMember methods in GaugePanel class
Björn Ricks <bjoern.ricks@intevation.de>
parents: 4205
diff changeset
205 section.setExpanded(false);
3715
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
206 }
8d3e48f189d2 Add first draft for the gauge overview info ui
Bjoern Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
207 }

http://dive4elements.wald.intevation.org