r3549 - trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering
Author: mallon Date: 2012-07-23 17:42:42 +0200 (Mon, 23 Jul 2012) New Revision: 3549 Url: http://chorem.org/repositories/revision/lima/3549 Log: fixes #708 Correction de l'affichage du bouton 'Equilibrer'. Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java 2012-07-23 15:16:46 UTC (rev 3548) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java 2012-07-23 15:42:42 UTC (rev 3549) @@ -109,20 +109,33 @@ if (view.getTable().getSelectedRows().length == 0) { onButtonModeChanged("all"); } else if (!letteringNotExist(view.getTable().getSelectedRow())) { - if (view.getTable().getSelectedRows().length == 2) { - onButtonModeChanged("rounded"); - } - //unlettred entries + + //lettred entries onBalanceChanged(null); setValuesForSelectedEntries(); //For U.I. buttons (Lettering and unlettering) onButtonModeChanged("delettrer"); } else { - //lettred entries - if (view.getTable().getSelectedRows().length == 2) { - onButtonModeChanged("rounded"); + int[] selectedRows = view.getTable().getSelectedRows(); + if (selectedRows.length == 2) { + + /*Treatment only if one of values contains decimals*/ + LetteringTableModel tableModel = view.getTableModel(); + Entry firstSelectedEntry = tableModel.getEntryAt(selectedRows[0]); + Entry secondSelectedEntry = tableModel.getEntryAt(selectedRows[1]); + + String decimalFirstEntrySelected = (firstSelectedEntry.getAmount().toString().split("\\."))[1]; + String decimalSecondSelectedEntry = (secondSelectedEntry.getAmount().toString().split("\\."))[1]; + if ( !decimalFirstEntrySelected.equals("00") || !decimalSecondSelectedEntry.equals("00") + && secondSelectedEntry.getDebit() != firstSelectedEntry.getDebit()) { + onButtonModeChanged("equalized"); + } + }else { + onButtonModeChanged("all"); } + + //Unlettred entries onBalanceChanged(null); //treatment unuseful if no rows are selected if (!view.getLettringSelectionModel().isSelectionEmpty()) { @@ -158,7 +171,7 @@ } editModel.setUnLettred(false); editModel.setLettred(true); - }else if (mode.equals("rounded")) { + }else if (mode.equals("equalized")) { editModel.setEqualized(true); } else { editModel.setLettred(false); @@ -286,10 +299,6 @@ LetteringTableModel tableModel = view.getTableModel(); - if (log.isDebugEnabled()) { - log.debug("table.getSelectedRows() size : " + view.getTable().getSelectedRows().length); - } - int[] selectedRows = view.getTable().getSelectedRows(); if (selectedRows.length == 2) { @@ -297,13 +306,8 @@ Entry firstSelectedEntry = tableModel.getEntryAt(selectedRows[0]); Entry secondSelectedEntry = tableModel.getEntryAt(selectedRows[1]); - /*Treatment only if one of values contains decimals*/ - String decimalFirstEntrySelected = (firstSelectedEntry.getAmount().toString().split("\\."))[1]; - String decimalSecondSelectedEntry = (secondSelectedEntry.getAmount().toString().split("\\."))[1]; - if ( (firstSelectedEntry.getAmount().compareTo(BigDecimal.ZERO) != 0 && secondSelectedEntry.getAmount().compareTo(BigDecimal.ZERO) != 0) - && !firstSelectedEntry.getAmount().equals(secondSelectedEntry.getAmount()) - && ( !decimalFirstEntrySelected.equals("00") || !decimalSecondSelectedEntry.equals("00"))) { + && !firstSelectedEntry.getAmount().equals(secondSelectedEntry.getAmount())) { /*Calculation of result with it * Tab : 0 : debit
participants (1)
-
mallon@users.chorem.org