Author: mallon Date: 2012-08-01 18:23:35 +0200 (Wed, 01 Aug 2012) New Revision: 3560 Url: http://chorem.org/repositories/revision/lima/3560 Log: fixes #711 Correction permettant de ne pas avoir de d?\195?\169s?\195?\169lection lors du d?\195?\169 / lettrage. Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringView.jaxx 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/LetteringView.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringView.jaxx 2012-08-01 12:27:37 UTC (rev 3559) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringView.jaxx 2012-08-01 16:23:35 UTC (rev 3560) @@ -1,7 +1,7 @@ <!-- #%L Lima Swing - + $Id$ $HeadURL$ %% @@ -23,167 +23,167 @@ #L% --> -<Table constraints='BorderLayout.NORTH'> +<Table > - <import> - org.chorem.lima.ui.common.AccountComboBoxModel - org.chorem.lima.ui.common.FinancialPeriodComboBoxModel - org.chorem.lima.entity.Account - javax.swing.ListSelectionModel - org.jdesktop.swingx.JXDatePicker - org.chorem.lima.beans.LetteringFilter - org.chorem.lima.beans.LetteringFilterImpl - </import> + <import> + org.chorem.lima.ui.common.AccountComboBoxModel + org.chorem.lima.ui.common.FinancialPeriodComboBoxModel + org.chorem.lima.entity.Account + javax.swing.ListSelectionModel + org.jdesktop.swingx.JXDatePicker + org.chorem.lima.beans.LetteringFilter + org.chorem.lima.beans.LetteringFilterImpl + </import> - <LetteringViewHandler id="handler" constructorParams="this"/> - <LetteringTableModel id="tableModel"/> + <LetteringViewHandler id="handler" constructorParams="this"/> + <LetteringTableModel id="tableModel"/> - <LetteringFilterImpl id='filterModel' initializer='new LetteringFilterImpl()'/> - <LetteringEditModel id='editModel'/> + <LetteringFilterImpl id='filterModel' initializer='new LetteringFilterImpl()'/> + <LetteringEditModel id='editModel'/> - <LettringSelectionModel id='lettringSelectionModel' constructorParams=' tableModel' - onValueChanged="handler.balanceAndActions()"/> + <LettringSelectionModel id='lettringSelectionModel' constructorParams=' tableModel' + onValueChanged="handler.balanceAndActions()"/> - <script> - <![CDATA[ + <script> + <![CDATA[ void $afterCompleteSetup() { handler.init(); } ]]> - </script> + </script> - <row> - <cell> - <JPanel layout='{new BorderLayout()}' id="panelAccountComboBox" border='{new TitledBorder(_("lima.ui.lettering.account"))}'> - <org.chorem.lima.ui.common.AccountComboBoxModel id="accountComboBoxModel"/> - <JComboBox id="accountComboBox" model="{accountComboBoxModel}" - renderer="{new org.chorem.lima.ui.common.AccountListRenderer()}" - onActionPerformed="filterModel.setAccount((Account)accountComboBoxModel.getSelectedItem())" - constraints='BorderLayout.WEST'/> - <JButton id="backCount" text="lima.ui.account.buttonback" - onActionPerformed="handler.back(accountComboBox)" - constraints='BorderLayout.CENTER'/> - <JButton id="nextCount" text="lima.ui.account.buttonnext" - onActionPerformed="handler.next(accountComboBox)" - constraints='BorderLayout.EAST'/> - </JPanel> - </cell> - <cell> - <JPanel id="panelFinancialPeriodComboBox" layout='{new BorderLayout()}' border='{new TitledBorder(_("lima.ui.lettering.period"))}'> - <Table constraints='BorderLayout.NORTH'> - <row> - <cell> - <JLabel text="lima.ui.lettering.beginFinancialPeriod"/> - </cell> - <cell> - <JXDatePicker id="pickerDebut" - onActionPerformed="filterModel.setDateStart(pickerDebut.getDate())"/> - </cell> - </row> - <row> - <cell> - <JLabel text="lima.ui.lettering.endFinancialPeriod"/> - </cell> - <cell> - <JXDatePicker id="pickerFin" - onActionPerformed="filterModel.setDateEnd(pickerFin.getDate())"/> - </cell> - </row> - </Table> - </JPanel> - </cell> - <cell anchor="center" weightx="1"> - <JPanel id="entryPanel" layout='{new BorderLayout()}' border='{new TitledBorder(_("lima.ui.lettering.entry"))}'> - <Table constraints='BorderLayout.NORTH'> - <row> - <cell> - <JRadioButton id="lettredEntryCheckBox" buttonGroup="letteredCheckGroup" - onActionPerformed="filterModel.setDisplayLettered(true) ; filterModel.setDisplayUnlettred(false)"/> - </cell> - <cell> - <JLabel text="lima.ui.lettering.checkLettredEntry"/> - </cell> - </row> - <row> - <cell> - <JRadioButton id="noLettredEntryCheckBox" selected="true" buttonGroup="letteredCheckGroup" - onActionPerformed="filterModel.setDisplayUnlettred(true); filterModel.setDisplayLettered(false)"/> - </cell> - <cell> - <JLabel text="lima.ui.lettering.checkNoLettredEntry"/> - </cell> - </row> - <row> - <cell> - <JRadioButton id="allCheckBox" buttonGroup="letteredCheckGroup" - onActionPerformed="filterModel.setDisplayLettered(false) ; filterModel.setDisplayUnlettred(false)"/> - </cell> - <cell> - <JLabel text="lima.ui.lettering.checkAll"/> - </cell> - </row> - </Table> - </JPanel> - </cell> - </row> - <row> - <cell fill="horizontal" columns="4"> - <JPanel id="selectedEntry" layout='{new BorderLayout()}' border='{new TitledBorder(_("lima.ui.lettering.selectEntry"))}'> - <Table constraints='BorderLayout.NORTH'> - <row> - <cell anchor="center" weightx="0.6"> - <JLabel text="lima.ui.lettering.selectDebit" labelFor='{debitTexttField}'/> - </cell> - <cell fill="horizontal" weightx="0.6"> - <JTextField id="debitTexttField" editable="false" text="{editModel.getDebit().toString()}" - focusable="false"/> - </cell> - <cell anchor="center" weightx="0.6"> - <JLabel text="lima.ui.lettering.selectCredit" labelFor='{creditTextField}'/> - </cell> - <cell fill="horizontal" weightx="0.6"> - <JTextField id="creditTextField" editable="false" text="{editModel.getCredit().toString()}" - focusable="false"/> - </cell> - <cell anchor="center" weightx="0.6"> - <JLabel text="lima.ui.lettering.selectSolde" labelFor='{soldeTextField}'/> - </cell> - <cell fill="horizontal" weightx="0.6"> - <JTextField id="soldeTextField" editable="false" text="{editModel.getSolde().toString()}" - focusable="false"/> - </cell> - </row> - </Table> - </JPanel> - </cell> - </row> - <row> - <cell anchor="center" columns='4'> - <JPanel id="actionsPanel"> - <JButton id="lettered" text="lima.ui.lettering.buttonLettered" - enabled="{editModel.isLettred()}" - onActionPerformed="handler.addLetter()"/> - <JButton id="noLettered" text="lima.ui.lettering.buttonNoLettered" - enabled="{editModel.isUnLettred()}" - onActionPerformed="handler.removeLetter()"/> - <JButton id="refresh" text="lima.ui.lettering.buttonRefresh" - enabled="true" - onActionPerformed="handler.updateAllEntries()"/> - <JButton id="round" text="lima.ui.lettering.buttonEqualize" - enabled="{editModel.isEqualized()}" - onActionPerformed="handler.roundAndCreateEntry()"/> - </JPanel> - </cell> - </row> - <row> - <cell fill="both" weightx="1" weighty="1" columns="4"> - <JScrollPane> - <LetteringTable - id="table" sortable="false" rowHeight="22" - constructorParams="getTableModel()" - selectionModel="{lettringSelectionModel}" - /> - </JScrollPane> - </cell> - </row> + <row> + <cell> + <JPanel layout='{new BorderLayout()}' id="panelAccountComboBox" border='{new TitledBorder(_("lima.ui.lettering.account"))}'> + <org.chorem.lima.ui.common.AccountComboBoxModel id="accountComboBoxModel"/> + <JComboBox id="accountComboBox" model="{accountComboBoxModel}" + renderer="{new org.chorem.lima.ui.common.AccountListRenderer()}" + onActionPerformed="filterModel.setAccount((Account)accountComboBoxModel.getSelectedItem())" + constraints='BorderLayout.WEST'/> + <JButton id="backCount" text="lima.ui.account.buttonback" + onActionPerformed="handler.back(accountComboBox)" + constraints='BorderLayout.CENTER'/> + <JButton id="nextCount" text="lima.ui.account.buttonnext" + onActionPerformed="handler.next(accountComboBox)" + constraints='BorderLayout.EAST'/> + </JPanel> + </cell> + <cell> + <JPanel id="panelFinancialPeriodComboBox" layout='{new BorderLayout()}' border='{new TitledBorder(_("lima.ui.lettering.period"))}'> + <Table constraints='BorderLayout.NORTH'> + <row> + <cell> + <JLabel text="lima.ui.lettering.beginFinancialPeriod"/> + </cell> + <cell> + <JXDatePicker id="pickerDebut" + onActionPerformed="filterModel.setDateStart(pickerDebut.getDate())"/> + </cell> + </row> + <row> + <cell> + <JLabel text="lima.ui.lettering.endFinancialPeriod"/> + </cell> + <cell> + <JXDatePicker id="pickerFin" + onActionPerformed="filterModel.setDateEnd(pickerFin.getDate())"/> + </cell> + </row> + </Table> + </JPanel> + </cell> + <cell> + <JPanel id="entryPanel" layout='{new BorderLayout()}' border='{new TitledBorder(_("lima.ui.lettering.entry"))}'> + <Table constraints='BorderLayout.NORTH'> + <row> + <cell> + <JRadioButton id="lettredEntryCheckBox" buttonGroup="letteredCheckGroup" + onActionPerformed="filterModel.setDisplayLettered(true) ; filterModel.setDisplayUnlettred(false)"/> + </cell> + <cell> + <JLabel text="lima.ui.lettering.checkLettredEntry"/> + </cell> + </row> + <row> + <cell> + <JRadioButton id="noLettredEntryCheckBox" selected="true" buttonGroup="letteredCheckGroup" + onActionPerformed="filterModel.setDisplayUnlettred(true); filterModel.setDisplayLettered(false)"/> + </cell> + <cell> + <JLabel text="lima.ui.lettering.checkNoLettredEntry"/> + </cell> + </row> + <row> + <cell> + <JRadioButton id="allCheckBox" buttonGroup="letteredCheckGroup" + onActionPerformed="filterModel.setDisplayLettered(false) ; filterModel.setDisplayUnlettred(false)"/> + </cell> + <cell> + <JLabel text="lima.ui.lettering.checkAll"/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell fill="horizontal" columns="4"> + <JPanel id="selectedEntry" layout='{new BorderLayout()}' border='{new TitledBorder(_("lima.ui.lettering.selectEntry"))}'> + <Table constraints='BorderLayout.NORTH'> + <row> + <cell anchor="center" weightx="0.6"> + <JLabel text="lima.ui.lettering.selectDebit" labelFor='{debitTexttField}'/> + </cell> + <cell fill="horizontal" weightx="0.6"> + <JTextField id="debitTexttField" editable="false" text="{editModel.getDebit().toString()}" + focusable="false"/> + </cell> + <cell anchor="center" weightx="0.6"> + <JLabel text="lima.ui.lettering.selectCredit" labelFor='{creditTextField}'/> + </cell> + <cell fill="horizontal" weightx="0.6"> + <JTextField id="creditTextField" editable="false" text="{editModel.getCredit().toString()}" + focusable="false"/> + </cell> + <cell anchor="center" weightx="0.6"> + <JLabel text="lima.ui.lettering.selectSolde" labelFor='{soldeTextField}'/> + </cell> + <cell fill="horizontal" weightx="0.6"> + <JTextField id="soldeTextField" editable="false" text="{editModel.getSolde().toString()}" + focusable="false"/> + </cell> + </row> + </Table> + </JPanel> + </cell> + </row> + <row> + <cell anchor="center" columns='4'> + <JPanel id="actionsPanel"> + <JButton id="lettered" text="lima.ui.lettering.buttonLettered" + enabled="{editModel.isLettred()}" + onActionPerformed="handler.addLetter()"/> + <JButton id="noLettered" text="lima.ui.lettering.buttonNoLettered" + enabled="{editModel.isUnLettred()}" + onActionPerformed="handler.removeLetter()"/> + <JButton id="refresh" text="lima.ui.lettering.buttonRefresh" + enabled="true" + onActionPerformed="handler.updateAllEntries()"/> + <JButton id="round" text="lima.ui.lettering.buttonEqualize" + enabled="{editModel.isEqualized()}" + onActionPerformed="handler.roundAndCreateEntry()"/> + </JPanel> + </cell> + </row> + <row> + <cell fill="both" weightx="1" weighty="1" columns="4"> + <JScrollPane> + <LetteringTable + id="table" sortable="false" rowHeight="22" + constructorParams="getTableModel()" + selectionModel="{lettringSelectionModel}" + /> + </JScrollPane> + </cell> + </row> </Table> \ No newline at end of file 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-08-01 12:27:37 UTC (rev 3559) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringViewHandler.java 2012-08-01 16:23:35 UTC (rev 3560) @@ -117,9 +117,14 @@ //For U.I. buttons (Lettering and unlettering) onButtonModeChanged("delettrer"); } else { + if (log.isDebugEnabled()) { + log.debug("unlettred entries"); + } int[] selectedRows = view.getTable().getSelectedRows(); if (selectedRows.length == 2) { - + if (log.isDebugEnabled()) { + log.debug("2 rows selected"); + } /*Treatment only if one of values contains decimals*/ LetteringTableModel tableModel = view.getTableModel(); Entry firstSelectedEntry = tableModel.getEntryAt(selectedRows[0]); @@ -132,6 +137,9 @@ onButtonModeChanged("equalized"); } }else { + if (log.isDebugEnabled()) { + log.debug("!2 rows selected"); + } onButtonModeChanged("all"); } @@ -139,9 +147,15 @@ onBalanceChanged(null); //treatment unuseful if no rows are selected if (!view.getLettringSelectionModel().isSelectionEmpty()) { + if (log.isDebugEnabled()) { + log.debug("Rows selected"); + } setValuesForSelectedEntries(); onButtonModeChanged("lettrer"); } else { + if (log.isDebugEnabled()) { + log.debug("No Rows selected"); + } onButtonModeChanged("all"); } } @@ -288,7 +302,7 @@ view.getTableModel().updateEntries(entries, datesEntree, journalEntrees); } onBalanceChanged(null); - view.getLettringSelectionModel().clearSelection(); + //view.getLettringSelectionModel().clearSelection(); } /**To make the difference between two selected entries and @@ -436,13 +450,13 @@ public void addLetter() { String newLetters = financialTransactionService.getNextLetters(); changeLetter(newLetters); - onBalanceChanged(null); + //onBalanceChanged(null); } /**Remove a group of three letters to n entries*/ public void removeLetter() { changeLetter(null); - onBalanceChanged(null); + //onBalanceChanged(null); } /**Add or remove a group of three letters to n entries*/ @@ -453,6 +467,7 @@ for (int indexEntry : entrieSelected){ financialTransactionService.updateEntry(view.getTableModel().getEntryAt(indexEntry)); + view.getTable().addRowSelectionInterval(indexEntry, indexEntry); } editModel.setLettred(false); editModel.setUnLettred(false);