comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/WQAdaptedInputPanel.java @ 519:77234b1d009c

ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps. flys-client/trunk@1998 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 24 May 2011 16:22:34 +0000
parents e4f0bef52689
children 5274b9317e40
comparison
equal deleted inserted replaced
518:bac8e6ea277d 519:77234b1d009c
181 layout.addMember(list); 181 layout.addMember(list);
182 182
183 layout.setHeight(25 + listHeight); 183 layout.setHeight(25 + listHeight);
184 layout.setWidth(350); 184 layout.setWidth(350);
185 185
186 initUserDefaults(dataList);
187
186 return layout; 188 return layout;
189 }
190
191
192 protected void initUserDefaults(DataList dataList) {
193
194 initUserWQValues(dataList);
195 initUserWQMode(dataList);
196 }
197
198
199 protected void initUserWQMode(DataList dataList) {
200 List<Data> allData = dataList.getAll();
201
202 Data dDef = getData(allData, "wq_mode");
203 DataItem def = dDef != null ? dDef.getDefault() : null;
204 String value = def != null ? def.getStringValue() : null;
205
206 if (value != null && value.equals(FIELD_WQ_Q)) {
207 modes.setValue(FIELD_WQ_MODE, FIELD_WQ_Q);
208 }
209 else {
210 modes.setValue(FIELD_WQ_MODE, FIELD_WQ_W);
211 }
212 }
213
214
215 protected void initUserWQValues(DataList dataList) {
216 List<Data> allData = dataList.getAll();
217
218 Data dDef = getData(allData, "wq_values");
219 DataItem def = dDef != null ? dDef.getDefault() : null;
220 String value = def != null ? def.getStringValue() : null;
221
222 if (value == null || value.length() == 0) {
223 return;
224 }
225
226 String[] lines = value.split(GAUGE_SEPARATOR);
227
228 if (lines == null || lines.length == 0) {
229 return;
230 }
231
232 for (String line: lines) {
233 String[] cols = line.split(GAUGE_PART_SEPARATOR);
234 String title = createLineTitle(line);
235
236 if (cols == null || cols.length < 3) {
237 continue;
238 }
239
240 String[] strValues = cols[2].split(VALUE_SEPARATOR);
241 double[] values = new double[strValues.length];
242
243 int idx = 0;
244
245 for (String strValue: strValues) {
246 try {
247 values[idx++] = Double.valueOf(strValue);
248 }
249 catch (NumberFormatException nfe) {
250 // do nothing
251 }
252 }
253
254 String key = cols[0] + GAUGE_PART_SEPARATOR + cols[1];
255 DoubleArrayPanel dap = wqranges.get(key);
256 dap.setValues(values);
257 }
187 } 258 }
188 259
189 260
190 protected Canvas createList(DataList dataList) { 261 protected Canvas createList(DataList dataList) {
191 VLayout layout = new VLayout(); 262 VLayout layout = new VLayout();
197 268
198 DoubleArrayPanel dap = new DoubleArrayPanel( 269 DoubleArrayPanel dap = new DoubleArrayPanel(
199 createLineTitle(title), null, this, TitleOrientation.LEFT); 270 createLineTitle(title), null, this, TitleOrientation.LEFT);
200 271
201 wqranges.put(title, dap); 272 wqranges.put(title, dap);
202
203 layout.addMember(dap); 273 layout.addMember(dap);
204 } 274 }
205 275
206 layout.setHeight(items.length * ROW_HEIGHT); 276 layout.setHeight(items.length * ROW_HEIGHT);
207 277

http://dive4elements.wald.intevation.org