view flys-client/src/main/java/de/intevation/flys/client/client/ui/RangePanel.java @ 1529:e91f87b2524e

Removed useless imports. flys-client/trunk@3727 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 19 Jan 2012 17:05:41 +0000
parents 487c3ff7e838
children ae25566ce6f6
line wrap: on
line source
package de.intevation.flys.client.client.ui;

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

import com.smartgwt.client.types.Alignment;
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.FormItem;
import com.smartgwt.client.widgets.form.fields.TextItem;
import com.smartgwt.client.widgets.form.validator.Validator;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;

import de.intevation.flys.client.shared.model.DataList;
import de.intevation.flys.client.shared.model.Data;


/**
 * An UIProvider for inserting ranges.
 *
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public abstract class RangePanel extends AbstractUIProvider {

    public static final String FIELD_LOWER = "field_lower";
    public static final String FIELD_UPPER = "field_upper";


    protected DynamicForm lowerForm;
    protected DynamicForm upperForm;

    protected String dataName;


    @Override
    public Canvas create(DataList data) {
        setDataName(data);

        VLayout root = new VLayout();

        root.addMember(createLabel(data));
        root.addMember(createForm(data));
        root.addMember(getNextButton());

        return root;
    }


    @Override
    public Canvas createOld(DataList data) {
        // TODO IMPLEMENT ME
        return new Canvas();
    }


    @Override
    protected Data[] getData() {
        return new Data[0];
    }


    @Override
    public List<String> validate() {
        List<String> errors = new ArrayList<String>();

        if (!lowerForm.validate()) {
            errors.add("LOWER ERRORS");
        }

        if (!upperForm.validate()) {
            errors.add("UPPER ERRORS");
        }

        return errors;
    }


    protected void setDataName(DataList dataList) {
        Data data = dataList.get(0);

        this.dataName = data.getLabel();
    }


    public String getDataName() {
        return dataName;
    }


    public String getLower() {
        return lowerForm.getValueAsString(FIELD_LOWER);
    }


    public String getUpper() {
        return upperForm.getValueAsString(FIELD_UPPER);
    }


    protected Canvas createLabel(DataList dataList) {
        Label label = new Label(dataList.getLabel());

        label.setWidth(100);
        label.setHeight(25);

        return label;
    }


    protected Canvas createForm(DataList dataList) {
        lowerForm = createLowerForm(dataList);
        upperForm = createUpperForm(dataList);

        HLayout formLayout = new HLayout();
        formLayout.addMember(lowerForm);
        formLayout.addMember(createSpacer());
        formLayout.addMember(upperForm);

        return formLayout;
    }


    protected DynamicForm newForm() {
        DynamicForm form = new DynamicForm();
        form.setTitlePrefix("");
        form.setTitleSuffix("");
        form.setTitle("");
        form.setTitleField("");

        return form;
    }


    protected FormItem newFormItem(String name) {
        TextItem item = new TextItem(name, "");
        item.setShowTitle(false);

        return item;
    }


    protected DynamicForm createLowerForm(DataList dataList) {
        DynamicForm lowerForm = newForm();
        FormItem    lower     = createLowerField(dataList);

        lowerForm.setFields(lower);

        return lowerForm;
    }


    protected DynamicForm createUpperForm(DataList dataList) {
        DynamicForm upperForm = newForm();
        FormItem    upper     = createUpperField(dataList);

        upperForm.setFields(upper);

        return upperForm;
    }


    protected Canvas createSpacer() {
        Label spacer = new Label("-");
        spacer.setWidth(25);
        spacer.setHeight(25);
        spacer.setAlign(Alignment.CENTER);

        return spacer;
    }


    protected FormItem createLowerField(DataList dataList) {
        return createField(FIELD_LOWER, createLowerValidators(dataList));
    }


    protected FormItem createUpperField(DataList dataList) {
        return createField(FIELD_UPPER, createUpperValidators(dataList));
    }


    protected FormItem createField(String name, Validator[] validators) {
        FormItem field = newFormItem(name);

        if (validators != null && validators.length > 0) {
            field.setValidators(validators);
        }

        return field;
    }


    protected Validator[] createLowerValidators(DataList dataList) {
        return null;
    }


    protected Validator[] createUpperValidators(DataList dataList) {
        return null;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org