Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/CheckboxPanel.java @ 5838:5aa05a7a34b7
Rename modules to more fitting names.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 15:23:37 +0200 |
parents | flys-client/src/main/java/org/dive4elements/river/client/client/ui/minfo/CheckboxPanel.java@821a02bbfb4e |
children | 172338b1407f |
comparison
equal
deleted
inserted
replaced
5837:d9901a08d0a6 | 5838:5aa05a7a34b7 |
---|---|
1 package org.dive4elements.river.client.client.ui.minfo; | |
2 | |
3 import java.util.HashMap; | |
4 import java.util.LinkedList; | |
5 import java.util.Set; | |
6 | |
7 import com.google.gwt.core.client.GWT; | |
8 import com.smartgwt.client.widgets.Canvas; | |
9 import com.smartgwt.client.widgets.Label; | |
10 import com.smartgwt.client.widgets.form.DynamicForm; | |
11 import com.smartgwt.client.widgets.form.fields.CheckboxItem; | |
12 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | |
13 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | |
14 import com.smartgwt.client.widgets.layout.HLayout; | |
15 import com.smartgwt.client.widgets.layout.VLayout; | |
16 | |
17 import org.dive4elements.river.client.client.ui.AbstractUIProvider; | |
18 import org.dive4elements.river.client.shared.model.Data; | |
19 import org.dive4elements.river.client.shared.model.DataItem; | |
20 import org.dive4elements.river.client.shared.model.DataList; | |
21 import org.dive4elements.river.client.shared.model.DefaultData; | |
22 import org.dive4elements.river.client.shared.model.DefaultDataItem; | |
23 | |
24 public class CheckboxPanel extends AbstractUIProvider { | |
25 | |
26 private String dataName; | |
27 HashMap<String, Boolean> values; | |
28 | |
29 protected DynamicForm form; | |
30 | |
31 public CheckboxPanel() { | |
32 super(); | |
33 values = new HashMap<String, Boolean>(); | |
34 } | |
35 | |
36 @Override | |
37 public Canvas createOld(DataList dataList) { | |
38 Data data = dataList.get(0); | |
39 DataItem[] items = data.getItems(); | |
40 | |
41 HLayout layout = new HLayout(); | |
42 Label label = new Label(dataList.getLabel()); | |
43 Label value = new Label(items[0].getLabel()); | |
44 | |
45 layout.setHeight(35); | |
46 layout.setWidth(400); | |
47 label.setWidth(200); | |
48 | |
49 layout.addMember(label); | |
50 layout.addMember(value); | |
51 layout.addMember(getBackButton(dataList.getState())); | |
52 | |
53 return layout; | |
54 } | |
55 | |
56 @Override | |
57 public Canvas create(DataList dataList) { | |
58 Data data = dataList.get(0); | |
59 DataItem[] items = data.getItems(); | |
60 | |
61 this.dataName = data.getLabel(); | |
62 form = new DynamicForm(); | |
63 | |
64 VLayout layout = new VLayout(); | |
65 Label label = new Label(data.getDescription()); | |
66 LinkedList<CheckboxItem> cbItems = new LinkedList<CheckboxItem>(); | |
67 for (int i = 0; i < items.length; i++) { | |
68 CheckboxItem item = new CheckboxItem(items[i].getLabel()); | |
69 GWT.log(items[i].getStringValue() + "; " + items[i].getLabel()); | |
70 item.addChangedHandler(new ChangedHandler() { | |
71 @Override | |
72 public void onChanged(ChangedEvent event) { | |
73 values.put( | |
74 event.getItem().getName(), | |
75 (Boolean)event.getItem().getValue()); | |
76 } | |
77 }); | |
78 cbItems.add(item); | |
79 } | |
80 | |
81 form.setFields(cbItems.toArray(new CheckboxItem[cbItems.size()])); | |
82 layout.setMembersMargin(10); | |
83 layout.setHeight(35); | |
84 label.setHeight(35); | |
85 | |
86 layout.addMember(label); | |
87 layout.addMember(form); | |
88 layout.addMember(getNextButton()); | |
89 layout.setMembersMargin(10); | |
90 | |
91 return layout; | |
92 } | |
93 | |
94 @Override | |
95 protected Data[] getData() { | |
96 String value = ""; | |
97 Set<String> entries = values.keySet(); | |
98 boolean first = true; | |
99 for (String s: values.keySet()) { | |
100 if (!first) { | |
101 value += ";"; | |
102 } | |
103 if ((Boolean)values.get(s) == true) { | |
104 value += s; | |
105 } | |
106 first = false; | |
107 } | |
108 DataItem item = new DefaultDataItem("diameter", "diameter", value); | |
109 | |
110 return new Data[] {new DefaultData( | |
111 "diameter", | |
112 null, | |
113 null, | |
114 new DataItem[]{item})}; | |
115 } | |
116 | |
117 } |