Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
9366:3d006afee054 | 9369:1a4d2ce77423 |
---|---|
27 | 27 |
28 public class RadioPanel extends AbstractUIProvider { | 28 public class RadioPanel extends AbstractUIProvider { |
29 | 29 |
30 private static final long serialVersionUID = 3357071563224461043L; | 30 private static final long serialVersionUID = 3357071563224461043L; |
31 | 31 |
32 protected String dataName; | |
33 protected DynamicForm form; | 32 protected DynamicForm form; |
34 private final Map<String, String> valueLabelMap = new LinkedHashMap<String, String>(); | 33 private final Map<String, String> valueLabelMap = new LinkedHashMap<String, String>(); |
35 | 34 |
35 private final String datakey; | |
36 | |
37 public RadioPanel(final String datakey) { | |
38 this.datakey = datakey; | |
39 } | |
40 | |
41 protected final String getDatakey() { | |
42 return this.datakey; | |
43 } | |
44 | |
36 @Override | 45 @Override |
37 public Canvas createOld(final DataList dataList) { | 46 public Canvas createOld(final DataList dataList) { |
38 final Data data = dataList.get(0); | |
39 final DataItem[] items = data.getItems(); | |
40 // hat Einfluss auf Layout in der Übersicht (oben) nach Setzen des Wertes für den State | |
41 final HLayout layout = new HLayout(); | 47 final HLayout layout = new HLayout(); |
42 final Label label = new Label(dataList.getLabel()); | 48 for (final Data data : dataList.getAll()) { |
43 final Label value = new Label(items[0].getLabel()); | 49 if (this.datakey.equals(data.getLabel())) { |
44 layout.setWidth(400); | 50 final DataItem[] items = data.getItems(); |
45 label.setWidth(200); // nicht ändern; scheint wohl ne Konstante zu sein! | 51 // hat Einfluss auf Layout in der Übersicht (oben) nach Setzen des Wertes für den State |
46 value.setWidth(180); // änderbar | |
47 layout.setHeight(35); | |
48 | 52 |
49 layout.addMember(label); | 53 final Label label = new Label(dataList.getLabel()); |
50 layout.addMember(value); | 54 final Label value = new Label(items[0].getLabel()); |
51 layout.addMember(getBackButton(dataList.getState())); | 55 layout.setWidth(400); |
56 label.setWidth(200); // nicht ändern; scheint wohl ne Konstante zu sein! | |
57 value.setWidth(180); // änderbar | |
58 layout.setHeight(35); | |
52 | 59 |
60 layout.addMember(label); | |
61 layout.addMember(value); | |
62 layout.addMember(getBackButton(dataList.getState())); | |
63 | |
64 } | |
65 } | |
53 return layout; | 66 return layout; |
54 } | 67 } |
55 | 68 |
56 @Override | 69 @Override |
57 public Canvas create(final DataList dataList) { | 70 public Canvas create(final DataList dataList) { |
58 final Data data = dataList.get(0); | 71 final VLayout layout = new VLayout(); |
59 final DataItem[] items = data.getItems(); | 72 for (final Data data : dataList.getAll()) { |
73 if (this.datakey.equals(data.getLabel())) { | |
74 final DataItem[] items = data.getItems(); | |
60 | 75 |
61 this.dataName = data.getLabel(); | 76 final Label label = new Label(data.getDescription()); |
77 label.setWrap(false); | |
78 final RadioGroupItem rgi = new RadioGroupItem("selection"); | |
79 rgi.setWrapTitle(false); | |
80 rgi.setWrap(false); | |
81 rgi.setShowTitle(false); | |
82 GWT.log("items: " + items.length); | |
83 final LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>(); | |
84 for (final DataItem item : items) { | |
85 GWT.log(item.getStringValue() + "; " + item.getLabel()); | |
86 if (!item.getLabel().startsWith("ignore_")) { | |
87 elems.put(item.getStringValue(), item.getLabel()); | |
88 this.valueLabelMap.put(item.getStringValue(), item.getLabel()); | |
89 } | |
90 } | |
91 rgi.setValueMap(elems); | |
92 rgi.setDefaultValue(items[0].getStringValue()); | |
62 | 93 |
63 final VLayout layout = new VLayout(); | 94 this.form = new DynamicForm(); |
64 final Label label = new Label(data.getDescription()); | 95 this.form.setFields(rgi); |
65 label.setWrap(false); | 96 layout.setMembersMargin(10); |
66 final RadioGroupItem rgi = new RadioGroupItem("selection"); | 97 layout.setHeight(35); |
67 rgi.setWrapTitle(false); | 98 label.setHeight(35); |
68 rgi.setWrap(false); | 99 layout.setWidth(300); |
69 rgi.setShowTitle(false); | 100 label.setWidth(300); |
70 GWT.log("items: " + items.length); | 101 |
71 final LinkedHashMap<String, String> elems = new LinkedHashMap<String, String>(); | 102 layout.addMember(label); |
72 for (final DataItem item : items) { | 103 layout.addMember(this.form); |
73 GWT.log(item.getStringValue() + "; " + item.getLabel()); | 104 layout.addMember(getNextButton()); |
74 if (!item.getLabel().startsWith("ignore_")) { | 105 layout.setMembersMargin(10); |
75 elems.put(item.getStringValue(), item.getLabel()); | 106 |
76 this.valueLabelMap.put(item.getStringValue(), item.getLabel()); | |
77 } | 107 } |
78 } | 108 } |
79 rgi.setValueMap(elems); | |
80 rgi.setDefaultValue(items[0].getStringValue()); | |
81 | |
82 this.form = new DynamicForm(); | |
83 this.form.setFields(rgi); | |
84 layout.setMembersMargin(10); | |
85 layout.setHeight(35); | |
86 label.setHeight(35); | |
87 layout.setWidth(300); | |
88 label.setWidth(300); | |
89 | |
90 layout.addMember(label); | |
91 layout.addMember(this.form); | |
92 layout.addMember(getNextButton()); | |
93 layout.setMembersMargin(10); | |
94 | |
95 // initDefaultValues(dataList); | |
96 | |
97 return layout; | 109 return layout; |
98 } | 110 } |
99 | 111 |
100 @Override | 112 @Override |
101 protected Data[] getData() { | 113 protected Data[] getData() { |
102 final String value = this.form.getValueAsString("selection"); | 114 final String value = this.form.getValueAsString("selection"); |
103 | 115 |
104 final DataItem item = new DefaultDataItem("label_irrelevant", "description_irrelevant", value); | 116 final DataItem item = new DefaultDataItem("label_irrelevant", "description_irrelevant", value); |
105 // Alles hoffnungslos: | |
106 // final DataItem useHeader = new DefaultDataItem("label_irrelevant", "description_irrelevant", | |
107 // this.valueLabelMap.get(value)); | |
108 | 117 |
109 return new Data[] { new DefaultData(this.dataName, "label_no_effect", "description_no_effect", new DataItem[] { item // , useHeader | 118 return new Data[] { new DefaultData(this.datakey, "label_no_effect", "description_no_effect", new DataItem[] { item }) |
110 }) | 119 |
111 // ,new DefaultData("value", "label", "description", new DataItem[] { useHeader }) DOES NOT WORK | |
112 }; | 120 }; |
113 } | 121 } |
114 | 122 |
115 } | 123 } |