view flys-client/src/main/java/de/intevation/flys/client/client/ui/BooleanPanel.java @ 787:4e0b73b7113b

Added new UI providers. flys-client/trunk@2284 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 05 Jul 2011 17:28:04 +0000
parents
children 696e3404e991
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.form.DynamicForm;
import com.smartgwt.client.widgets.form.fields.CheckboxItem;
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.DataList;
import de.intevation.flys.client.shared.model.DefaultData;
import de.intevation.flys.client.shared.model.DefaultDataItem;


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

    public static final String FIELD_NAME = "boolean_field";

    protected DynamicForm form;

    protected String dataName;


    @Override
    public Canvas create(DataList dataList) {
        Data       data  = dataList.get(0);
        DataItem[] items = data.getItems();

        this.dataName = data.getLabel();

        VLayout layout = new VLayout();
        Label   label  = new Label(data.getDescription());

        layout.setMembersMargin(10);
        layout.setHeight(35);
        label.setHeight(35);

        layout.addMember(label);
        layout.addMember(createForm(items[0].getLabel()));
        layout.addMember(getNextButton());

        return layout;
    }


    protected Canvas createForm() {
        return createForm(null);
    }


    protected Canvas createForm(String title) {
        HLayout layout = new HLayout();
        layout.setMembersMargin(10);

        if (title != null && title.length() > 0) {
            Label label = new Label(title);
            label.setHeight(25);
            layout.addMember(label);
        }

        form = new DynamicForm();
        layout.addMember(form);

        CheckboxItem item = new CheckboxItem(FIELD_NAME);
        item.setShowTitle(false);
        item.setShowLabel(false);

        form.setFields(item);

        return layout;
    }


    @Override
    public Canvas createOld(DataList dataList) {
        Data       data  = dataList.get(0);
        DataItem[] items = data.getItems();

        HLayout layout = new HLayout();
        Label   label  = new Label(dataList.getLabel());
        Label   value  = new Label(items[0].getLabel());

        layout.setHeight(35);
        layout.setWidth(400);
        label.setWidth(200);

        layout.addMember(label);
        layout.addMember(value);
        layout.addMember(getBackButton(dataList.getState()));

        return layout;
    }


    @Override
    protected Data[] getData() {
        GWT.log("+++ RETURN DATA FOR STATE: " + dataName + " +++");
        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