This is an automated email from the git hooks/post-receive script. New commit to branch feature/7930 in repository tutti. See http://git.codelutin.com/tutti.git commit fb4a47a01596573b8c1753a4d687b411b116542c Author: Kevin Morin <morin@codelutin.com> Date: Thu Feb 11 13:48:12 2016 +0100 test de la nouvelle valeur de min size refs #7930 --- .../CalcifiedPiecesSamplingEditorTableModel.java | 13 ++++++++++++- .../CalcifiedPiecesSamplingEditorUIHandler.java | 5 +++-- .../actions/SplitSpeciesAction.java | 15 +++++++++++---- 3 files changed, 26 insertions(+), 7 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorTableModel.java index 6b55c7a..18ea6e5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorTableModel.java @@ -81,7 +81,7 @@ public class CalcifiedPiecesSamplingEditorTableModel extends AbstractApplication public CalcifiedPiecesSamplingEditorRowModel createNewRow(Species species, Boolean maturity, boolean sex, - int minSize, + Integer minSize, Integer maxSize) { CalcifiedPiecesSamplingEditorRowModel newRow = createNewRow(); @@ -95,6 +95,17 @@ public class CalcifiedPiecesSamplingEditorTableModel extends AbstractApplication newRow.setOperationLimitation(0); newRow.setZoneLimitation(0); + newRow.addPropertyChangeListener(CalcifiedPiecesSamplingEditorRowModel.PROPERTY_MIN_SIZE, evt -> { + if (evt.getNewValue() == null) { + newRow.setMinSize(0); + } + }); + newRow.addPropertyChangeListener(CalcifiedPiecesSamplingEditorRowModel.PROPERTY_SAMPLING_INTERVAL, evt -> { + if (evt.getNewValue() == null) { + newRow.setSamplingInterval(0); + } + }); + return newRow; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java index 581412f..46372df 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java @@ -187,9 +187,10 @@ public class CalcifiedPiecesSamplingEditorUIHandler extends AbstractTuttiUIHandl if (rowSelected) { CalcifiedPiecesSamplingEditorRowModel selectedRow = getModel().getCpsRows().get(modelRowIndex); + Integer minSize = selectedRow.getMinSize(); splitEnabled = selectedRow.getMaxSize() == null - || selectedRow.getMaxSize() - selectedRow.getMinSize() > 1; - rowDeletable = selectedRow.getMinSize() > 0; + || selectedRow.getMaxSize() - minSize > 1; + rowDeletable = minSize > 0; } getUI().getSplitCpsRowMenu().setEnabled(splitEnabled); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/SplitSpeciesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/SplitSpeciesAction.java index 869508c..1e2a7af 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/SplitSpeciesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/SplitSpeciesAction.java @@ -59,13 +59,20 @@ public class SplitSpeciesAction extends SimpleActionSupport<CalcifiedPiecesSampl newRow.addPropertyChangeListener(CalcifiedPiecesSamplingEditorRowModel.PROPERTY_MIN_SIZE, evt -> { - int newRowIndex = cpsRows.indexOf(evt.getSource()); + int newRowIndex = cpsRows.indexOf(newRow); int previousRowIndex = newRowIndex - 1; - CalcifiedPiecesSamplingEditorRowModel previousRow = cpsRows.get(previousRowIndex); - previousRow.setMaxSize(((int) evt.getNewValue()) - 1); - tableModel.fireTableRowsUpdated(previousRowIndex, newRowIndex); + Integer newValue = (Integer) evt.getNewValue(); + // si la nouvelle valeur sort de l'intervalle des deux lignes + if (newValue != null && (newValue <= previousRow.getMinSize() + || newRow.getMaxSize() != null && newValue >= newRow.getMaxSize())) { + newRow.setMinSize((Integer) evt.getOldValue()); + + } else { + previousRow.setMaxSize(newValue - 1); + tableModel.fireTableRowsUpdated(previousRowIndex, newRowIndex); + } }); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.