This is an automated email from the git hooks/post-receive script. New commit to branch support/2.x in repository jaxx. See http://git.nuiton.org/jaxx.git commit 7ae9ea0de6f6a20f19fe58809f33c1a6dc1c0614 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Apr 22 12:10:30 2015 +0200 Add displayZeroWhenNull property in absolute API (refs #3677) --- .../gis/absolute/AbsoluteDdCoordinateEditor.jaxx | 1 + .../AbsoluteDdCoordinateEditorHandler.java | 23 +++++++++++ .../gis/absolute/AbsoluteDmdCoordinateEditor.jaxx | 1 + .../AbsoluteDmdCoordinateEditorHandler.java | 23 +++++++++++ .../gis/absolute/AbsoluteDmsCoordinateEditor.jaxx | 1 + .../AbsoluteDmsCoordinateEditorHandler.java | 25 +++++++++++- .../widgets/gis/absolute/CoordinatesEditor.jaxx | 2 + .../gis/absolute/CoordinatesEditorHandler.java | 9 +++++ .../gis/absolute/CoordinatesEditorModel.java | 45 ++++++++++++++++++++++ 9 files changed, 129 insertions(+), 1 deletion(-) diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditor.jaxx b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditor.jaxx index 4aecc74..73fa859 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditor.jaxx +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDdCoordinateEditor.jaxx @@ -44,6 +44,7 @@ public void init(boolean longitudeEditor) { handler.init(longitudeEditor); } public void setBean(Serializable bean) { model.setBean(bean); } public void setPropertyDegree(String property) { model.setPropertyDegree(property); } public void setPropertyDecimal(String property) { model.setPropertyDecimal(property); } +public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { handler.setDisplayZeroWhenNull(displayZeroWhenNull); } public void setValue(DdCoordinate value) { handler.setValue(value, true); } ]]> </script> 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 8765bb7..b81d396 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 @@ -139,6 +139,29 @@ public class AbsoluteDdCoordinateEditorHandler implements UIHandler<AbsoluteDdCo new ModelPropertyChangeListener(model, decimalMutator)); } + public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { + + coordinateConverter.setDisplayZeroWhenNull(displayZeroWhenNull); + if (log.isDebugEnabled()) { + log.debug("setDisplayZeroWhenNull: " + displayZeroWhenNull); + } + AbsoluteDdCoordinateEditorModel model = ui.getModel(); + JFormattedTextField editor = ui.getEditor(); + JFormattedTextField.AbstractFormatter formatter = editor.getFormatter(); + try { + String newStringValue = formatter.valueToString(model); + if (log.isDebugEnabled()) { + log.debug("updating string value: " + newStringValue); + } + editor.setText(newStringValue); + } catch (ParseException e) { + if (log.isErrorEnabled()) { + log.error("Could not parse new string value", e); + } + } + + } + public void setValue(DdCoordinate value, boolean pushToModel) { if (valueModelIsAdjusting) { diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditor.jaxx b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditor.jaxx index fa08e7e..bf950b8 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditor.jaxx +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmdCoordinateEditor.jaxx @@ -45,6 +45,7 @@ public void setBean(Serializable bean) { model.setBean(bean); } public void setPropertyDegree(String property ) { model.setPropertyDegree(property); } public void setPropertyMinute(String property ) { model.setPropertyMinute(property); } public void setPropertyDecimal(String property ) { model.setPropertyDecimal(property); } +public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { handler.setDisplayZeroWhenNull(displayZeroWhenNull); } public void setValue(DmdCoordinate value) { handler.setValue(value, true); } ]]> </script> 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 250c64d..1d1774c 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 @@ -152,6 +152,29 @@ public class AbsoluteDmdCoordinateEditorHandler implements UIHandler<AbsoluteDmd new ModelPropertyChangeListener(model, decimalMutator)); } + public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { + + coordinateConverter.setDisplayZeroWhenNull(displayZeroWhenNull); + if (log.isDebugEnabled()) { + log.debug("setDisplayZeroWhenNull: " + displayZeroWhenNull); + } + AbsoluteDmdCoordinateEditorModel model = ui.getModel(); + JFormattedTextField editor = ui.getEditor(); + JFormattedTextField.AbstractFormatter formatter = editor.getFormatter(); + try { + String newStringValue = formatter.valueToString(model); + if (log.isDebugEnabled()) { + log.debug("updating string value: " + newStringValue); + } + editor.setText(newStringValue); + } catch (ParseException e) { + if (log.isErrorEnabled()) { + log.error("Could not parse new string value", e); + } + } + + } + public void setValue(DmdCoordinate value, boolean pushToModel) { if (valueModelIsAdjusting) { diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditor.jaxx b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditor.jaxx index 7029e56..3ca5b5d 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditor.jaxx +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/AbsoluteDmsCoordinateEditor.jaxx @@ -45,6 +45,7 @@ public void setBean(Serializable bean) { model.setBean(bean); } public void setPropertyDegree(String property ) { model.setPropertyDegree(property); } public void setPropertyMinute(String property ) { model.setPropertyMinute(property); } public void setPropertySecond(String property ) { model.setPropertySecond(property); } +public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { handler.setDisplayZeroWhenNull(displayZeroWhenNull); } public void setValue(DmsCoordinate value) { handler.setValue(value, true); } ]]> </script> 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 991d4be..a9e2ade 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 @@ -28,8 +28,8 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.jaxx.widgets.gis.DmsCoordinate; import org.nuiton.jaxx.widgets.gis.DmsCoordinateConverter; -import org.nuiton.jaxx.widgets.jformattedtextfield.JFormattedTextFieldNavigationManager; import org.nuiton.jaxx.widgets.gis.MaskFormatterFromConverter; +import org.nuiton.jaxx.widgets.jformattedtextfield.JFormattedTextFieldNavigationManager; import org.nuiton.util.beans.BeanUtil; import javax.swing.JFormattedTextField; @@ -150,6 +150,29 @@ public class AbsoluteDmsCoordinateEditorHandler implements UIHandler<AbsoluteDms new ModelPropertyChangeListener(model, secondMutator)); } + public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { + + coordinateConverter.setDisplayZeroWhenNull(displayZeroWhenNull); + if (log.isDebugEnabled()) { + log.debug("setDisplayZeroWhenNull: "+displayZeroWhenNull); + } + AbsoluteDmsCoordinateEditorModel model = ui.getModel(); + JFormattedTextField editor = ui.getEditor(); + JFormattedTextField.AbstractFormatter formatter = editor.getFormatter(); + try { + String newStringValue = formatter.valueToString(model); + if (log.isDebugEnabled()) { + log.debug("updating string value: "+newStringValue); + } + editor.setText(newStringValue); + } catch (ParseException e) { + if (log.isErrorEnabled()) { + log.error("Could not parse new string value", e); + } + } + + } + public void setValue(DmsCoordinate value, boolean pushToModel) { if (valueModelIsAdjusting) { diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditor.jaxx b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditor.jaxx index 3b83ddc..95600a7 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditor.jaxx +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditor.jaxx @@ -36,8 +36,10 @@ public void setPropertyLongitude(String property) { model.setPropertyLongitude(p public void setQuadrant(Integer quadrant) { model.setQuadrant(quadrant); } public void setLatitude(Float latitude) { model.setLatitude(latitude); } public void setLongitude(Float longitude) { model.setLongitude(longitude); } +public void setLatitudeAndLongitude(Float latitude, Float longitude) { model.setLatitudeAndLongitude(latitude, longitude); } public void setFormat(CoordinateFormat format) { model.setFormat(format); } public void setShowResetButton(boolean showResetButton) { model.setShowResetButton(showResetButton); } +public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { model.setDisplayZeroWhenNull(displayZeroWhenNull); } ]]> </script> diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorHandler.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorHandler.java index f4dbc3c..701f742 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorHandler.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorHandler.java @@ -108,6 +108,15 @@ public class CoordinatesEditorHandler implements UIHandler<CoordinatesEditor> { } + boolean displayZeroWhenNull = model.isDisplayZeroWhenNull(); + + ui.getLatitudeDd().setDisplayZeroWhenNull(displayZeroWhenNull); + ui.getLatitudeDms().setDisplayZeroWhenNull(displayZeroWhenNull); + ui.getLatitudeDmd().setDisplayZeroWhenNull(displayZeroWhenNull); + ui.getLongitudeDd().setDisplayZeroWhenNull(displayZeroWhenNull); + ui.getLongitudeDms().setDisplayZeroWhenNull(displayZeroWhenNull); + ui.getLongitudeDmd().setDisplayZeroWhenNull(displayZeroWhenNull); + } public boolean isQuadrantSelected(Integer value, int requiredValue) { diff --git a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorModel.java b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorModel.java index bec23fa..8bea54d 100644 --- a/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorModel.java +++ b/jaxx-widgets-gis/src/main/java/org/nuiton/jaxx/widgets/gis/absolute/CoordinatesEditorModel.java @@ -72,6 +72,11 @@ public class CoordinatesEditorModel extends AbstractSerializableBean { protected boolean showResetButton; + /** + * Display a zero on each coordinate componant when it is null. + */ + protected boolean displayZeroWhenNull; + private boolean valueIsAdjusting; public CoordinatesEditorModel() { @@ -169,6 +174,14 @@ public class CoordinatesEditorModel extends AbstractSerializableBean { this.propertyQuadrant = propertyQuadrant; } + public boolean isDisplayZeroWhenNull() { + return displayZeroWhenNull; + } + + public void setDisplayZeroWhenNull(boolean displayZeroWhenNull) { + this.displayZeroWhenNull = displayZeroWhenNull; + } + public boolean isShowResetButton() { return showResetButton; } @@ -187,6 +200,38 @@ public class CoordinatesEditorModel extends AbstractSerializableBean { return longitudeModel; } + public void setLatitudeAndLongitude(Float latitude, Float longitude) { + + valueIsAdjusting = true; + Integer newQuadrant = CoordinateHelper.getQuadrant(longitude, latitude); + boolean quadrantChanged = newQuadrant != null; + + try { + + if (quadrantChanged) { + + // only change not nul quadrant + this.quadrant = newQuadrant; + + } + + this.latitudeModel.setValue(latitude); + this.longitudeModel.setValue(longitude); + + } finally { + + valueIsAdjusting = false; + + fireLatitude(); + fireLongitude(); + if (quadrantChanged) { + fireQuadrant(); + } + + } + + } + public Float getLatitude() { Float latitude; -- To stop receiving notification emails like this one, please contact nuiton.org SCM administrator <admin+scm@nuiton.org>.