Author: kmorin Date: 2013-05-31 12:24:19 +0200 (Fri, 31 May 2013) New Revision: 1063 Url: http://forge.codelutin.com/projects/tutti/repository/revisions/1063 Log: fixes #2546 [ERGO] - Parcourt des tableaux bloqu?\195?\169 sur certains champs non ?\195?\169ditables Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToNextEditableRowAction.java trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToPreviousEditableRowAction.java Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToNextEditableRowAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToNextEditableRowAction.java 2013-05-31 10:08:57 UTC (rev 1062) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToNextEditableRowAction.java 2013-05-31 10:24:19 UTC (rev 1063) @@ -57,15 +57,22 @@ int currentRow = getSelectedRow(); int currentColumn = getSelectedColumn(); - if (isCellEditable(currentRow, currentColumn)) { - if (log.isDebugEnabled()) { - log.debug("Move to next row editable cell " + - getCellCoordinate(currentRow, currentColumn)); - } + if (log.isDebugEnabled()) { + log.debug("Move to next row editable cell " + + getCellCoordinate(currentRow, currentColumn)); + } + + int rowCount = getRowCount(); + + while (currentRow < rowCount) { + + // go to next cell currentRow++; + boolean canSelect = true; - boolean canSelect = true; - if (currentRow >= getRowCount()) { + // select next cell + if (currentRow >= rowCount) { + if (log.isDebugEnabled()) { log.debug("No next row"); } @@ -76,16 +83,19 @@ } else { canSelect = false; } + } else { + canSelect = isCellEditable(currentRow, currentColumn); } if (canSelect) { doSelectCell(currentRow, currentColumn); - } - } else { - if (log.isDebugEnabled()) { - log.debug("Cell not editable at " + - getCellCoordinate(currentRow, currentColumn)); + break; + } else { + if (log.isDebugEnabled()) { + log.debug("Cell not editable at " + + getCellCoordinate(currentRow, currentColumn)); + } } } } Modified: trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToPreviousEditableRowAction.java =================================================================== --- trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToPreviousEditableRowAction.java 2013-05-31 10:08:57 UTC (rev 1062) +++ trunk/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/MoveToPreviousEditableRowAction.java 2013-05-31 10:24:19 UTC (rev 1063) @@ -58,25 +58,29 @@ int currentRow = getSelectedRow(); int currentColumn = getSelectedColumn(); - if (isCellEditable(currentRow, currentColumn)) { - if (log.isDebugEnabled()) { - log.debug("Move to previous row editable cell " + - getCellCoordinate(currentRow, currentColumn)); - } + if (log.isDebugEnabled()) { + log.debug("Move to previous row editable cell " + + getCellCoordinate(currentRow, currentColumn)); + } + + int rowCount = getRowCount(); + + while (currentRow > 0) { + + // go to next cell currentRow--; + boolean canSelect = isCellEditable(currentRow, currentColumn); - if (currentRow < 0) { + if (canSelect) { + doSelectCell(currentRow, currentColumn); + + break; + } else { if (log.isDebugEnabled()) { - log.debug("No previous row"); + log.debug("Cell not editable at " + + getCellCoordinate(currentRow, currentColumn)); } - } else { - doSelectCell(currentRow, currentColumn); } - } else { - if (log.isDebugEnabled()) { - log.debug("Cell not editable at " + - getCellCoordinate(currentRow, currentColumn)); - } } } }