view flys-client/src/main/java/de/intevation/flys/client/client/ui/DatacageTwinPanel.java @ 867:6a2ed979dfcf

Added new UIProvider "DatacageTwinPanel", pass user via UIProviderFactory. flys-client/trunk@2674 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 08 Sep 2011 11:12:21 +0000
parents
children 39a39e9be5af
line wrap: on
line source
package de.intevation.flys.client.client.ui;

import com.google.gwt.core.client.GWT;

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

import de.intevation.flys.client.shared.model.Data;
import de.intevation.flys.client.shared.model.DataItem;
import de.intevation.flys.client.shared.model.DefaultData;
import de.intevation.flys.client.shared.model.DefaultDataItem;
import de.intevation.flys.client.shared.model.DataList;
import de.intevation.flys.client.shared.model.User;

import de.intevation.flys.client.client.FLYSConstants;

// TODO Probably better to branch off AbstractUIProvider.
public class DatacageTwinPanel extends TextProvider {

    protected static FLYSConstants MSG = GWT.create(FLYSConstants.class);

    protected String dataName;

    protected User user;


    public DatacageTwinPanel(User user) {
        super();
        this.user = user;
    }


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

        Canvas label  = new Label(data.getDescription());
        Canvas widget = createWidget();
        Canvas submit = getNextButton();

        VLayout layout = new VLayout();
        label.setHeight(50);
        DatacageWidget baseDataCage = new DatacageWidget(this.artifact, user);
        DatacageWidget modDataCage = new DatacageWidget(this.artifact, user);
        baseDataCage.setHeight(250);
        modDataCage.setHeight(250);
        layout.addMember(baseDataCage);
        layout.addMember(modDataCage);

        /*layout.addMember(label);*/
        layout.addMember(widget);
        layout.addMember(submit);
        layout.setMembersMargin(10);
        this.helperContainer.addMember(layout);

//        return layout;
        return new VLayout();
    }


    public Canvas createWidget() {
        HLayout layout = new HLayout();
        layout.setMembersMargin(10);

        layout.addMember(createForm());
        layout.addMember(new DatacageWidget());
        // TODO: fetch current user!
        // TODO: fetch collection view!
        /*layout.addMember(
            new DatacageButton(
                MSG.databasket(), artifact, null, null));
                */

        return layout;
    }


    @Override
    protected Data[] getData() {
        String value  = "TODO:FIND VALUE";
        DataItem item = new DefaultDataItem(dataName, dataName, value);
        return new Data[] { new DefaultData(
            dataName, null, null, new DataItem[] { item }) };
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org