branch develop updated (73fc491 -> 05cc639)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git from 73fc491 fixes #3580: Introduce a new FilterableDoubleList widget (use Collection api for inputs) new 05cc639 fixes #3581: Fix absolute coordinate editor labels fixes #3582: Improve the dmd editor pattern The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 05cc6396ef99f56e602511b1a81ab938c81f50a3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 28 15:53:27 2014 +0100 fixes #3581: Fix absolute coordinate editor labels fixes #3582: Improve the dmd editor pattern Summary of changes: .../org/nuiton/jaxx/widgets/gis/DmdCoordinate.java | 5 +-- .../AbsoluteDdCoordinateEditorHandler.java | 47 ++++++++++----------- .../AbsoluteDmdCoordinateEditorHandler.java | 49 ++++++++++------------ .../AbsoluteDmsCoordinateEditorHandler.java | 34 +++++++-------- .../signed/SignedDmdCoordinateEditorHandler.java | 2 +- .../i18n/jaxx-widgets-gis_fr_FR.properties | 4 +- .../widgets/gis/DmdCoordinateConverterTest.java | 34 +++++++-------- 7 files changed, 81 insertions(+), 94 deletions(-) -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository jaxx. See http://git.nuiton.org/jaxx.git commit 05cc6396ef99f56e602511b1a81ab938c81f50a3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 28 15:53:27 2014 +0100 fixes #3581: Fix absolute coordinate editor labels fixes #3582: Improve the dmd editor pattern --- .../org/nuiton/jaxx/widgets/gis/DmdCoordinate.java | 5 +-- .../AbsoluteDdCoordinateEditorHandler.java | 47 ++++++++++----------- .../AbsoluteDmdCoordinateEditorHandler.java | 49 ++++++++++------------ .../AbsoluteDmsCoordinateEditorHandler.java | 34 +++++++-------- .../signed/SignedDmdCoordinateEditorHandler.java | 2 +- .../i18n/jaxx-widgets-gis_fr_FR.properties | 4 +- .../widgets/gis/DmdCoordinateConverterTest.java | 34 +++++++-------- 7 files changed, 81 insertions(+), 94 deletions(-) diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/DmdCoordinate.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/DmdCoordinate.java index a2fadfc..2e893d2 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/DmdCoordinate.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/DmdCoordinate.java @@ -38,10 +38,9 @@ public class DmdCoordinate extends AbstractSerializableBean { private static final long serialVersionUID = 1L; - public static final String COORDINATE_STRING_PATTERN = "%s%s°%s'%s"; + public static final String COORDINATE_STRING_PATTERN = "%s%s°%s.%s'"; - public static final Pattern COORDINATE_PATTERN = - Pattern.compile("(.*)°(.*)'(.*)"); + public static final Pattern COORDINATE_PATTERN = Pattern.compile("(.*)°(.*)\\.(.*)'"); public static final String PROPERTY_SIGN = "sign"; diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditorHandler.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditorHandler.java index 1407b1f..b4f408a 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditorHandler.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditorHandler.java @@ -24,11 +24,11 @@ package org.nuiton.jaxx.widgets.gis.absolute; import com.google.common.base.Preconditions; import jaxx.runtime.spi.UIHandler; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.widgets.gis.DdCoordinate; import org.nuiton.jaxx.widgets.gis.DdCoordinateConverter; import org.nuiton.jaxx.widgets.gis.MaskFormatterFromConverter; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.BeanUtil; import javax.swing.JFormattedTextField; @@ -60,15 +60,13 @@ public class AbsoluteDdCoordinateEditorHandler implements UIHandler<AbsoluteDdCo protected boolean valueModelIsAdjusting; - protected DdCoordinateConverter unsignedConverter; - - protected DefaultFormatterFactory formatterFactory; + protected DdCoordinateConverter coordinateConverter; @Override public void beforeInit(AbsoluteDdCoordinateEditor ui) { this.ui = ui; // can't use the one from ConverterUtil since we deal with some internal states - this.unsignedConverter = new DdCoordinateConverter(); + this.coordinateConverter = new DdCoordinateConverter(); } @Override @@ -92,26 +90,26 @@ public class AbsoluteDdCoordinateEditorHandler implements UIHandler<AbsoluteDdCo decimalMutator = BeanUtil.getMutator(bean, model.getPropertyDecimal()); Preconditions.checkNotNull(decimalMutator, "could not find mutator for " + model.getPropertyDecimal()); - unsignedConverter.setForLongitude(longitudeEditor); - - { - // prepare unsigned formatter factory - String pattern = getMaskFormatterPattern(longitudeEditor); - MaskFormatterFromConverter<DdCoordinate> maskFormatter; - try { - maskFormatter = MaskFormatterFromConverter.newFormatter( - DdCoordinate.class, - pattern, unsignedConverter); - maskFormatter.setValidCharacters(" 01234567890"); - maskFormatter.setCommitsOnValidEdit(true); - formatterFactory = new DefaultFormatterFactory(maskFormatter); - } catch (ParseException e) { - // can't happen here - throw new RuntimeException(e); - } + coordinateConverter.setForLongitude(longitudeEditor); + + // prepare unsigned formatter factory + String pattern = getMaskFormatterPattern(longitudeEditor); + MaskFormatterFromConverter<DdCoordinate> maskFormatter; + try { + maskFormatter = MaskFormatterFromConverter.newFormatter( + DdCoordinate.class, + pattern, coordinateConverter); + maskFormatter.setValidCharacters(" 01234567890"); + maskFormatter.setCommitsOnValidEdit(true); + + } catch (ParseException e) { + // can't happen here + throw new RuntimeException(e); } JFormattedTextField editor = ui.getEditor(); + + DefaultFormatterFactory formatterFactory = new DefaultFormatterFactory(maskFormatter); editor.setFormatterFactory(formatterFactory); editor.setFocusLostBehavior(JFormattedTextField.COMMIT); @@ -157,9 +155,6 @@ public class AbsoluteDdCoordinateEditorHandler implements UIHandler<AbsoluteDdCo public void resetEditor() { // set null value to model setValue(null, true); - - // use back unsigned format - ui.getEditor().setFormatterFactory(formatterFactory); } protected String getMaskFormatterPattern(boolean longitudeEditor) { diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditorHandler.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditorHandler.java index 29ce92f..e42e078 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditorHandler.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditorHandler.java @@ -24,11 +24,11 @@ package org.nuiton.jaxx.widgets.gis.absolute; import com.google.common.base.Preconditions; import jaxx.runtime.spi.UIHandler; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.widgets.gis.DmdCoordinate; import org.nuiton.jaxx.widgets.gis.DmdCoordinateConverter; import org.nuiton.jaxx.widgets.gis.MaskFormatterFromConverter; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.BeanUtil; import javax.swing.JFormattedTextField; @@ -64,15 +64,13 @@ public class AbsoluteDmdCoordinateEditorHandler implements UIHandler<AbsoluteDmd protected boolean valueModelIsAdjusting; - protected DmdCoordinateConverter unsignedConverter; - - protected DefaultFormatterFactory formatterFactory; + protected DmdCoordinateConverter coordinateConverter; @Override public void beforeInit(AbsoluteDmdCoordinateEditor ui) { this.ui = ui; // can't use the one from ConverterUtil since we deal with some internal states - this.unsignedConverter = new DmdCoordinateConverter(); + this.coordinateConverter = new DmdCoordinateConverter(); } @Override @@ -100,26 +98,26 @@ public class AbsoluteDmdCoordinateEditorHandler implements UIHandler<AbsoluteDmd decimalMutator = BeanUtil.getMutator(bean, model.getPropertyDecimal()); Preconditions.checkNotNull(decimalMutator, "could not find mutator for " + model.getPropertyDecimal()); - unsignedConverter.setForLongitude(longitudeEditor); - - { - // prepare unsigned formatter factory - String pattern = getMaskFormatterPattern(longitudeEditor); - MaskFormatterFromConverter<DmdCoordinate> maskFormatter; - try { - maskFormatter = MaskFormatterFromConverter.newFormatter( - DmdCoordinate.class, - pattern, unsignedConverter); - maskFormatter.setValidCharacters(" 01234567890"); - maskFormatter.setCommitsOnValidEdit(true); - formatterFactory = new DefaultFormatterFactory(maskFormatter); - } catch (ParseException e) { - // can't happen here - throw new RuntimeException(e); - } + coordinateConverter.setForLongitude(longitudeEditor); + + // prepare unsigned formatter factory + String pattern = getMaskFormatterPattern(longitudeEditor); + MaskFormatterFromConverter<DmdCoordinate> maskFormatter; + try { + maskFormatter = MaskFormatterFromConverter.newFormatter( + DmdCoordinate.class, + pattern, coordinateConverter); + maskFormatter.setValidCharacters(" 01234567890"); + maskFormatter.setCommitsOnValidEdit(true); + + } catch (ParseException e) { + // can't happen here + throw new RuntimeException(e); } JFormattedTextField editor = ui.getEditor(); + + DefaultFormatterFactory formatterFactory = new DefaultFormatterFactory(maskFormatter); editor.setFormatterFactory(formatterFactory); editor.setFocusLostBehavior(JFormattedTextField.COMMIT); @@ -168,15 +166,14 @@ public class AbsoluteDmdCoordinateEditorHandler implements UIHandler<AbsoluteDmd } public void resetEditor() { + // set null value to model setValue(null, true); - // use back unsigned format - ui.getEditor().setFormatterFactory(formatterFactory); } protected String getMaskFormatterPattern(boolean longitudeEditor) { - String pattern = "**°**''**"; + String pattern = "**°**.**''"; if (longitudeEditor) { // add one more degre pattern = "*" + pattern; diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditorHandler.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditorHandler.java index 132059b..69060ee 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditorHandler.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditorHandler.java @@ -64,8 +64,6 @@ public class AbsoluteDmsCoordinateEditorHandler implements UIHandler<AbsoluteDms protected DmsCoordinateConverter coordinateConverter; - protected DefaultFormatterFactory formatterFactory; - @Override public void beforeInit(AbsoluteDmsCoordinateEditor ui) { this.ui = ui; @@ -100,24 +98,24 @@ public class AbsoluteDmsCoordinateEditorHandler implements UIHandler<AbsoluteDms coordinateConverter.setForLongitude(longitudeEditor); - { - // prepare unsigned formatter factory - String pattern = getMaskFormatterPattern(longitudeEditor); - MaskFormatterFromConverter<DmsCoordinate> maskFormatter; - try { - maskFormatter = MaskFormatterFromConverter.newFormatter( - DmsCoordinate.class, - pattern, coordinateConverter); - maskFormatter.setValidCharacters(" 01234567890"); - maskFormatter.setCommitsOnValidEdit(true); - formatterFactory = new DefaultFormatterFactory(maskFormatter); - } catch (ParseException e) { - // can't happen here - throw new RuntimeException(e); - } + // prepare unsigned formatter factory + String pattern = getMaskFormatterPattern(longitudeEditor); + MaskFormatterFromConverter<DmsCoordinate> maskFormatter; + try { + maskFormatter = MaskFormatterFromConverter.newFormatter( + DmsCoordinate.class, + pattern, coordinateConverter); + maskFormatter.setValidCharacters(" 01234567890"); + maskFormatter.setCommitsOnValidEdit(true); + + } catch (ParseException e) { + // can't happen here + throw new RuntimeException(e); } JFormattedTextField editor = ui.getEditor(); + + DefaultFormatterFactory formatterFactory = new DefaultFormatterFactory(maskFormatter); editor.setFormatterFactory(formatterFactory); editor.setFocusLostBehavior(JFormattedTextField.COMMIT); @@ -170,8 +168,6 @@ public class AbsoluteDmsCoordinateEditorHandler implements UIHandler<AbsoluteDms // set null value to model setValue(null, true); - // use back unsigned format - ui.getEditor().setFormatterFactory(formatterFactory); } protected String getMaskFormatterPattern(boolean longitudeEditor) { diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/signed/SignedDmdCoordinateEditorHandler.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/signed/SignedDmdCoordinateEditorHandler.java index b2b511d..9208f0c 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/signed/SignedDmdCoordinateEditorHandler.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/signed/SignedDmdCoordinateEditorHandler.java @@ -263,7 +263,7 @@ public class SignedDmdCoordinateEditorHandler implements UIHandler<SignedDmdCoor } protected String getMaskFormatterPattern(boolean longitudeEditor, boolean useSign) { - String pattern = "**°**''**"; + String pattern = "**°**.**''"; if (longitudeEditor) { // add one more degre pattern = "*" + pattern; diff --git a/jaxx-widgets-gis/src/main/resources/i18n/jaxx-widgets-gis_fr_FR.properties b/jaxx-widgets-gis/src/main/resources/i18n/jaxx-widgets-gis_fr_FR.properties index ee122f0..edbefaf 100644 --- a/jaxx-widgets-gis/src/main/resources/i18n/jaxx-widgets-gis_fr_FR.properties +++ b/jaxx-widgets-gis/src/main/resources/i18n/jaxx-widgets-gis_fr_FR.properties @@ -9,9 +9,9 @@ jaxx.coordinate.action.reset.longitude.tip=Réinitialiser la longitude jaxx.coordinate.format.dd=DD jaxx.coordinate.format.dd.tip=Format Degré / Décimal jaxx.coordinate.format.dmd=DMD -jaxx.coordinate.format.dmd.tip=Format Degré / Minute / Seconde +jaxx.coordinate.format.dmd.tip=Format Degré / Minute décimale jaxx.coordinate.format.dms=DMS -jaxx.coordinate.format.dms.tip=Format Degré / Minute décimal +jaxx.coordinate.format.dms.tip=Format Degré / Minute / Seconde jaxx.error.no.convertor.coordinateDd=Impossible de convertir en (ou depuis) une coordonée DD depuis la valeur %s jaxx.error.no.convertor.coordinateDmd=Impossible de convertir en (ou depuis) une coordonée DMD depuis la valeur %s jaxx.error.no.convertor.coordinateDms=Impossible de convertir en (ou depuis) une coordonée DMS depuis la valeur %s diff --git a/jaxx-widgets-gis/src/test/java/org/nuiton/jaxx/widgets/gis/DmdCoordinateConverterTest.java b/jaxx-widgets-gis/src/test/java/org/nuiton/jaxx/widgets/gis/DmdCoordinateConverterTest.java index 7f95176..12881b0 100644 --- a/jaxx-widgets-gis/src/test/java/org/nuiton/jaxx/widgets/gis/DmdCoordinateConverterTest.java +++ b/jaxx-widgets-gis/src/test/java/org/nuiton/jaxx/widgets/gis/DmdCoordinateConverterTest.java @@ -39,23 +39,23 @@ public class DmdCoordinateConverterTest { ConverterUtil.initConverters(); - testConversion(false, "- ° '44", DmdCoordinate.valueOf(-0.007333f)); - testConversion(false, " ° '44", DmdCoordinate.valueOf(0.007333f)); - testConversion(false, " ° '99", DmdCoordinate.valueOf(false, null, null, 99)); - testConversion(false, " ° ' ", DmdCoordinate.empty()); - testConversion(false, " °39'99", DmdCoordinate.valueOf(false, null, 39, 99)); - testConversion(false, " °39' ", DmdCoordinate.valueOf(false, null, 39, null)); - testConversion(false, " 0°39'99", DmdCoordinate.valueOf(false, 0, 39, 99)); - testConversion(false, " 0° ' ", DmdCoordinate.valueOf(false, 0, null, null)); - - testConversion(true, "- ° '44", DmdCoordinate.valueOf(-0.007333f)); - testConversion(true, " ° '44", DmdCoordinate.valueOf(0.007333f)); - testConversion(true, " ° ' ", DmdCoordinate.empty()); - testConversion(true, " ° '99", DmdCoordinate.valueOf(false, null, null, 99)); - testConversion(true, " °39'99", DmdCoordinate.valueOf(false, null, 39, 99)); - testConversion(true, " °39' ", DmdCoordinate.valueOf(false, null, 39, null)); - testConversion(true, " 0°39'99", DmdCoordinate.valueOf(false, 0, 39, 99)); - testConversion(true, " 0° ' ", DmdCoordinate.valueOf(false, 0, null, null)); + testConversion(false, "- ° .44'", DmdCoordinate.valueOf(-0.007333f)); + testConversion(false, " ° .44'", DmdCoordinate.valueOf(0.007333f)); + testConversion(false, " ° .99'", DmdCoordinate.valueOf(false, null, null, 99)); + testConversion(false, " ° . '", DmdCoordinate.empty()); + testConversion(false, " °39.99'", DmdCoordinate.valueOf(false, null, 39, 99)); + testConversion(false, " °39. '", DmdCoordinate.valueOf(false, null, 39, null)); + testConversion(false, " 0°39.99'", DmdCoordinate.valueOf(false, 0, 39, 99)); + testConversion(false, " 0° . '", DmdCoordinate.valueOf(false, 0, null, null)); + + testConversion(true, "- ° .44'", DmdCoordinate.valueOf(-0.007333f)); + testConversion(true, " ° .44'", DmdCoordinate.valueOf(0.007333f)); + testConversion(true, " ° . '", DmdCoordinate.empty()); + testConversion(true, " ° .99'", DmdCoordinate.valueOf(false, null, null, 99)); + testConversion(true, " °39.99'", DmdCoordinate.valueOf(false, null, 39, 99)); + testConversion(true, " °39. '", DmdCoordinate.valueOf(false, null, 39, null)); + testConversion(true, " 0°39.99'", DmdCoordinate.valueOf(false, 0, 39, 99)); + testConversion(true, " 0° . '", DmdCoordinate.valueOf(false, 0, null, null)); } protected void testConversion(boolean forLongitude, String expectedString, DmdCoordinate expectedCoordinate) { -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.
participants (1)
-
nuiton.org scm