Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java Mon Jan 09 18:06:01 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/chart/ChartPropertiesEditor.java Wed Jan 11 10:21:22 2012 +0000 @@ -25,6 +25,8 @@ import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.fields.events.ChangedHandler; import com.smartgwt.client.widgets.form.fields.events.ChangedEvent; +import com.smartgwt.client.widgets.form.fields.events.BlurHandler; +import com.smartgwt.client.widgets.form.fields.events.BlurEvent; import com.smartgwt.client.types.Alignment; @@ -192,7 +194,6 @@ IntegerProperty fontsize = (IntegerProperty)pg.getPropertyByName("font-size"); FormItem fs = createIntegerProperty(fontsize); - fs.addChangedHandler(new IntegerValidator()); fs.setValue( ((IntegerProperty) origPg.getPropertyByName("font-size")).getValue()); @@ -200,38 +201,25 @@ DoubleProperty upper = (DoubleProperty)pg.getPropertyByName("upper"); final FormItem range1 = createDoubleProperty(upper); - range1.addChangedHandler(new DoubleValidator()); range1.setWidth(70); - String r1Value = - ((DoubleProperty)origPg.getPropertyByName("upper")).getValue(); + range1.setValue( + ((DoubleProperty) + origPg.getPropertyByName("upper")).toUIString()); + DoubleProperty lower = (DoubleProperty)pg.getPropertyByName("lower"); final FormItem range2 = createDoubleProperty(lower); - range2.addChangedHandler(new DoubleValidator()); range2.setWidth(70); - String r2Value = - ((DoubleProperty)origPg.getPropertyByName("lower")).getValue(); - if(locale.equals("de")) { - range1.setValue(r1Value.replaceAll("\\.", ",")); - range2.setValue(r2Value.replaceAll("\\.", ",")); - } - else { - range1.setValue(r1Value); - range2.setValue(r2Value); - } + range2.setValue( + ((DoubleProperty) + origPg.getPropertyByName("lower")).toUIString()); BooleanProperty fixation = (BooleanProperty)pg.getPropertyByName("fixation"); FormItem fix = createBooleanProperty(fixation); - String fixValue = - ((BooleanProperty) - origPg.getPropertyByName("fixation")).getValue(); - if(fixValue.equals("true")) { - fix.setValue(true); - } - else { - fix.setValue(false); - } + fix.setValue(((BooleanProperty) + origPg.getPropertyByName("fixation")).getValue().booleanValue()); + fix.addChangedHandler(new ChangedHandler() { public void onChanged(ChangedEvent e) { if ((Boolean)e.getValue()) { @@ -244,7 +232,7 @@ } } }); - if (fixation.getValue().equals("true")) { + if (fix.getValue().toString().equals("true")) { range1.enable(); range2.enable(); } @@ -285,31 +273,14 @@ FormItem item = new FormItem(); if (setting instanceof BooleanProperty) { item = createBooleanProperty((BooleanProperty)setting); - String iValue = ((BooleanProperty)orig).getValue(); - if(iValue.equals("true")) { - item.setValue(true); - } - else { - item.setValue(false); - } + item.setValue(((BooleanProperty)orig).getValue().toString()); } else if (setting instanceof DoubleProperty) { item = createDoubleProperty((DoubleProperty)setting); - DoubleValidator validator = new DoubleValidator(); - item.addChangedHandler(validator); - Config config = Config.getInstance(); - String locale = config.getLocale(); - String iValue = ((DoubleProperty)orig).getValue(); - if(locale.equals("de")) { - item.setValue(iValue.replaceAll("\\.", ",")); - } - else { - item.setValue(iValue); - } + item.setValue(((DoubleProperty)orig).toUIString()); } else if (setting instanceof IntegerProperty) { item = createIntegerProperty((IntegerProperty)setting); - item.addChangedHandler(new IntegerValidator()); item.setValue(((IntegerProperty)orig).getValue()); } else if (setting instanceof StringProperty) { @@ -332,14 +303,14 @@ TextItem item = new TextItem(); item.setTitle(MSG.getString(name)); item.setTitleAlign(Alignment.LEFT); - item.addChangedHandler(new ChangedHandler() { - public void onChanged(ChangedEvent e) { + item.addBlurHandler(new BlurHandler() { + public void onBlur(BlurEvent e) { String val; - if (e.getValue() == null) { + if (e.getItem().getValue() == null) { val = ""; } else { - val = e.getValue().toString(); + val = e.getItem().getValue().toString(); } sp.setValue(val); } @@ -361,14 +332,14 @@ item.setLabelAsTitle(true); item.setTitleStyle("color:#000;"); item.setTitleAlign(Alignment.LEFT); - item.addChangedHandler(new ChangedHandler() { - public void onChanged(ChangedEvent e) { + item.addBlurHandler(new BlurHandler() { + public void onBlur(BlurEvent e) { String val; - if (e.getValue() == null) { + if (e.getItem().getValue() == null) { val = ""; } else { - val = e.getValue().toString(); + val = e.getItem().getValue().toString(); } bp.setValue(val); } @@ -389,22 +360,17 @@ TextItem item = new TextItem(); item.setTitle(MSG.getString(name)); item.setTitleAlign(Alignment.LEFT); - item.addChangedHandler(new ChangedHandler() { - public void onChanged(ChangedEvent e) { - String val; - if (e.getValue() == null) { - val = ""; - } - else { - val = e.getValue().toString(); - } - DoubleValidator validator = new DoubleValidator(); - - Map errors = e.getForm().getErrors(); - String input = validator.toProtocolString(e.getItem(), errors); - if(input != null) { - dp.setValue(input); - } + item.addBlurHandler(new BlurHandler() { + public void onBlur(BlurEvent e) { + DoubleValidator validator = new DoubleValidator(); + Map errors = e.getForm().getErrors(); + if(validator.validate(e.getItem(), errors)) { + dp.setValueFromUI(e.getItem().getValue().toString()); + e.getForm().setErrors(errors, true); + } + else { + e.getForm().setErrors(errors, true); + } } }); return item; @@ -423,16 +389,17 @@ TextItem item = new TextItem(); item.setTitle(MSG.getString(name)); item.setTitleAlign(Alignment.LEFT); - item.addChangedHandler(new ChangedHandler() { - public void onChanged(ChangedEvent e) { - String val; - if (e.getValue() == null) { - val = ""; + item.addBlurHandler(new BlurHandler() { + public void onBlur(BlurEvent e) { + IntegerValidator validator = new IntegerValidator(); + Map errors = e.getForm().getErrors(); + if(validator.validate(e.getItem(), errors)) { + ip.setValue(e.getItem().getValue().toString()); + e.getForm().setErrors(errors, true); } else { - val = e.getValue().toString(); + e.getForm().setErrors(errors, true); } - ip.setValue(val); } }); return item;