view flys-client/src/main/java/de/intevation/flys/client/client/ui/stationinfo/GaugeInfoHead.java @ 4962:6f6461e07854

Move classes to its own java file
author Björn Ricks <bjoern.ricks@intevation.de>
date Mon, 04 Feb 2013 14:56:41 +0100
parents
children
line wrap: on
line source
package de.intevation.flys.client.client.ui.stationinfo;

import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.i18n.client.NumberFormat;
import com.google.gwt.user.client.ui.Anchor;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.layout.HLayout;

import de.intevation.flys.client.client.FLYS;
import de.intevation.flys.client.client.FLYSConstants;
import de.intevation.flys.client.shared.model.GaugeInfo;

public class GaugeInfoHead extends HLayout {

    /** The message class that provides i18n strings.*/
    private FLYSConstants MSG = GWT.create(FLYSConstants.class);

    public GaugeInfoHead(FLYS flys, GaugeInfo gauge) {
        setStyleName("gaugeinfohead");
        setAutoHeight();
        setAutoWidth();

        NumberFormat nf = NumberFormat.getDecimalFormat();

        Label label = new Label(gauge.getName());
        addMember(label);

        Double start;
        Double end;

        if (!gauge.isKmUp()) {
            start = gauge.getKmStart();
            end   = gauge.getKmEnd();
        }
        else {
            start = gauge.getKmEnd();
            end   = gauge.getKmStart();
        }

        String kmtext = "";
        if (start != null) {
            kmtext += nf.format(start);
            kmtext += " - ";
        }
        if (end != null) {
            kmtext += nf.format(end);
        }
        if (start != null || end != null) {
            kmtext += " km";
        }

        label = new Label(kmtext);

        addMember(label);

        Double station = gauge.getStation();
        if (station != null) {
            String stext = nf.format(station);
            stext += " km";
            label = new Label(stext);
            addMember(label);
        }

        Long number = gauge.getOfficialNumber();
        String url = number != null ?
                MSG.gauge_url() + number :
                    MSG.gauge_url();
        Anchor anchor = new Anchor(MSG.gauge_info_link(), url, "_blank");
        addMember(anchor);

        addMember(new GaugeCurveAnchor(flys, gauge));
    }

    class GaugeCurveAnchor extends Anchor implements ClickHandler {

        private FLYS flys;
        private GaugeInfo gauge;

        public GaugeCurveAnchor(FLYS flys, GaugeInfo gauge) {
            super(MSG.gauge_curve_link());
            this.flys = flys;
            this.gauge = gauge;

            addClickHandler(this);
        }

        @Override
        public void onClick(ClickEvent ev) {
            GWT.log("GaugeCurveAnchor - onClick " + gauge.getRiverName() +
                    " " + gauge.getOfficialNumber());
            flys.newGaugeDischargeCurve(gauge.getRiverName(),
                    gauge.getOfficialNumber());
        }
    }

}

http://dive4elements.wald.intevation.org