gernotbelger@9481: /* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde gernotbelger@9481: * Software engineering by Intevation GmbH gernotbelger@9481: * gernotbelger@9481: * This file is Free Software under the GNU AGPL (>=v3) gernotbelger@9481: * and comes with ABSOLUTELY NO WARRANTY! Check out the gernotbelger@9481: * documentation coming with Dive4Elements River for details. gernotbelger@9481: */ gernotbelger@9481: gernotbelger@9481: package org.dive4elements.river.client.client.ui.uinfo; gernotbelger@9481: gernotbelger@9481: import org.dive4elements.river.client.client.FLYSConstants; gernotbelger@9481: import org.dive4elements.river.client.client.ui.AbstractSingleItemPanel; gernotbelger@9481: import org.dive4elements.river.client.shared.model.DataList; gernotbelger@9481: gernotbelger@9481: import com.smartgwt.client.widgets.Canvas; gernotbelger@9481: import com.smartgwt.client.widgets.Label; gernotbelger@9481: import com.smartgwt.client.widgets.form.DynamicForm; gernotbelger@9559: import com.smartgwt.client.widgets.form.fields.StaticTextItem; gernotbelger@9481: import com.smartgwt.client.widgets.form.fields.TextItem; gernotbelger@9481: import com.smartgwt.client.widgets.layout.VLayout; gernotbelger@9481: gernotbelger@9481: public class InundationWMSInputPanel extends AbstractSingleItemPanel { gernotbelger@9481: gernotbelger@9481: private static final long serialVersionUID = 1L; gernotbelger@9481: private final boolean isEditable; gernotbelger@9559: private final String dataKey; gernotbelger@9559: private final String appendString; gernotbelger@9481: gernotbelger@9559: public InundationWMSInputPanel(final FLYSConstants msg, final String dataKey, final String titleForCreateOld, final String appendString, gernotbelger@9559: final boolean isEditable) { gernotbelger@9559: super(new UinfoInundationSingleYearEpochBehaviour(appendString, msg, titleForCreateOld)); gernotbelger@9481: this.isEditable = isEditable; gernotbelger@9559: this.dataKey = dataKey; gernotbelger@9559: this.appendString = appendString; gernotbelger@9481: } gernotbelger@9481: gernotbelger@9481: @Override gernotbelger@9481: protected String getDatakey() { gernotbelger@9559: return this.dataKey; gernotbelger@9481: } gernotbelger@9481: gernotbelger@9481: @Override gernotbelger@9481: protected String errorForItemMsg() { gernotbelger@9481: return this.MSG.no_data_for_input(); gernotbelger@9481: } gernotbelger@9481: gernotbelger@9481: @Override gernotbelger@9481: public Canvas createWidget(final DataList data) { gernotbelger@9481: final VLayout layout = new VLayout(); gernotbelger@9481: gernotbelger@9481: final Label title = new Label(data.get(0).getDescription()); gernotbelger@9481: title.setHeight("25px"); gernotbelger@9481: gernotbelger@9481: final DynamicForm form = new DynamicForm(); gernotbelger@9481: form.setNumCols(4); gernotbelger@9481: gernotbelger@9481: final TextItem inputItem = createInputItem("INPUT"); gernotbelger@9481: inputItem.setWidth(250); gernotbelger@9481: inputItem.setCanEdit(this.isEditable); gernotbelger@9559: gernotbelger@9481: inputItem.setShowTitle(false); gernotbelger@9559: gernotbelger@9559: if (this.appendString != null) { gernotbelger@9559: gernotbelger@9559: final StaticTextItem fromText = new StaticTextItem("staticAppend"); gernotbelger@9559: fromText.setValue(this.appendString); gernotbelger@9559: fromText.setShowTitle(false); gernotbelger@9559: form.setFields(inputItem, fromText); gernotbelger@9559: } else { gernotbelger@9559: form.setFields(inputItem); gernotbelger@9559: } gernotbelger@9481: gernotbelger@9481: layout.addMember(title); gernotbelger@9481: layout.addMember(form); gernotbelger@9481: gernotbelger@9481: return layout; gernotbelger@9481: } gernotbelger@9481: gernotbelger@9481: }