Mercurial > dive4elements > river
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 } |