Mercurial > dive4elements > river
comparison flys-client/src/main/java/org/dive4elements/river/client/client/ui/fixation/FixFunctionSelect.java @ 5834:f507086aa94b
Repaired internal references.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Thu, 25 Apr 2013 12:31:32 +0200 |
parents | flys-client/src/main/java/de/intevation/flys/client/client/ui/fixation/FixFunctionSelect.java@84a48acabd78 |
children | 821a02bbfb4e |
comparison
equal
deleted
inserted
replaced
5833:a2bdc0f524e8 | 5834:f507086aa94b |
---|---|
1 package de.intevation.flys.client.client.ui.fixation; | |
2 | |
3 import com.smartgwt.client.types.VerticalAlignment; | |
4 import com.smartgwt.client.widgets.Canvas; | |
5 import com.smartgwt.client.widgets.Label; | |
6 import com.smartgwt.client.widgets.form.DynamicForm; | |
7 import com.smartgwt.client.widgets.form.fields.SelectItem; | |
8 import com.smartgwt.client.widgets.layout.HLayout; | |
9 import com.smartgwt.client.widgets.layout.VLayout; | |
10 | |
11 import de.intevation.flys.client.shared.model.Data; | |
12 import de.intevation.flys.client.shared.model.DataItem; | |
13 import de.intevation.flys.client.shared.model.DataList; | |
14 import de.intevation.flys.client.shared.model.DefaultData; | |
15 import de.intevation.flys.client.shared.model.DefaultDataItem; | |
16 | |
17 import java.util.HashMap; | |
18 import java.util.Iterator; | |
19 import java.util.LinkedHashMap; | |
20 import java.util.Map; | |
21 | |
22 public class FixFunctionSelect extends FixationPanel { | |
23 private static final Map<String, String> funcDesc = new HashMap<String, String>(); | |
24 | |
25 static { | |
26 funcDesc.put("log", "W(Q) = m*ln(Q + b)"); | |
27 funcDesc.put("linear", "W(Q) = m * Q + b"); | |
28 funcDesc.put("log-linear", "W(Q) = a*ln(m*Q+b)"); | |
29 funcDesc.put("exp", "W(Q) = m * a^Q + b"); | |
30 funcDesc.put("quad", "W(Q) = n*Q^2+m*Q+b"); | |
31 funcDesc.put("pow", "W(Q) = a * Q^c + d"); | |
32 funcDesc.put("sq-pow", "S(Q) = a * Q^b"); | |
33 } | |
34 | |
35 /** The combobox.*/ | |
36 protected DynamicForm form; | |
37 | |
38 @Override | |
39 public Canvas createWidget(DataList data) { | |
40 VLayout layout = new VLayout(); | |
41 layout.setAlign(VerticalAlignment.TOP); | |
42 layout.setHeight(25); | |
43 | |
44 LinkedHashMap initial = new LinkedHashMap(); | |
45 | |
46 form = new DynamicForm(); | |
47 | |
48 int size = data.size(); | |
49 | |
50 for (int i = 0; i < size; i++) { | |
51 Data d = data.get(i); | |
52 | |
53 Label label = new Label(d.getDescription()); | |
54 label.setValign(VerticalAlignment.TOP); | |
55 label.setHeight(20); | |
56 label.setWidth(400); | |
57 | |
58 SelectItem combobox = new SelectItem(d.getLabel()); | |
59 combobox.setWidth(250); | |
60 | |
61 LinkedHashMap<String, String> funcTypes = new LinkedHashMap<String, String>(); | |
62 | |
63 boolean defaultSet = false; | |
64 boolean first = true; | |
65 | |
66 DataItem def = d.getDefault(); | |
67 String defValue = def != null ? def.getStringValue() : null; | |
68 | |
69 if (defValue != null && defValue.length() > 0) { | |
70 initial.put(d.getLabel(), def.getStringValue()); | |
71 defaultSet = true; | |
72 } | |
73 | |
74 // I was here. Me 2. | |
75 for (DataItem item: d.getItems()) { | |
76 if (!defaultSet && first) { | |
77 initial.put(d.getLabel(), item.getStringValue()); | |
78 first = false; | |
79 } | |
80 | |
81 funcTypes.put(item.getStringValue(), item.getLabel()); | |
82 } | |
83 | |
84 label.setWidth(50); | |
85 combobox.setValueMap(funcTypes); | |
86 combobox.setShowTitle(false); | |
87 form.setItems(combobox); | |
88 | |
89 layout.addMember(label); | |
90 layout.addMember(form); | |
91 } | |
92 | |
93 form.setValues(initial); | |
94 | |
95 layout.setAlign(VerticalAlignment.TOP); | |
96 | |
97 return layout; | |
98 } | |
99 | |
100 | |
101 @Override | |
102 public Canvas createOld(DataList dataList) { | |
103 HLayout layout = new HLayout(); | |
104 VLayout vLayout = new VLayout(); | |
105 layout.setWidth("400px"); | |
106 | |
107 Label label = new Label(dataList.getLabel()); | |
108 label.setWidth("200px"); | |
109 | |
110 int size = dataList.size(); | |
111 for (int i = 0; i < size; i++) { | |
112 Data data = dataList.get(i); | |
113 DataItem[] items = data.getItems(); | |
114 | |
115 for (DataItem item: items) { | |
116 HLayout hLayout = new HLayout(); | |
117 | |
118 String desc = funcDesc.containsKey(item.getLabel()) ? | |
119 funcDesc.get(item.getLabel()) : item.getLabel(); | |
120 hLayout.addMember(label); | |
121 hLayout.addMember(new Label(desc)); | |
122 | |
123 vLayout.addMember(hLayout); | |
124 vLayout.setWidth("130px"); | |
125 } | |
126 } | |
127 | |
128 Canvas back = getBackButton(dataList.getState()); | |
129 | |
130 layout.addMember(label); | |
131 layout.addMember(vLayout); | |
132 layout.addMember(back); | |
133 | |
134 return layout; | |
135 } | |
136 | |
137 | |
138 @Override | |
139 public Data[] getData() { | |
140 Map values = form.getValues(); | |
141 Iterator keys = values.keySet().iterator(); | |
142 | |
143 Data[] list = new Data[values.size()]; | |
144 int i = 0; | |
145 | |
146 while (keys.hasNext()) { | |
147 String fieldname = (String) keys.next(); | |
148 String selection = (String) values.get(fieldname); | |
149 | |
150 DataItem item = new DefaultDataItem(fieldname, null, selection); | |
151 | |
152 list[i++] = new DefaultData( | |
153 fieldname, null, null, new DataItem[] { item }); | |
154 } | |
155 | |
156 return list; | |
157 } | |
158 | |
159 | |
160 @Override | |
161 public void setValues(String cid, boolean checked) { | |
162 } | |
163 | |
164 @Override | |
165 public boolean renderCheckboxes() { | |
166 return false; | |
167 } | |
168 | |
169 @Override | |
170 public void success() { | |
171 } | |
172 | |
173 } |