view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/DatacagePanel.java @ 9416:05405292a7ca

Navigationtheme panel now shows themes of dWt and WQ charts grayed out, if the current station is outside the valid range of the theme.
author gernotbelger
date Thu, 16 Aug 2018 16:28:03 +0200
parents e3c2ae1887e8
children
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU AGPL (>=v3)
 * and comes with ABSOLUTELY NO WARRANTY! Check out the
 * documentation coming with Dive4Elements River for details.
 */

package org.dive4elements.river.client.client.ui;

import java.util.ArrayList;
import java.util.List;

import org.dive4elements.river.client.shared.model.Data;
import org.dive4elements.river.client.shared.model.DataList;
import org.dive4elements.river.client.shared.model.ToLoad;
import org.dive4elements.river.client.shared.model.User;

import com.smartgwt.client.widgets.Canvas;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.layout.VLayout;

/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public abstract class DatacagePanel extends TextProvider {

    private static final long serialVersionUID = 6937994648371673222L;

    private String dataName;

    private final User user;

    private DatacageWidget widget;

    private final String outs;

    private final String parameters;

    private final boolean multiSelectable;

    public DatacagePanel(final User user, final String outs, final String parameters, final boolean multiSelectable) {
        this.user = user;
        this.outs = outs;
        this.parameters = parameters;
        this.multiSelectable = multiSelectable;
    }

    @Override
    public Canvas create(final DataList dataList) {
        final Data data = dataList.get(0);
        this.dataName = data.getLabel();

        createWidget();

        final Canvas label = new Label(data.getDescription());
        final Canvas submit = getNextButton();
        final VLayout layout = new VLayout();
        label.setHeight(25);

        layout.addMember(label);
        layout.addMember(submit);
        layout.setMembersMargin(10);

        return layout;
    }

    private void createWidget() {

        final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, this.outs, this.parameters, false);

        this.widget = new DatacageWidget(data);

        this.widget.setHeight100();

        this.helperContainer.addMember(this.widget);

        this.widget.setIsMutliSelectable(this.multiSelectable);
    }

    @Override
    public List<String> validate() {
        return new ArrayList<String>();
    }

    /**
     * Unclear if this may implement super.getDataName...
     */
    protected final String getMyDataName() {
        return this.dataName;
    }

    protected final ToLoad getSelection() {
        return this.widget.getSelection();
    }

    protected final String[] getSelectionTitles() {
        return this.widget.getSelectionTitles();
    }
}

http://dive4elements.wald.intevation.org