annotate flys-client/src/main/java/de/intevation/flys/client/client/ui/InfoPanel.java @ 4268:f75968f0ce80

Refactor GaugePanel and GaugeInfo to extract a base class Extract a base class from GaugePanel and GaugeInfo to reuse code for displaying the measurement station information.
author Björn Ricks <bjoern.ricks@intevation.de>
date Fri, 26 Oct 2012 12:19:54 +0200
parents
children
rev   line source
4268
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
1 package de.intevation.flys.client.client.ui;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
2
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
3 import com.google.gwt.core.client.GWT;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
4
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
5 import com.smartgwt.client.types.Overflow;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
6 import com.smartgwt.client.widgets.Canvas;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
7 import com.smartgwt.client.widgets.events.ResizedEvent;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
8 import com.smartgwt.client.widgets.events.ResizedHandler;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
9 import com.smartgwt.client.widgets.layout.SectionStackSection;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
10 import com.smartgwt.client.widgets.layout.VLayout;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
11 import com.smartgwt.client.widgets.WidgetCanvas;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
12
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
13 import de.intevation.flys.client.client.FLYSConstants;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
14 import de.intevation.flys.client.client.services.RiverInfoService;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
15 import de.intevation.flys.client.client.services.RiverInfoServiceAsync;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
16 import de.intevation.flys.client.shared.model.DataList;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
17 import de.intevation.flys.client.shared.model.RiverInfo;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
18
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
19 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
20 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
21 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
22 public abstract class InfoPanel extends VLayout implements ResizedHandler {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
23
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
24 /** SectionStackSection where this InfoPanel belongs in*/
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
25 protected SectionStackSection section;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
26
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
27 /** Name of the river */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
28 protected String river;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
29
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
30 /** The message class that provides i18n strings.*/
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
31 protected FLYSConstants MSG = GWT.create(FLYSConstants.class);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
32
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
33 protected RiverInfoServiceAsync riverInfoService = GWT.create(RiverInfoService.class);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
34
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
35 /** Panel to show the info about the river */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
36 protected RiverInfoPanel riverinfopanel;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
37 protected InfoTree tree;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
38
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
39 /** Wrapper arround the GWT Tree (InfoTree) object */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
40 protected Canvas treecanvas;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
41
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
42 protected final static String SECTION_ID = "InfoPanelSection";
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
43
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
44 public InfoPanel(InfoTree tree) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
45 SectionStackSection section = new SectionStackSection();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
46 section.setExpanded(false);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
47 section.setTitle(getSectionTitle());
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
48 section.setName(SECTION_ID);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
49 section.setID(SECTION_ID);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
50
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
51 treecanvas = new WidgetCanvas(tree);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
52
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
53 setOverflow(Overflow.HIDDEN);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
54 setStyleName("infopanel");
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
55
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
56 section.setHidden(true);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
57 section.setItems(this);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
58 this.section = section;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
59 this.tree = tree;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
60
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
61 addResizedHandler(this);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
62 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
63
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
64 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
65 * Sets and loads the river data if river is not the current set river
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
66 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
67 public void setRiver(String river) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
68 if (!river.equals(this.river)) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
69 this.river = river;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
70 this.refresh();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
71 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
72 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
73
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
74 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
75 * Sets the data and closes not corresponding folds in the gauge tree
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
76 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
77 public void setData(DataList[] data) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
78 tree.setData(data);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
79 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
80
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
81 protected void render(RiverInfo riverinfo) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
82 tree.setRiverInfo(riverinfo);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
83
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
84 if (riverinfopanel == null) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
85 removeAllMembers();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
86
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
87 riverinfopanel = new RiverInfoPanel(riverinfo);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
88
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
89 addMember(riverinfopanel);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
90 addMember(treecanvas);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
91 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
92 else {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
93 riverinfopanel.setRiverInfo(riverinfo);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
94 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
95 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
96
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
97 @Override
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
98 public void onResized(ResizedEvent event) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
99 /* this height calculation is only an approximation and doesn't reflect
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
100 * the real height of the the gaugetree. */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
101 int height = getInnerContentHeight() -
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
102 RiverInfoPanel.getStaticHeight();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
103 int width = getInnerContentWidth();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
104
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
105 if (height < 0) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
106 height = 0;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
107 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
108
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
109 GWT.log("InfoPanel - onResize " + height);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
110
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
111 tree.setHeight("" + height + "px");
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
112 tree.setWidth("" + width + "px");
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
113 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
114
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
115 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
116 * Hide the section stack section.
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
117 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
118 @Override
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
119 public void hide() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
120 GWT.log("InfoPanel - hide");
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
121 this.section.setHidden(true);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
122 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
123
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
124 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
125 * Show the section stack section.
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
126 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
127 @Override
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
128 public void show() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
129 GWT.log("InfoPanel - show");
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
130 this.section.setHidden(false);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
131 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
132
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
133 @Override
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
134 public void addMember(Canvas component) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
135 super.addMember(component);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
136 expand();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
137 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
138
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
139 @Override
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
140 public void removeMembers(Canvas[] components) {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
141 super.removeMembers(components);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
142 contract();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
143 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
144
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
145 public SectionStackSection getSection() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
146 return this.section;
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
147 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
148
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
149 protected void removeAllMembers() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
150 removeMembers(getMembers());
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
151 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
152
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
153 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
154 * Expands the gauge section
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
155 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
156 public void expand() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
157 section.setExpanded(true);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
158 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
159
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
160 /**
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
161 * Contracts/shrinks the expanded gauge section
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
162 */
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
163 public void contract() {
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
164 section.setExpanded(false);
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
165 }
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
166
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
167 protected abstract void refresh();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
168
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
169 protected abstract String getSectionTitle();
f75968f0ce80 Refactor GaugePanel and GaugeInfo to extract a base class
Björn Ricks <bjoern.ricks@intevation.de>
parents:
diff changeset
170 }

http://dive4elements.wald.intevation.org