view flys-client/src/main/java/de/intevation/flys/client/client/ui/GaugePanel.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 a1bc5b8cff0f
children
line wrap: on
line source
package de.intevation.flys.client.client.ui;

import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.rpc.AsyncCallback;
import de.intevation.flys.client.client.FLYS;
import de.intevation.flys.client.shared.model.RiverInfo;

/**
 * The GaugePanel is intended to be used within a SectionStackSection
 *
 * @author <a href="mailto:bjoern.ricks@intevation.de">Björn Ricks</a>
 */
public class GaugePanel extends InfoPanel {

    /**
     * GaugePanel loads the GaugeInfo from the RiverInfoService and
     * displays them in a tree underneath a RiverInfoPanel
     *
     * @param flys The FLYS object
     */
    public GaugePanel(FLYS flys) {
        super(new GaugeTree(flys));
    }

    @Override
    public String getSectionTitle() {
        return MSG.gaugePanelTitle();
    }

    /**
     * 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");
                render(riverinfo);
                expand();
            }
        });
    }

}

http://dive4elements.wald.intevation.org