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 }

http://dive4elements.wald.intevation.org