Mercurial > dive4elements > river
diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java @ 9369:1a4d2ce77423
radio choice fix
author | gernotbelger |
---|---|
date | Thu, 02 Aug 2018 17:39:13 +0200 |
parents | c7e5285d434f |
children |
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java Thu Aug 02 15:06:22 2018 +0200 +++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/RadioPanel.java Thu Aug 02 17:39:13 2018 +0200 @@ -29,71 +29,83 @@ private static final long serialVersionUID = 3357071563224461043L; - protected String dataName; protected DynamicForm form; private final Map<String, String> valueLabelMap = new LinkedHashMap<String, String>(); + private final String datakey; + + public RadioPanel(final String datakey) { + this.datakey = datakey; + } + + protected final String getDatakey() { + return this.datakey; + } + @Override public Canvas createOld(final DataList dataList) { - final Data data = dataList.get(0); - final DataItem[] items = data.getItems(); - // hat Einfluss auf Layout in der Übersicht (oben) nach Setzen des Wertes für den State final HLayout layout = new HLayout(); - final Label label = new Label(dataList.getLabel()); - final Label value = new Label(items[0].getLabel()); - layout.setWidth(400); - label.setWidth(200); // nicht ändern; scheint wohl ne Konstante zu sein! - value.setWidth(180); // änderbar - layout.setHeight(35); + for (final Data data : dataList.getAll()) { + if (this.datakey.equals(data.getLabel())) { + final DataItem[] items = data.getItems(); + // hat Einfluss auf Layout in der Übersicht (oben) nach Setzen des Wertes für den State - layout.addMember(label); - layout.addMember(value); - layout.addMember(getBackButton(dataList.getState())); + final Label label = new Label(dataList.getLabel()); + final Label value = new Label(items[0].getLabel()); + layout.setWidth(400); + label.setWidth(200); // nicht ändern; scheint wohl ne Konstante zu sein! + value.setWidth(180); // änderbar + layout.setHeight(35); + 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()); - label.setWrap(false); - final RadioGroupItem rgi = new RadioGroupItem("selection"); - rgi.setWrapTitle(false); - rgi.setWrap(false); - 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()); - if (!item.getLabel().startsWith("ignore_")) { - elems.put(item.getStringValue(), item.getLabel()); - this.valueLabelMap.put(item.getStringValue(), item.getLabel()); + for (final Data data : dataList.getAll()) { + if (this.datakey.equals(data.getLabel())) { + final DataItem[] items = data.getItems(); + + final Label label = new Label(data.getDescription()); + label.setWrap(false); + final RadioGroupItem rgi = new RadioGroupItem("selection"); + rgi.setWrapTitle(false); + rgi.setWrap(false); + 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()); + if (!item.getLabel().startsWith("ignore_")) { + elems.put(item.getStringValue(), item.getLabel()); + this.valueLabelMap.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.setWidth(300); + label.setWidth(300); + + layout.addMember(label); + layout.addMember(this.form); + layout.addMember(getNextButton()); + layout.setMembersMargin(10); + } } - 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.setWidth(300); - label.setWidth(300); - - layout.addMember(label); - layout.addMember(this.form); - layout.addMember(getNextButton()); - layout.setMembersMargin(10); - - // initDefaultValues(dataList); - return layout; } @@ -102,13 +114,9 @@ final String value = this.form.getValueAsString("selection"); final DataItem item = new DefaultDataItem("label_irrelevant", "description_irrelevant", value); - // Alles hoffnungslos: - // final DataItem useHeader = new DefaultDataItem("label_irrelevant", "description_irrelevant", - // this.valueLabelMap.get(value)); - return new Data[] { new DefaultData(this.dataName, "label_no_effect", "description_no_effect", new DataItem[] { item // , useHeader - }) - // ,new DefaultData("value", "label", "description", new DataItem[] { useHeader }) DOES NOT WORK + return new Data[] { new DefaultData(this.datakey, "label_no_effect", "description_no_effect", new DataItem[] { item }) + }; }