Mercurial > dive4elements > river
comparison flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java @ 1507:c21d14e48040
Improved validation and property handling.
flys-client/trunk@3645 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Wed, 11 Jan 2012 10:21:22 +0000 |
parents | 339f8aa641b5 |
children | 8ac57bbc270c |
comparison
equal
deleted
inserted
replaced
1506:339f8aa641b5 | 1507:c21d14e48040 |
---|---|
23 | 23 |
24 import com.smartgwt.client.widgets.events.ClickEvent; | 24 import com.smartgwt.client.widgets.events.ClickEvent; |
25 import com.smartgwt.client.widgets.events.ClickHandler; | 25 import com.smartgwt.client.widgets.events.ClickHandler; |
26 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; | 26 import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; |
27 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; | 27 import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; |
28 import com.smartgwt.client.widgets.form.fields.events.BlurHandler; | |
29 import com.smartgwt.client.widgets.form.fields.events.BlurEvent; | |
28 | 30 |
29 import com.smartgwt.client.types.Alignment; | 31 import com.smartgwt.client.types.Alignment; |
30 | 32 |
31 import de.intevation.flys.client.client.Config; | 33 import de.intevation.flys.client.client.Config; |
32 import de.intevation.flys.client.client.FLYSConstants; | 34 import de.intevation.flys.client.client.FLYSConstants; |
190 ((StringProperty)origPg.getPropertyByName("label")).getValue()); | 192 ((StringProperty)origPg.getPropertyByName("label")).getValue()); |
191 | 193 |
192 IntegerProperty fontsize = | 194 IntegerProperty fontsize = |
193 (IntegerProperty)pg.getPropertyByName("font-size"); | 195 (IntegerProperty)pg.getPropertyByName("font-size"); |
194 FormItem fs = createIntegerProperty(fontsize); | 196 FormItem fs = createIntegerProperty(fontsize); |
195 fs.addChangedHandler(new IntegerValidator()); | |
196 fs.setValue( | 197 fs.setValue( |
197 ((IntegerProperty) | 198 ((IntegerProperty) |
198 origPg.getPropertyByName("font-size")).getValue()); | 199 origPg.getPropertyByName("font-size")).getValue()); |
199 | 200 |
200 DoubleProperty upper = | 201 DoubleProperty upper = |
201 (DoubleProperty)pg.getPropertyByName("upper"); | 202 (DoubleProperty)pg.getPropertyByName("upper"); |
202 final FormItem range1 = createDoubleProperty(upper); | 203 final FormItem range1 = createDoubleProperty(upper); |
203 range1.addChangedHandler(new DoubleValidator()); | |
204 range1.setWidth(70); | 204 range1.setWidth(70); |
205 String r1Value = | 205 range1.setValue( |
206 ((DoubleProperty)origPg.getPropertyByName("upper")).getValue(); | 206 ((DoubleProperty) |
207 origPg.getPropertyByName("upper")).toUIString()); | |
208 | |
207 DoubleProperty lower = | 209 DoubleProperty lower = |
208 (DoubleProperty)pg.getPropertyByName("lower"); | 210 (DoubleProperty)pg.getPropertyByName("lower"); |
209 final FormItem range2 = createDoubleProperty(lower); | 211 final FormItem range2 = createDoubleProperty(lower); |
210 range2.addChangedHandler(new DoubleValidator()); | |
211 range2.setWidth(70); | 212 range2.setWidth(70); |
212 String r2Value = | 213 range2.setValue( |
213 ((DoubleProperty)origPg.getPropertyByName("lower")).getValue(); | 214 ((DoubleProperty) |
214 if(locale.equals("de")) { | 215 origPg.getPropertyByName("lower")).toUIString()); |
215 range1.setValue(r1Value.replaceAll("\\.", ",")); | |
216 range2.setValue(r2Value.replaceAll("\\.", ",")); | |
217 } | |
218 else { | |
219 range1.setValue(r1Value); | |
220 range2.setValue(r2Value); | |
221 } | |
222 | 216 |
223 BooleanProperty fixation = | 217 BooleanProperty fixation = |
224 (BooleanProperty)pg.getPropertyByName("fixation"); | 218 (BooleanProperty)pg.getPropertyByName("fixation"); |
225 FormItem fix = createBooleanProperty(fixation); | 219 FormItem fix = createBooleanProperty(fixation); |
226 String fixValue = | 220 fix.setValue(((BooleanProperty) |
227 ((BooleanProperty) | 221 origPg.getPropertyByName("fixation")).getValue().booleanValue()); |
228 origPg.getPropertyByName("fixation")).getValue(); | 222 |
229 if(fixValue.equals("true")) { | |
230 fix.setValue(true); | |
231 } | |
232 else { | |
233 fix.setValue(false); | |
234 } | |
235 fix.addChangedHandler(new ChangedHandler() { | 223 fix.addChangedHandler(new ChangedHandler() { |
236 public void onChanged(ChangedEvent e) { | 224 public void onChanged(ChangedEvent e) { |
237 if ((Boolean)e.getValue()) { | 225 if ((Boolean)e.getValue()) { |
238 range1.enable(); | 226 range1.enable(); |
239 range2.enable(); | 227 range2.enable(); |
242 range1.disable(); | 230 range1.disable(); |
243 range2.disable(); | 231 range2.disable(); |
244 } | 232 } |
245 } | 233 } |
246 }); | 234 }); |
247 if (fixation.getValue().equals("true")) { | 235 if (fix.getValue().toString().equals("true")) { |
248 range1.enable(); | 236 range1.enable(); |
249 range2.enable(); | 237 range2.enable(); |
250 } | 238 } |
251 else { | 239 else { |
252 range1.disable(); | 240 range1.disable(); |
283 PropertySetting s = (PropertySetting)setting; | 271 PropertySetting s = (PropertySetting)setting; |
284 DynamicForm form = new DynamicForm(); | 272 DynamicForm form = new DynamicForm(); |
285 FormItem item = new FormItem(); | 273 FormItem item = new FormItem(); |
286 if (setting instanceof BooleanProperty) { | 274 if (setting instanceof BooleanProperty) { |
287 item = createBooleanProperty((BooleanProperty)setting); | 275 item = createBooleanProperty((BooleanProperty)setting); |
288 String iValue = ((BooleanProperty)orig).getValue(); | 276 item.setValue(((BooleanProperty)orig).getValue().toString()); |
289 if(iValue.equals("true")) { | |
290 item.setValue(true); | |
291 } | |
292 else { | |
293 item.setValue(false); | |
294 } | |
295 } | 277 } |
296 else if (setting instanceof DoubleProperty) { | 278 else if (setting instanceof DoubleProperty) { |
297 item = createDoubleProperty((DoubleProperty)setting); | 279 item = createDoubleProperty((DoubleProperty)setting); |
298 DoubleValidator validator = new DoubleValidator(); | 280 item.setValue(((DoubleProperty)orig).toUIString()); |
299 item.addChangedHandler(validator); | |
300 Config config = Config.getInstance(); | |
301 String locale = config.getLocale(); | |
302 String iValue = ((DoubleProperty)orig).getValue(); | |
303 if(locale.equals("de")) { | |
304 item.setValue(iValue.replaceAll("\\.", ",")); | |
305 } | |
306 else { | |
307 item.setValue(iValue); | |
308 } | |
309 } | 281 } |
310 else if (setting instanceof IntegerProperty) { | 282 else if (setting instanceof IntegerProperty) { |
311 item = createIntegerProperty((IntegerProperty)setting); | 283 item = createIntegerProperty((IntegerProperty)setting); |
312 item.addChangedHandler(new IntegerValidator()); | |
313 item.setValue(((IntegerProperty)orig).getValue()); | 284 item.setValue(((IntegerProperty)orig).getValue()); |
314 } | 285 } |
315 else if (setting instanceof StringProperty) { | 286 else if (setting instanceof StringProperty) { |
316 item = createStringProperty((StringProperty)setting); | 287 item = createStringProperty((StringProperty)setting); |
317 item.setValue(((StringProperty)orig).getValue()); | 288 item.setValue(((StringProperty)orig).getValue()); |
330 name = name.replace("-", "_"); | 301 name = name.replace("-", "_"); |
331 } | 302 } |
332 TextItem item = new TextItem(); | 303 TextItem item = new TextItem(); |
333 item.setTitle(MSG.getString(name)); | 304 item.setTitle(MSG.getString(name)); |
334 item.setTitleAlign(Alignment.LEFT); | 305 item.setTitleAlign(Alignment.LEFT); |
335 item.addChangedHandler(new ChangedHandler() { | 306 item.addBlurHandler(new BlurHandler() { |
336 public void onChanged(ChangedEvent e) { | 307 public void onBlur(BlurEvent e) { |
337 String val; | 308 String val; |
338 if (e.getValue() == null) { | 309 if (e.getItem().getValue() == null) { |
339 val = ""; | 310 val = ""; |
340 } | 311 } |
341 else { | 312 else { |
342 val = e.getValue().toString(); | 313 val = e.getItem().getValue().toString(); |
343 } | 314 } |
344 sp.setValue(val); | 315 sp.setValue(val); |
345 } | 316 } |
346 }); | 317 }); |
347 return item; | 318 return item; |
359 | 330 |
360 CheckboxItem item = new CheckboxItem("item", MSG.getString(name)); | 331 CheckboxItem item = new CheckboxItem("item", MSG.getString(name)); |
361 item.setLabelAsTitle(true); | 332 item.setLabelAsTitle(true); |
362 item.setTitleStyle("color:#000;"); | 333 item.setTitleStyle("color:#000;"); |
363 item.setTitleAlign(Alignment.LEFT); | 334 item.setTitleAlign(Alignment.LEFT); |
364 item.addChangedHandler(new ChangedHandler() { | 335 item.addBlurHandler(new BlurHandler() { |
365 public void onChanged(ChangedEvent e) { | 336 public void onBlur(BlurEvent e) { |
366 String val; | 337 String val; |
367 if (e.getValue() == null) { | 338 if (e.getItem().getValue() == null) { |
368 val = ""; | 339 val = ""; |
369 } | 340 } |
370 else { | 341 else { |
371 val = e.getValue().toString(); | 342 val = e.getItem().getValue().toString(); |
372 } | 343 } |
373 bp.setValue(val); | 344 bp.setValue(val); |
374 } | 345 } |
375 }); | 346 }); |
376 return item; | 347 return item; |
387 } | 358 } |
388 | 359 |
389 TextItem item = new TextItem(); | 360 TextItem item = new TextItem(); |
390 item.setTitle(MSG.getString(name)); | 361 item.setTitle(MSG.getString(name)); |
391 item.setTitleAlign(Alignment.LEFT); | 362 item.setTitleAlign(Alignment.LEFT); |
392 item.addChangedHandler(new ChangedHandler() { | 363 item.addBlurHandler(new BlurHandler() { |
393 public void onChanged(ChangedEvent e) { | 364 public void onBlur(BlurEvent e) { |
394 String val; | 365 DoubleValidator validator = new DoubleValidator(); |
395 if (e.getValue() == null) { | 366 Map errors = e.getForm().getErrors(); |
396 val = ""; | 367 if(validator.validate(e.getItem(), errors)) { |
397 } | 368 dp.setValueFromUI(e.getItem().getValue().toString()); |
398 else { | 369 e.getForm().setErrors(errors, true); |
399 val = e.getValue().toString(); | 370 } |
400 } | 371 else { |
401 DoubleValidator validator = new DoubleValidator(); | 372 e.getForm().setErrors(errors, true); |
402 | 373 } |
403 Map errors = e.getForm().getErrors(); | |
404 String input = validator.toProtocolString(e.getItem(), errors); | |
405 if(input != null) { | |
406 dp.setValue(input); | |
407 } | |
408 } | 374 } |
409 }); | 375 }); |
410 return item; | 376 return item; |
411 } | 377 } |
412 | 378 |
421 } | 387 } |
422 | 388 |
423 TextItem item = new TextItem(); | 389 TextItem item = new TextItem(); |
424 item.setTitle(MSG.getString(name)); | 390 item.setTitle(MSG.getString(name)); |
425 item.setTitleAlign(Alignment.LEFT); | 391 item.setTitleAlign(Alignment.LEFT); |
426 item.addChangedHandler(new ChangedHandler() { | 392 item.addBlurHandler(new BlurHandler() { |
427 public void onChanged(ChangedEvent e) { | 393 public void onBlur(BlurEvent e) { |
428 String val; | 394 IntegerValidator validator = new IntegerValidator(); |
429 if (e.getValue() == null) { | 395 Map errors = e.getForm().getErrors(); |
430 val = ""; | 396 if(validator.validate(e.getItem(), errors)) { |
397 ip.setValue(e.getItem().getValue().toString()); | |
398 e.getForm().setErrors(errors, true); | |
431 } | 399 } |
432 else { | 400 else { |
433 val = e.getValue().toString(); | 401 e.getForm().setErrors(errors, true); |
434 } | 402 } |
435 ip.setValue(val); | |
436 } | 403 } |
437 }); | 404 }); |
438 return item; | 405 return item; |
439 } | 406 } |
440 | 407 |