Mercurial > dive4elements > river
view flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.java @ 4267:8f9f80db46f3
Cleanup GaugeDischargeCurvePanel
Remove unnecessary import and unused variables.
author | Björn Ricks <bjoern.ricks@intevation.de> |
---|---|
date | Fri, 26 Oct 2012 12:17:30 +0200 |
parents | a1bc5b8cff0f |
children | f75968f0ce80 |
line wrap: on
line source
package de.intevation.flys.client.client.ui; import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.HorizontalPanel; import com.google.gwt.user.client.ui.Label; import com.smartgwt.client.types.Overflow; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.WidgetCanvas; import com.smartgwt.client.widgets.events.ResizedEvent; import com.smartgwt.client.widgets.events.ResizedHandler; import com.smartgwt.client.widgets.layout.SectionStackSection; import com.smartgwt.client.widgets.layout.VLayout; import de.intevation.flys.client.client.FLYS; import de.intevation.flys.client.client.FLYSConstants; import de.intevation.flys.client.client.services.RiverInfoService; import de.intevation.flys.client.client.services.RiverInfoServiceAsync; import de.intevation.flys.client.shared.model.DataList; import de.intevation.flys.client.shared.model.RiverInfo; /** * The GaugePanel is intended to be used within a SectionStackSection * It extends the VLayout by two methods to show and hide the * section stack section. * * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a> */ public class GaugePanel extends VLayout implements ResizedHandler { /** SectionStackSection where this GaugePanel belongs in*/ private SectionStackSection section; /** Name of the river */ private String river; /** The message class that provides i18n strings.*/ protected FLYSConstants MSG = GWT.create(FLYSConstants.class); protected RiverInfoServiceAsync riverInfoService = GWT.create(RiverInfoService.class); protected GaugeTree gaugetree; protected Canvas gaugetreecanvas; protected RiverInfoPanel riverinfopanel; public final static String SECTION_ID = "GaugePanelSection"; private final static String GAUGE_TREE_CANVAS_ID = "GaugeTreeCanvas"; /** * Creates a new VLayout with a SectionStackSection * The GaugePanel's SectionStackSection is hidden by default. * * @param flys The FLYS object * @param section The section stack section to place the VLayout in. */ public GaugePanel(FLYS flys) { SectionStackSection section = new SectionStackSection(); section.setExpanded(false); section.setTitle(MSG.gaugePanelTitle()); section.setName(SECTION_ID); section.setID(SECTION_ID); gaugetree = new GaugeTree(flys); gaugetreecanvas = new WidgetCanvas(gaugetree); gaugetreecanvas.setID(GAUGE_TREE_CANVAS_ID); setOverflow(Overflow.HIDDEN); setStyleName("gaugepanel"); section.setHidden(true); section.setItems(this); this.section = section; addResizedHandler(this); } /** * Sets and loads the river data if river is not the current set river */ public void setRiver(String river) { if (!river.equals(this.river)) { this.river = river; this.refresh(); } } /** * Sets the data and closes not corresponding folds in the gauge tree */ public void setData(DataList[] data) { gaugetree.setData(data); } /** * Loads the river info and renders it afterwards */ public void refresh() { contract(); riverInfoService.getGauges(this.river, new AsyncCallback<RiverInfo>() { @Override public void onFailure(Throwable e) { GWT.log("Could not load the river info." + e); } @Override public void onSuccess(RiverInfo riverinfo) { GWT.log("Loaded river info"); renderGaugeOverviewInfo(riverinfo); expand(); } }); } public void renderGaugeOverviewInfo(RiverInfo riverinfo) { gaugetree.setGauges(riverinfo); if (riverinfopanel == null) { removeAllMembers(); riverinfopanel = new RiverInfoPanel(riverinfo); addMember(riverinfopanel); addMember(gaugetreecanvas); } else { riverinfopanel.setRiverInfo(riverinfo); } } @Override public void onResized(ResizedEvent event) { /* this height calculation is only an approximation and doesn't reflect * the real height of the the gaugetree. */ int height = getInnerContentHeight() - RiverInfoPanel.getStaticHeight(); int width = getInnerContentWidth(); if (height < 0) { height = 0; } GWT.log("GaugePanel - onResize " + height); gaugetree.setHeight("" + height + "px"); gaugetree.setWidth("" + width + "px"); } /** * Hide the section stack section. */ @Override public void hide() { GWT.log("GaugePanel - hide"); this.section.setHidden(true); } /** * Show the section stack section. */ @Override public void show() { GWT.log("GaugePanel - show"); this.section.setHidden(false); } @Override public void addMember(Canvas component) { super.addMember(component); expand(); } @Override public void removeMembers(Canvas[] components) { super.removeMembers(components); contract(); } public SectionStackSection getSection() { return this.section; } private void removeAllMembers() { removeMembers(getMembers()); } /** * Expands the gauge section */ public void expand() { section.setExpanded(true); } /** * Contracts/shrinks the expanded gauge section */ public void contract() { section.setExpanded(false); } }