Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/RadioPanel.java @ 3508:60984be9bcfa
MINFO: Added UI for minfo differences calculation.
flys-client/trunk@5277 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Tue, 28 Aug 2012 11:51:12 +0000 |
parents | |
children | 75a3a41a6e51 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/RadioPanel.java Tue Aug 28 11:51:12 2012 +0000 @@ -0,0 +1,93 @@ +package de.intevation.flys.client.client.ui; + +import java.util.LinkedHashMap; +import java.util.Map; + +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; + +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; + +public class RadioPanel extends AbstractUIProvider { + + protected String dataName; + protected DynamicForm form; + + @Override + public Canvas createOld(DataList dataList) { + // TODO Auto-generated method stub + 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 + 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()); + RadioGroupItem rgi = new RadioGroupItem("selection"); + rgi.setShowTitle(false); + GWT.log("items: " + items.length); + LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>(); + for (int i = 0; i < items.length; i++) { + GWT.log(items[i].getStringValue() + "; " + items[i].getLabel()); + elems.put(items[i].getStringValue(), items[i].getLabel()); + } + rgi.setValueMap(elems); + rgi.setDefaultValue(items[0].getStringValue()); + + form = new DynamicForm(); + form.setFields(rgi); + layout.setMembersMargin(10); + layout.setHeight(35); + label.setHeight(35); + + layout.addMember(label); + layout.addMember(form); + layout.addMember(getNextButton()); + layout.setMembersMargin(10); + + //initDefaultValues(dataList); + + return layout; + } + + @Override + protected Data[] getData() { + String value = form.getValueAsString("selection"); + DataItem item = new DefaultDataItem("ye_select", "ye_select", value); + return new Data[] { new DefaultData( + "ye_select", null, null, new DataItem[]{item})}; + } + + protected String getTitle(DataItem item) { + return item.getLabel(); + } +}