Author: kmorin Date: 2013-04-05 19:17:13 +0200 (Fri, 05 Apr 2013) New Revision: 742 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/742 Log: fixes #2239 [CAPTURE] mauvaise d?\195?\169tection des changements Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellEditor.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/AbstractTuttiBatchTableUIHandler.java 2013-04-05 17:17:13 UTC (rev 742) @@ -33,6 +33,8 @@ import org.jdesktop.swingx.JXTable; import org.jdesktop.swingx.sort.TableSortController; +import javax.swing.event.TableModelEvent; +import javax.swing.event.TableModelListener; import javax.swing.table.TableColumnModel; import javax.swing.table.TableModel; import java.awt.Component; @@ -54,29 +56,6 @@ super(parentUi.getHandler().getContext(), ui, properties); } - public final void saveSelectedRowIfRequired(FocusEvent event) { - - Component oppositeComponent = event.getOppositeComponent(); - - JXTable parentContainer = null; - - if (oppositeComponent != null) { - - // check out if still on table - parentContainer = SwingUtil.getParentContainer( - oppositeComponent, JXTable.class); - } - - if (parentContainer == null) { - - // out of the table can save - if (getModel().getFishingOperation() != null) { - - saveSelectedRowIfNeeded(); - } - } - } - /** * To clear the table selection. * <p/> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/EditFishingOperationUIModel.java 2013-04-05 17:17:13 UTC (rev 742) @@ -431,12 +431,12 @@ firePropertyChange(PROPERTY_GEAR_SHOOTING_END_LONGITUDE_SECOND, oldValue, second); } -// public void setGearShootingEndTime(Date gearShootingEndDate) { -// Object oldValue = getGearShootingEndDate(); -// if (oldValue != null) { -// setGearShootingEndDate(gearShootingEndDate); -// } -// } + public void setGearShootingEndTime(Date gearShootingEndDate) { + Object oldValue = getGearShootingEndDate(); + if (oldValue != null) { + setGearShootingEndDate(gearShootingEndDate); + } + } public String getValidationContext() { return validationContext; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUI.jaxx 2013-04-05 17:17:13 UTC (rev 742) @@ -63,7 +63,7 @@ constructorParams='"tuttihelp.editAccidentalBatch.help"'/> <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'> - <JXTable id='table' onFocusLost='handler.saveSelectedRowIfRequired(event)'/> + <JXTable id='table'/> </JScrollPane> </JPanel> \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/accidental/AccidentalBatchUIHandler.java 2013-04-05 17:17:13 UTC (rev 742) @@ -128,6 +128,7 @@ Object oldValue, Object newValue) { recomputeRowValidState(row); + saveSelectedRowIfNeeded(); } @Override @@ -144,7 +145,9 @@ log.info("Row " + row + " was modified, will save it"); } + rowMonitor.setBean(null); saveRow(row); + rowMonitor.setBean(row); // clear modified flag on the monitor rowMonitor.clearModified(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUI.jaxx 2013-04-05 17:17:13 UTC (rev 742) @@ -162,7 +162,7 @@ </Table> <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'> - <JXTable id='table' onFocusLost='handler.saveSelectedRowIfRequired(event)' + <JXTable id='table' onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'/> </JScrollPane> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/benthos/BenthosBatchUIHandler.java 2013-04-05 17:17:13 UTC (rev 742) @@ -283,6 +283,8 @@ recomputeRowValidState(row); } + saveSelectedRowIfNeeded(); + // when row valid state has changed, recompute action enabled states recomputeBatchActionEnable(); } @@ -303,7 +305,9 @@ "[ Captures - Benthos ] " + "Sauvegarde des modifications de " + row + '.'); + rowMonitor.setBean(null); saveRow(row); + rowMonitor.setBean(row); // clear modified flag on the monitor rowMonitor.clearModified(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUI.jaxx 2013-04-05 17:17:13 UTC (rev 742) @@ -106,8 +106,8 @@ </Table> <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'> - <JXTable id='table' onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)' - onFocusLost='handler.saveSelectedRowIfRequired(event);'/> + <JXTable id='table' + onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'/> </JScrollPane> </JPanel> \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/marinelitter/MarineLitterBatchUIHandler.java 2013-04-05 17:17:13 UTC (rev 742) @@ -175,6 +175,8 @@ Object newValue) { recomputeRowValidState(row); + saveSelectedRowIfNeeded(); + // when row valid state has changed, recompute action enabled states recomputeBatchActionEnable(); } @@ -190,7 +192,9 @@ log.info("Row " + row + " was modified, will save it"); } + rowMonitor.setBean(null); saveRow(row); + rowMonitor.setBean(row); // clear modified flag on the monitor rowMonitor.clearModified(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/plankton/PlanktonBatchUI.jaxx 2013-04-05 17:17:13 UTC (rev 742) @@ -94,8 +94,7 @@ </Table> <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'> - <JXTable id='table' - onFocusLost='handler.saveSelectedRowIfRequired(event);'/> + <JXTable id='table'/> </JScrollPane> </JPanel> \ No newline at end of file Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchRowModel.java 2013-04-05 17:17:13 UTC (rev 742) @@ -62,7 +62,7 @@ public static final String PROPERTY_SORTED_UNSORTED_CATEGORY_VALUE = "sortedUnsortedCategoryValue"; - public static final String PROPERTY_SORTED_UNSORTED_CATEGORY_WEIGHT = "sortedUnsortedCategoryComputedWeight"; + public static final String PROPERTY_SORTED_UNSORTED_CATEGORY_WEIGHT = "sortedUnsortedCategoryWeight"; public static final String PROPERTY_SORTED_UNSORTED_CATEGORY_COMPUTED_WEIGHT = "sortedUnsortedCategoryComputedWeight"; Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUI.jaxx 2013-04-05 17:17:13 UTC (rev 742) @@ -162,7 +162,7 @@ </Table> <JScrollPane id='tableScrollPane' constraints='BorderLayout.CENTER'> - <JXTable id='table' onFocusLost='handler.saveSelectedRowIfRequired(event)' + <JXTable id='table' onMouseClicked='handler.autoSelectRowInTable(event, tablePopup)'/> </JScrollPane> Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUIHandler.java 2013-04-05 17:17:13 UTC (rev 742) @@ -293,6 +293,8 @@ recomputeRowValidState(row); } + saveSelectedRowIfNeeded(); + // when row valid state has changed, recompute action enabled states recomputeBatchActionEnable(); } @@ -313,7 +315,9 @@ "[ Captures - Espèces ] " + "Sauvegarde des modifications de " + row + '.'); + rowMonitor.setBean(null); saveRow(row); + rowMonitor.setBean(row); // clear modified flag on the monitor rowMonitor.clearModified(); Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellEditor.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellEditor.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/comment/CommentCellEditor.java 2013-04-05 17:17:13 UTC (rev 742) @@ -109,7 +109,7 @@ @Override public boolean shouldSelectCell(EventObject anEvent) { - return false; + return true; } @Override Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-04-05 14:34:01 UTC (rev 741) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/AbstractTuttiTableUIHandler.java 2013-04-05 17:17:13 UTC (rev 742) @@ -362,7 +362,7 @@ } // save selected entry if required - saveSelectedRowIfNeeded(); +// saveSelectedRowIfNeeded(); if (log.isDebugEnabled()) { log.debug("Will monitor entry: " + newRow); @@ -506,7 +506,6 @@ R row = rowMonitor.getBean(); if (row != null) { - saveSelectedRowIfRequired(rowMonitor, row); } }