view flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageButton.java @ 4254:33b15ac17fd1

Only create and add GaugePanel when necessary The GaugePanel isn't created always and only show if WINFO and a river is selected now. It is only created on demand. Therefore all access to the GaugePanel is abstraced via methods that check if the GaugePanel is null before accessing it's methods.
author Björn Ricks <bjoern.ricks@intevation.de>
date Thu, 25 Oct 2012 13:58:53 +0200
parents 51ed89b754ae
children c4973fa23674
line wrap: on
line source
package de.intevation.flys.client.client.ui;

import com.smartgwt.client.widgets.Button;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.events.CloseClickHandler;
import com.smartgwt.client.widgets.events.CloseClickEvent;

import de.intevation.flys.client.shared.model.Artifact;
import de.intevation.flys.client.shared.model.User;


public class DatacageButton extends Button implements ClickHandler {

    protected Artifact artifact;
    protected User     user;
    protected CollectionView view;

    public DatacageButton(
        String         title,
        Artifact       artifact,
        User           user,
        CollectionView view
    ) {
        super(title);

        this.artifact = artifact;
        this.user     = user;
        this.view     = view;

        addClickHandler(this);
    }


    public void onClick(ClickEvent event) {
        // TODO: fetch outs!
        String outs = "";

        final DatacageWindow dc = new DatacageWindow(
            artifact, user, outs, view);
        dc.addCloseClickHandler(new CloseClickHandler() {
            public void onCloseClick(CloseClickEvent event) {
                dc.destroy();
            }
        });
        dc.show();
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org