Mercurial > dive4elements > river
view gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java @ 9063:b6919e3c2d86
work on uinfo-inundation_duration states
author | gernotbelger |
---|---|
date | Tue, 08 May 2018 15:21:23 +0200 |
parents | 5e38e2924c07 |
children | b5d7a9d79837 |
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.LinkedHashMap; import org.dive4elements.river.client.shared.model.Data; import org.dive4elements.river.client.shared.model.DataItem; import org.dive4elements.river.client.shared.model.DataList; import org.dive4elements.river.client.shared.model.DefaultData; import org.dive4elements.river.client.shared.model.DefaultDataItem; 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.RadioGroupItem; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; public class RadioPanel extends AbstractUIProvider { private static final long serialVersionUID = 3357071563224461043L; protected String dataName; protected DynamicForm form; @Override public Canvas createOld(final DataList dataList) { final Data data = dataList.get(0); final DataItem[] items = data.getItems(); final HLayout layout = new HLayout(); final Label label = new Label(dataList.getLabel()); final Label value = new Label(items[0].getLabel()); layout.setHeight(35); // hat Einfluss auf Layout in der Übersicht (oben) nach Setzen des Wertes für den State layout.setWidth(400); label.setWidth(200); layout.addMember(label); layout.addMember(value); layout.addMember(getBackButton(dataList.getState())); return layout; } @Override public Canvas create(final DataList dataList) { final Data data = dataList.get(0); final DataItem[] items = data.getItems(); this.dataName = data.getLabel(); final VLayout layout = new VLayout(); final Label label = new Label(data.getDescription()); final RadioGroupItem rgi = new RadioGroupItem("selection"); rgi.setShowTitle(false); GWT.log("items: " + items.length); final LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>(); for (final DataItem item : items) { GWT.log(item.getStringValue() + "; " + item.getLabel()); elems.put(item.getStringValue(), item.getLabel()); } rgi.setValueMap(elems); rgi.setDefaultValue(items[0].getStringValue()); this.form = new DynamicForm(); this.form.setFields(rgi); layout.setMembersMargin(10); layout.setHeight(35); label.setHeight(35); layout.addMember(label); layout.addMember(this.form); layout.addMember(getNextButton()); layout.setMembersMargin(10); // initDefaultValues(dataList); return layout; } @Override protected Data[] getData() { final String value = this.form.getValueAsString("selection"); final DataItem item = new DefaultDataItem(this.dataName, this.dataName, value); return new Data[] { new DefaultData(this.dataName, null, null, new DataItem[] { item }) }; } protected String getTitle(final DataItem item) { return item.getLabel(); } }