r3698 - in trunk/lima-swing/src/main/java/org/chorem/lima/ui: financialtransaction financialtransactionsearch financialtransactionunbalanced
Author: Bavencoff Date: 2013-08-02 17:06:11 +0200 (Fri, 02 Aug 2013) New Revision: 3698 Url: http://chorem.org/projects/lima/repository/revisions/3698 Log: add shortcuts fix bug on refresh fix bug to add transaction Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionDefaultTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionDefaultTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionDefaultTable.java 2013-07-18 13:39:07 UTC (rev 3697) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionDefaultTable.java 2013-08-02 15:06:11 UTC (rev 3698) @@ -105,6 +105,13 @@ return editor; } + public void exit() { + if (isEditing()) { + TableCellEditor editor = getCellEditor(); + editor.stopCellEditing(); + } + } + private class MyMouseAdapter extends MouseAdapter { @Override Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTable.java 2013-07-18 13:39:07 UTC (rev 3697) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTable.java 2013-08-02 15:06:11 UTC (rev 3698) @@ -30,7 +30,6 @@ import org.chorem.lima.entity.FinancialTransaction; import javax.swing.*; -import javax.swing.table.TableCellEditor; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; import java.math.BigDecimal; @@ -82,10 +81,7 @@ log.debug("Key tab used"); } - if (isEditing()) { - TableCellEditor editor = getCellEditor(); - editor.stopCellEditing(); - } + exit(); int nbColumn = getColumnCount(); int nbRows = getRowCount(); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTableModel.java 2013-07-18 13:39:07 UTC (rev 3697) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTableModel.java 2013-08-02 15:06:11 UTC (rev 3698) @@ -212,10 +212,11 @@ * * @param entry entry to insert */ - public void addEntry(Entry entry) { + public Entry addEntry(Entry entry) { + Entry newEntry = null; FinancialTransaction transaction = entry.getFinancialTransaction(); if (transactions.contains(transaction)) { - Entry newEntry = new EntryImpl(); + newEntry = new EntryImpl(); newEntry.setFinancialTransaction(transaction); newEntry.setVoucher(entry.getVoucher()); newEntry.setAccount(entry.getAccount()); @@ -230,6 +231,7 @@ entries.add(row, newEntry); fireTableRowsInserted(row, row); } + return newEntry; } /** @@ -264,7 +266,7 @@ fireTableRowsDeleted(row, row); } - public void addTransaction(FinancialTransaction transaction) { + public FinancialTransaction addTransaction(FinancialTransaction transaction) { FinancialTransaction newTransaction = new FinancialTransactionImpl(); newTransaction.setEntryBook(transaction.getEntryBook()); newTransaction.setTransactionDate(transaction.getTransactionDate()); @@ -275,6 +277,11 @@ newEntry.setFinancialTransaction(newTransaction); newEntry = financialTransactionService.createEntry(newEntry); newTransaction.addEntry(newEntry); + + newEntry = new EntryImpl(); + newEntry.setFinancialTransaction(newTransaction); + newEntry = financialTransactionService.createEntry(newEntry); + newTransaction.addEntry(newEntry); } else { for (Entry entry : transaction.getEntry()) { Entry newEntry = new EntryImpl(); @@ -294,7 +301,8 @@ transactions.add(newTransaction); entries.addAll(newTransaction.getEntry()); int indexLastEntry = entries.size() - 1; - fireTableRowsInserted(indexFirstEntry, indexLastEntry - 1); + fireTableRowsInserted(indexFirstEntry, indexLastEntry); + return newTransaction; } public BigDecimal getBalanceTransactionInRow(int row) { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java 2013-07-18 13:39:07 UTC (rev 3697) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java 2013-08-02 15:06:11 UTC (rev 3698) @@ -55,7 +55,6 @@ import java.awt.event.ItemEvent; import java.awt.event.KeyEvent; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; @@ -128,6 +127,7 @@ FinancialTransactionTable table = view.getFinancialTransactionTable(); table.getColumnModel().addColumnModelListener(this); } + protected void initShortCuts() { InputMap inputMap= view.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); @@ -295,7 +295,6 @@ return; } - List<Entry> transAndEntries = new ArrayList<Entry>(); List<FinancialTransaction> transactions; if (entryBook == null) { transactions = financialTransactionService.getAllFinancialTransactions(financialPeriod); @@ -303,7 +302,10 @@ transactions = financialTransactionService.getAllFinancialTransactions(financialPeriod, entryBook); } - view.getFinancialTransactionTableModel().setTransactions(transactions); + FinancialTransactionTable table = view.getFinancialTransactionTable(); + FinancialTransactionTableModel tableModel = view.getFinancialTransactionTableModel(); + table.exit(); + tableModel.setTransactions(transactions); } public void selectionChanged() { @@ -482,9 +484,9 @@ // set date to the financial transaction financialTransaction.setTransactionDate(transactionDate); // create it - tableModel.addTransaction(financialTransaction); + financialTransaction = tableModel.addTransaction(financialTransaction); - int addIndex = tableModel.size() - 1; + int addIndex = tableModel.indexOf(financialTransaction); //select the new line if (table.isEditing()) { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchViewHandler.java 2013-07-18 13:39:07 UTC (rev 3697) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchViewHandler.java 2013-08-02 15:06:11 UTC (rev 3698) @@ -44,7 +44,12 @@ import org.chorem.lima.ui.Filter.financialTransactionCondition.FinancialTransactionConditionHandler; import org.chorem.lima.ui.Filter.financialTransactionCondition.FinancialTransactionConditionView; import org.chorem.lima.ui.Filter.fiscalPeriodCondition.FiscalPeriodConditionView; +import org.chorem.lima.ui.financialtransaction.FinancialTransactionDefaultTable; +import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; + /** * Handler associated with financial transaction view. * @@ -62,8 +67,6 @@ protected FinancialTransactionSearchView view; - protected FinancialTransactionSearchTable table; - protected FinancialTransactionSearchTableModel tableModel; /** Transaction service. */ @@ -79,8 +82,24 @@ LimaServiceFactory.getService( FinancialTransactionService.class); + initShortCuts(); + } + protected void initShortCuts() { + InputMap inputMap= view.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + ActionMap actionMap = view.getActionMap(); + Object binding; + + // add action on F5 + binding = "refresh"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0) , binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + refresh(); + } + }); } protected void addCondition(ConditionHandler conditionHandler) { @@ -136,6 +155,8 @@ } public void refresh() { + FinancialTransactionDefaultTable table = view.getFinancialTransactionSearchTable(); + table.exit(); FinancialTransactionConditionView ConditionView = view.getFinancialTransactionConditionView(); FinancialTransactionConditionHandler conditionHandler = ConditionView.getHandler(); FinancialTransactionCondition condition= conditionHandler.getFilter(); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java 2013-07-18 13:39:07 UTC (rev 3697) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java 2013-08-02 15:06:11 UTC (rev 3698) @@ -35,6 +35,8 @@ import javax.swing.*; import javax.swing.table.TableCellEditor; +import java.awt.event.ActionEvent; +import java.awt.event.KeyEvent; import java.math.BigDecimal; import static org.nuiton.i18n.I18n._; @@ -58,6 +60,7 @@ protected FinancialTransactionUnbalancedViewHandler(FinancialTransactionUnbalancedView view) { this.view = view; + initShortCuts(); } @@ -72,6 +75,63 @@ refresh(); } + protected void initShortCuts() { + + InputMap inputMap= view.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + ActionMap actionMap = view.getActionMap(); + Object binding; + + // add action on Ctrl + Shift + Delete + binding = "delete-transaction"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK + KeyEvent.SHIFT_DOWN_MASK), binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + deleteSelectedTransaction(); + } + }); + + // add action on Ctrl + N + binding = "new-entry"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_N, KeyEvent.CTRL_DOWN_MASK), binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + addEntry(); + } + }); + + // add action on Ctrl + Delete + binding = "delete-entry"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_DELETE, KeyEvent.CTRL_DOWN_MASK), binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + deleteSelectedEntry(); + } + }); + + // add action on Ctrl + B + binding = "balance"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_B, KeyEvent.CTRL_DOWN_MASK), binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + balanceTransaction(); + } + }); + + // add action on F5 + binding = "refresh"; + inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_F5, 0) , binding); + actionMap.put(binding, new AbstractAction() { + @Override + public void actionPerformed(ActionEvent e) { + refresh(); + } + }); + } + //implement new transaction button //add a new entry to the selected transaction public void addEntry() { @@ -257,12 +317,8 @@ public void refresh() { FinancialTransactionUnbalancedTableModel tableModel = view.getFinancialTransactionUnbalancedTableModel(); FinancialTransactionDefaultTable table = view.getFinancialTransactionUnbalancedTable(); + table.exit(); - if (table.isEditing()) { - TableCellEditor editor = table.getCellEditor(); - editor.stopCellEditing(); - } - tableModel.refresh(); table.clearSelection();
participants (1)
-
Bavencoffļ¼ users.chorem.org