Author: sbavencoff Date: 2013-12-31 16:05:26 +0100 (Tue, 31 Dec 2013) New Revision: 3722 Url: http://chorem.org/projects/lima/repository/revisions/3722 Log: Factoring code of table and model table. Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/CodeColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/LabelColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/BeginColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/EndColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodRenderer.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/StatusColumn.java Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookView.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/AccountColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/CreditColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DebitColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DescriptionColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java 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/FinancialTransactionView.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/LetterColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/VoucherColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchView.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedView.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodView.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/CodeColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/CodeColumn.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/CodeColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -0,0 +1,26 @@ +package org.chorem.lima.ui.entrybook; + +import org.chorem.lima.ui.common.DefaultColumn; + +import static org.nuiton.i18n.I18n._; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class CodeColumn extends DefaultColumn<EntryBookTableModel> { + + @Override + public Class<?> getColumnClass() { + return String.class; + } + + @Override + public String getColumnName() { + return _("lima.ui.entrybook.code"); + } + + @Override + public Object getValueAt(int row) { + return tableModel.get(row).getCode(); + } +} Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTable.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTable.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -24,73 +24,15 @@ */ package org.chorem.lima.ui.entrybook; -import org.jdesktop.swingx.JXTable; +import org.chorem.lima.ui.common.AbstractLimaTable; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; +public class EntryBookTable extends AbstractLimaTable<EntryBookViewHandler> { -public class EntryBookTable extends JXTable - implements KeyListener, MouseListener { - /** serialVersionUID. */ private static final long serialVersionUID = 6228396251512013262L; - protected EntryBookViewHandler handler; - public EntryBookTable(EntryBookViewHandler handler) { - - this.handler = handler; - - addKeyListener(this); - addMouseListener(this); - + super(handler); } - @Override - public void mouseClicked(MouseEvent e) { - } - - @Override - public void mousePressed(MouseEvent e) { - if (rowAtPoint(e.getPoint()) == -1) { - clearSelection(); - } - } - - @Override - public void mouseReleased(MouseEvent e) { - } - - @Override - public void mouseEntered(MouseEvent e) { - } - - @Override - public void mouseExited(MouseEvent e) { - } - - @Override - public void keyTyped(KeyEvent e) { - } - - /** - * for each action combination key are think - * for extend keyboard and laptop keyboard - */ - @Override - public void keyPressed(KeyEvent e) { - // clear row selection with the key: escape - if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { - if (!isEditing()) { - clearSelection(); - } - } - } - - @Override - public void keyReleased(KeyEvent e) { - } - } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -25,13 +25,8 @@ package org.chorem.lima.ui.entrybook; -import static org.nuiton.i18n.I18n._; - -import java.util.List; - -import javax.swing.table.AbstractTableModel; - import org.chorem.lima.entity.EntryBook; +import org.chorem.lima.ui.common.AbstractLimaTableModel; /** * Entry book table model only rendering entry book list. @@ -43,84 +38,20 @@ * Last update : $Date$ * By : $Author$ */ -public class EntryBookTableModel extends AbstractTableModel { +public class EntryBookTableModel extends AbstractLimaTableModel<EntryBook> { /** serialVersionUID. */ private static final long serialVersionUID = 7578692417919755647L; - protected List<EntryBook> entryBooks; - - public EntryBookTableModel(List<EntryBook> entryBooks) { - this.entryBooks = entryBooks; - } - @Override - public int getRowCount() { - int result = entryBooks.size(); - return result; + protected void initColumn() { + addColumn(new CodeColumn()); + addColumn(new LabelColumn()); } - @Override - public int getColumnCount() { - return 2; - } - - @Override - public String getColumnName(int column) { - String res = "n/a"; - switch (column) { - case 0: - res = _("lima.ui.entrybook.code"); - break; - case 1: - res = _("lima.ui.entrybook.label"); - break; - } - return res; - } - - public EntryBook getEntryBookAtRow(int row) { - EntryBook entryBook = entryBooks.get(row); - return entryBook; - } - - @Override - public Object getValueAt(int row, int column) { - - Object result = null; - EntryBook entryBook = getEntryBookAtRow(row); - - switch (column) { - case 0: - result = entryBook.getCode(); - break; - case 1: - result = entryBook.getLabel(); - break; - } - - return result; - } - - @Override - public boolean isCellEditable(int rowIndex, int columnIndex) { - return false; - } - - public void addEntryBook(EntryBook entryBook) { - entryBooks.add(entryBook); - int row = entryBooks.indexOf(entryBook); - fireTableRowsInserted(row, row); - } - public void updateEntryBook(EntryBook entryBook) { - int row = entryBooks.indexOf(entryBook); + int row = values.indexOf(entryBook); fireTableRowsUpdated(row, row); } - public void removeEntryBook(EntryBook entryBook) { - int row = entryBooks.indexOf(entryBook); - entryBooks.remove(entryBook); - fireTableRowsDeleted(row, row); - } } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookView.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookView.jaxx 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookView.jaxx 2013-12-31 15:05:26 UTC (rev 3722) @@ -73,11 +73,13 @@ <row> <cell fill="both" weightx="1" weighty="1"> <JScrollPane> + <EntryBookTableModel id="entryBookTableModel" /> <EntryBookTable id="entryBooksTable" rowHeight="24" constructorParams="getHandler()" highlighters="{org.jdesktop.swingx.decorator.HighlighterFactory.createSimpleStriping(new java.awt.Color(233,233,233))}" selectionMode="{ListSelectionModel.SINGLE_SELECTION}" - columnControlVisible="true"/> + columnControlVisible="true" + model="{entryBookTableModel}"/> <ListSelectionModel javaBean="getEntryBooksTable().getSelectionModel()" onValueChanged="setSelectedRow(entryBooksTable.getSelectedRow() != -1)"/> </JScrollPane> Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookViewHandler.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -128,10 +128,9 @@ if (log.isDebugEnabled()) { log.debug(String.format("Loaded %d entry books from service", entryBooks.size())); } - - EntryBookTableModel model = new EntryBookTableModel(entryBooks); - EntryBookTable table = view.getEntryBooksTable(); - table.setModel(model); + + EntryBookTableModel model = view.getEntryBookTableModel(); + model.setValues(entryBooks); } /** @@ -165,9 +164,8 @@ newEntryBook = entryBookService.createEntryBook(newEntryBook); // ui refresh - JXTable entryBookTable = view.getEntryBooksTable(); - EntryBookTableModel entryBookTableModel = (EntryBookTableModel) entryBookTable.getModel(); - entryBookTableModel.addEntryBook(newEntryBook); + EntryBookTableModel model = view.getEntryBookTableModel(); + model.addValue(newEntryBook); } } @@ -177,11 +175,11 @@ public void updateEntryBook() { JXTable entryBookTable = view.getEntryBooksTable(); - EntryBookTableModel entryBookTableModel = (EntryBookTableModel) entryBookTable.getModel(); + EntryBookTableModel entryBookTableModel = view.getEntryBookTableModel(); int selectedRow = entryBookTable.getSelectedRow(); if (selectedRow >= 0) { - EntryBook selectedEntryBook = entryBookTableModel.getEntryBookAtRow(selectedRow); + EntryBook selectedEntryBook = entryBookTableModel.get(selectedRow); final EntryBookForm entryBookForm = new EntryBookForm(view); InputMap inputMap = entryBookForm.getRootPane().getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); @@ -220,9 +218,9 @@ int selectedRow = entryBookTable.getSelectedRow(); if (selectedRow >= 0) { - EntryBookTableModel entryBookTableModel = (EntryBookTableModel) entryBookTable.getModel(); + EntryBookTableModel entryBookTableModel = view.getEntryBookTableModel(); - EntryBook selectedEntryBook = entryBookTableModel.getEntryBookAtRow(selectedRow); + EntryBook selectedEntryBook = entryBookTableModel.get(selectedRow); int response = JOptionPane.showConfirmDialog(view, _("lima.ui.entrybook.deletemessage", selectedEntryBook.getLabel()), @@ -232,7 +230,7 @@ if (response == JOptionPane.YES_OPTION) { entryBookService.removeEntryBook(selectedEntryBook); - entryBookTableModel.removeEntryBook(selectedEntryBook); + entryBookTableModel.remove(selectedEntryBook); } } } Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/LabelColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/LabelColumn.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/LabelColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -0,0 +1,28 @@ +package org.chorem.lima.ui.entrybook; + +import org.chorem.lima.ui.common.DefaultColumn; + +import static org.nuiton.i18n.I18n._; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class LabelColumn extends DefaultColumn<EntryBookTableModel> { + + @Override + public Class<?> getColumnClass() { + return String.class; + } + + @Override + public String getColumnName() { + return _("lima.ui.entrybook.label"); + } + + @Override + public Object getValueAt(int row) { + return tableModel.get(row).getLabel(); + } + + +} Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/AccountColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/AccountColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/AccountColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -28,16 +28,17 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.ui.celleditor.AccountTableCellEditor; import org.chorem.lima.ui.celleditor.AccountTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class AccountColumn extends FinancialTransactionColumn { +public class AccountColumn extends DefaultColumn<FinancialTransactionTableModel> { - public AccountColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); + public AccountColumn() { renderer = new AccountTableCellRenderer(); editor = new AccountTableCellEditor(); } @@ -54,7 +55,7 @@ @Override public Object getValueAt(int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); return entry.getAccount(); } @@ -65,7 +66,7 @@ @Override public boolean setValueAt(Object value, int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); Account account = (Account) value; boolean update = ((entry.getAccount()) == null != (account == null)) || (entry.getAccount() != null Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -26,6 +26,8 @@ import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.ui.celleditor.BigDecimalTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.math.BigDecimal; @@ -34,11 +36,10 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class BalanceColumn extends FinancialTransactionColumn { +public class BalanceColumn extends DefaultColumn<FinancialTransactionTableModel> { - public BalanceColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); + public BalanceColumn() { renderer = new BigDecimalTableCellRenderer(); } @@ -56,7 +57,7 @@ public Object getValueAt(int row) { BigDecimal result; FinancialTransaction transaction = tableModel.getTransactionAt(row); - if (row == 0 || tableModel.getEntryAt(row - 1).getFinancialTransaction() != transaction) { + if (row == 0 || tableModel.get(row - 1).getFinancialTransaction() != transaction) { result = transaction.getAmountDebit().subtract(transaction.getAmountCredit()); } else { result = BigDecimal.ZERO; Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/CreditColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/CreditColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/CreditColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -27,6 +27,8 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.ui.celleditor.BigDecimalTableCellEditor; import org.chorem.lima.ui.celleditor.BigDecimalTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.math.BigDecimal; @@ -35,10 +37,9 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class CreditColumn extends FinancialTransactionColumn { +public class CreditColumn extends DefaultColumn<FinancialTransactionTableModel> { - public CreditColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); + public CreditColumn() { renderer = new BigDecimalTableCellRenderer(); editor = new BigDecimalTableCellEditor(); } @@ -55,7 +56,7 @@ @Override public Object getValueAt(int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); return entry.getDebit() ? BigDecimal.ZERO : entry.getAmount(); } @@ -66,7 +67,7 @@ @Override public boolean setValueAt(Object value, int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); BigDecimal credit= (BigDecimal) value; boolean update = (credit.signum() > 0 && (entry.isDebit() || entry.getAmount().compareTo(credit) != 0)); if (update) { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -27,7 +27,9 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.ui.celleditor.DateTableCellEditor; -import org.chorem.lima.ui.celleditor.DateTableCellRenderer; +import org.chorem.lima.ui.celleditor.DateLimaTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.util.Date; @@ -36,12 +38,11 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class DateColumn extends FinancialTransactionColumn { +public class DateColumn extends DefaultColumn<FinancialTransactionTableModel> { - public DateColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); - renderer = new DateTableCellRenderer(); + public DateColumn() { + renderer = new DateLimaTableCellRenderer(); editor = new DateTableCellEditor(); } @@ -58,9 +59,9 @@ @Override public Object getValueAt(int row) { Date result; - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); FinancialTransaction transaction = entry.getFinancialTransaction(); - if (row == 0 || tableModel.getEntryAt(row - 1).getFinancialTransaction() != transaction) { + if (row == 0 || tableModel.get(row - 1).getFinancialTransaction() != transaction) { result = transaction.getTransactionDate(); // date } else { result = null; @@ -71,12 +72,12 @@ @Override public boolean isCellEditable(int row) { return row == 0 - || tableModel.getEntryAt(row).getFinancialTransaction() != tableModel.getEntryAt(row - 1).getFinancialTransaction(); + || tableModel.get(row).getFinancialTransaction() != tableModel.get(row - 1).getFinancialTransaction(); } @Override public boolean setValueAt(Object value, int row) { - FinancialTransaction transaction = tableModel.getTransactionAt(row); + FinancialTransaction transaction = tableModel.get(row).getFinancialTransaction(); boolean update = (transaction.getTransactionDate().compareTo((Date) value) != 0); if (update) { transaction.setTransactionDate((Date) value); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DebitColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DebitColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DebitColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -27,6 +27,8 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.ui.celleditor.BigDecimalTableCellEditor; import org.chorem.lima.ui.celleditor.BigDecimalTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.math.BigDecimal; @@ -35,10 +37,9 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class DebitColumn extends FinancialTransactionColumn { +public class DebitColumn extends DefaultColumn<FinancialTransactionTableModel> { - public DebitColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); + public DebitColumn() { renderer = new BigDecimalTableCellRenderer(); editor = new BigDecimalTableCellEditor(); } @@ -55,7 +56,7 @@ @Override public Object getValueAt(int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); return entry.getDebit() ? entry.getAmount() : BigDecimal.ZERO; } @@ -66,7 +67,7 @@ @Override public boolean setValueAt(Object value, int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); BigDecimal debit = (BigDecimal) value; boolean update = (debit.signum() > 0 && (!entry.isDebit() || entry.getAmount().compareTo(debit) != 0)); if (update) { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DescriptionColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DescriptionColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DescriptionColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -25,19 +25,18 @@ */ import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.EntryTableCellRenderer; import org.chorem.lima.ui.celleditor.StringTableCellEditor; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class DescriptionColumn extends FinancialTransactionColumn { +public class DescriptionColumn extends DefaultColumn<FinancialTransactionTableModel> { - public DescriptionColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); - renderer = new EntryTableCellRenderer(); + public DescriptionColumn() { editor = new StringTableCellEditor(); } @@ -53,7 +52,7 @@ @Override public Object getValueAt(int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); return entry.getDescription(); } @@ -64,7 +63,7 @@ @Override public boolean setValueAt(Object value, int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); String description = ((String) value).trim(); boolean update = (entry.getDescription() == null ||entry.getDescription().compareTo(description) != 0); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -29,17 +29,18 @@ import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.ui.celleditor.EntryBookTableCellEditor; import org.chorem.lima.ui.celleditor.EntryBookTableCellRender; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class EntryBookColumn extends FinancialTransactionColumn { +public class EntryBookColumn extends DefaultColumn<FinancialTransactionTableModel> { - public EntryBookColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); + public EntryBookColumn() { renderer = new EntryBookTableCellRender(); editor = new EntryBookTableCellEditor(); } @@ -57,9 +58,9 @@ @Override public Object getValueAt(int row) { EntryBook result; - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); FinancialTransaction transaction = entry.getFinancialTransaction(); - if (row == 0 || tableModel.getEntryAt(row - 1).getFinancialTransaction() != transaction) { + if (row == 0 || tableModel.get(row - 1).getFinancialTransaction() != transaction) { result = transaction.getEntryBook(); // date } else { result = null; @@ -70,7 +71,7 @@ @Override public boolean isCellEditable(int row) { return row == 0 - || tableModel.getEntryAt(row).getFinancialTransaction() != tableModel.getEntryAt(row - 1).getFinancialTransaction(); + || tableModel.get(row).getFinancialTransaction() != tableModel.get(row - 1).getFinancialTransaction(); } @Override 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-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionDefaultTable.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -26,40 +26,33 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.lima.ui.celleditor.EntryTableCellRenderer; +import org.chorem.lima.ui.common.AbstractLimaTable; import org.chorem.lima.ui.common.CellRouteHorizontalAction; import org.chorem.lima.ui.common.CellRouteVerticalAction; -import org.chorem.lima.ui.common.Column; import javax.swing.*; -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableCellRenderer; -import java.awt.*; import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class FinancialTransactionDefaultTable extends JTable { +public class FinancialTransactionDefaultTable<H> extends AbstractLimaTable<H> { /** serialVersionUID. */ private static final long serialVersionUID = 3133690382049594727L; private static final Log log = LogFactory.getLog(FinancialTransactionTable.class); - public FinancialTransactionDefaultTable() { - - setShowHorizontalLines(true); - setShowVerticalLines(true); - setGridColor(new Color(210,210,210)); - - initNavigation(); - - addMouseListener(new MyMouseAdapter()); + public FinancialTransactionDefaultTable(H handler) { + super(handler); + setSortable(false); + lineRenderer = new EntryTableCellRenderer(); } + @Override protected void initNavigation() { + super.initNavigation(); InputMap inputMap= getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); ActionMap actionMap = getActionMap(); @@ -80,45 +73,4 @@ actionMap.put(binding, new CellRouteVerticalAction(this, false)); } - - @Override - public TableCellRenderer getCellRenderer(int row, int column) { - TableCellRenderer renderer; - FinancialTransactionTableModel tableModel = (FinancialTransactionTableModel) getModel(); - Column columnTable = tableModel.getColumn(column); - renderer = columnTable.getCellRenderer(row); - if (renderer == null) { - renderer = super.getCellRenderer(row, column); - } - return renderer; - } - - @Override - public TableCellEditor getCellEditor(int row, int column) { - TableCellEditor editor; - FinancialTransactionTableModel tableModel = (FinancialTransactionTableModel) getModel(); - Column columnTable = tableModel.getColumn(column); - editor = columnTable.getCellEditor(row); - if (editor == null) { - editor = super.getCellEditor(row, column); - } - return editor; - } - - public void exit() { - if (isEditing()) { - TableCellEditor editor = getCellEditor(); - editor.stopCellEditing(); - } - } - - private class MyMouseAdapter extends MouseAdapter { - - @Override - public void mousePressed(MouseEvent e) { - if (rowAtPoint(e.getPoint()) == -1) { - clearSelection(); - } - } - } } 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-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionTable.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -28,6 +28,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.entity.FinancialTransaction; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import javax.swing.*; import java.awt.event.ActionEvent; @@ -45,18 +46,15 @@ * @author jpepin * @author echatellier */ -public class FinancialTransactionTable extends FinancialTransactionDefaultTable { +public class FinancialTransactionTable extends FinancialTransactionDefaultTable<FinancialTransactionViewHandler> { /** serialVersionUID. */ private static final long serialVersionUID = 3133690382049594727L; private static final Log log = LogFactory.getLog(FinancialTransactionTable.class); - protected final FinancialTransactionViewHandler handler; - - public FinancialTransactionTable(final FinancialTransactionViewHandler handler) { - super(); - this.handler = handler; + public FinancialTransactionTable(FinancialTransactionViewHandler handler) { + super(handler); } @Override Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionView.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionView.jaxx 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionView.jaxx 2013-12-31 15:05:26 UTC (rev 3722) @@ -31,6 +31,7 @@ org.chorem.lima.entity.FinancialPeriod org.chorem.lima.entity.EntryBook org.chorem.lima.ui.common.EntryBookListRenderer + org.chorem.lima.ui.common.FinancialTransactionTableModel java.awt.event.KeyEvent javax.swing.KeyStroke </import> 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-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/FinancialTransactionViewHandler.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -42,6 +42,7 @@ import org.chorem.lima.entity.FinancialTransactionImpl; import org.chorem.lima.entity.FiscalPeriod; import org.chorem.lima.service.LimaServiceFactory; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import javax.swing.*; import javax.swing.event.ChangeEvent; @@ -334,7 +335,7 @@ editor.stopCellEditing(); } - Entry entry = tableModel.getEntryAt(rowSelected); + Entry entry = tableModel.get(rowSelected); FinancialTransaction transaction = entry.getFinancialTransaction(); BigDecimal credit = transaction.getAmountCredit(); BigDecimal debit = transaction.getAmountDebit(); @@ -377,7 +378,7 @@ FinancialTransactionTable table = view.getFinancialTransactionTable(); int indexSelectedRow = table.getSelectedRow(); if (indexSelectedRow != -1) { - clipBoard = view.getFinancialTransactionTableModel().getEntryAt(indexSelectedRow); + clipBoard = view.getFinancialTransactionTableModel().get(indexSelectedRow); view.setTransactionInClipBoard(false); view.setEntryInClipBoard(true); } @@ -517,10 +518,10 @@ } //First case, where line selected is an entry : take its transaction //to select the last entry of the transaction - Entry entryAt = tableModel.getEntryAt(indexSelectedRow); + Entry entryAt = tableModel.get(indexSelectedRow); FinancialTransaction transaction = entryAt.getFinancialTransaction(); int rowLasEntry = tableModel.indexOf(transaction) + transaction.sizeEntry() - 1; - Entry lastEntry = tableModel.getEntryAt(rowLasEntry); + Entry lastEntry = tableModel.get(rowLasEntry); if (log.isDebugEnabled()) { log.debug("Selected row : " + indexSelectedRow); @@ -631,7 +632,7 @@ int indexSelectedRow = table.getSelectedRow(); if (indexSelectedRow >= 0) { - Entry entry = tableModel.getEntryAt(indexSelectedRow); + Entry entry = tableModel.get(indexSelectedRow); TableCellEditor cellEditor = table.getCellEditor(); if (cellEditor != null) { cellEditor.cancelCellEditing(); @@ -670,7 +671,7 @@ int selectedRow = table.getSelectedRow(); int selectedColumn = table.getSelectedColumn(); if (selectedRow >= 0 && (selectedColumn == 1 || selectedColumn == 3)) { - Entry entrySource = tableModel.getEntryAt(selectedRow); + Entry entrySource = tableModel.get(selectedRow); FinancialTransaction transaction = entrySource.getFinancialTransaction(); for (Entry entryTarget : transaction.getEntry()) { if (entrySource != entryTarget) { @@ -752,8 +753,8 @@ FinancialTransactionTable table = view.getFinancialTransactionTable(); FinancialTransactionTableModel tableModel = view.getFinancialTransactionTableModel(); - Entry entry = tableModel.getEntryAt(e.getFirstRow()); - tableModel.sortEntries(); + Entry entry = tableModel.get(e.getFirstRow()); + tableModel.sort(); int newRow = tableModel.indexOf(entry); table.changeSelection(newRow, 0, false, false); } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/LetterColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/LetterColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/LetterColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -27,16 +27,17 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.ui.celleditor.EntryTableCellRenderer; import org.chorem.lima.ui.celleditor.StringTableCellEditor; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class LetterColumn extends FinancialTransactionColumn { +public class LetterColumn extends DefaultColumn<FinancialTransactionTableModel> { - public LetterColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); + public LetterColumn() { renderer = new EntryTableCellRenderer(); editor = new StringTableCellEditor(); } @@ -53,7 +54,7 @@ @Override public Object getValueAt(int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); return entry.getLettering(); } @@ -64,7 +65,7 @@ @Override public boolean setValueAt(Object value, int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); String letter = ((String) value).trim(); boolean update = (entry.getLettering() == null || entry.getLettering().compareTo(letter) != 0); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/VoucherColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/VoucherColumn.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/VoucherColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -25,19 +25,18 @@ */ import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.EntryTableCellRenderer; import org.chorem.lima.ui.celleditor.StringTableCellEditor; +import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class VoucherColumn extends FinancialTransactionColumn { +public class VoucherColumn extends DefaultColumn<FinancialTransactionTableModel> { - public VoucherColumn(FinancialTransactionTableModel tableModel) { - super(tableModel); - renderer = new EntryTableCellRenderer(); + public VoucherColumn() { editor = new StringTableCellEditor(); } @@ -53,7 +52,7 @@ @Override public Object getValueAt(int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); return entry.getVoucher(); } @@ -64,7 +63,7 @@ @Override public boolean setValueAt(Object value, int row) { - Entry entry = tableModel.getEntryAt(row); + Entry entry = tableModel.get(row); String voucher = ((String) value).trim(); boolean update = (entry.getVoucher() == null || entry.getVoucher().compareTo(voucher) != 0); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTable.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTable.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -34,13 +34,13 @@ * @author ore * @author Rémi Chapelet */ -public class FinancialTransactionSearchTable extends FinancialTransactionDefaultTable { +public class FinancialTransactionSearchTable extends FinancialTransactionDefaultTable<FinancialTransactionSearchViewHandler> { /** serialVersionUID. */ private static final long serialVersionUID = 3133690382049594727L; - public FinancialTransactionSearchTable() { - super(); + public FinancialTransactionSearchTable(FinancialTransactionSearchViewHandler handler) { + super(handler); } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -37,7 +37,7 @@ import org.chorem.lima.ui.financialtransaction.DebitColumn; import org.chorem.lima.ui.financialtransaction.DescriptionColumn; import org.chorem.lima.ui.financialtransaction.EntryBookColumn; -import org.chorem.lima.ui.financialtransaction.FinancialTransactionTableModel; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import org.chorem.lima.ui.financialtransaction.LetterColumn; import org.chorem.lima.ui.financialtransaction.VoucherColumn; @@ -88,15 +88,15 @@ } protected void initColumns() { - columns.add(new DateColumn(this)); - columns.add(new EntryBookColumn(this)); - columns.add(new VoucherColumn(this)); - columns.add(new AccountColumn(this)); - columns.add(new DescriptionColumn(this)); - columns.add(new LetterColumn(this)); - columns.add(new DebitColumn(this)); - columns.add(new CreditColumn(this)); - columns.add(new BalanceColumn(this)); + addColumn(new DateColumn()); + addColumn(new EntryBookColumn()); + addColumn(new VoucherColumn()); + addColumn(new AccountColumn()); + addColumn(new DescriptionColumn()); + addColumn(new LetterColumn()); + addColumn(new DebitColumn()); + addColumn(new CreditColumn()); + addColumn(new BalanceColumn()); } public void setFiscalPeriod(FiscalPeriod fiscalPeriod) { Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchView.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchView.jaxx 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchView.jaxx 2013-12-31 15:05:26 UTC (rev 3722) @@ -109,7 +109,9 @@ <FinancialTransactionSearchTableModel id="financialTransactionSearchTableModel"/> <FinancialTransactionDefaultTable - id="financialTransactionSearchTable" rowHeight="22" + id="financialTransactionSearchTable" + constructorParams='handler' + rowHeight="22" model="{getFinancialTransactionSearchTableModel()}" selectionMode="{ListSelectionModel.SINGLE_SELECTION}"/> <ListSelectionModel Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTable.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTable.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -25,142 +25,20 @@ package org.chorem.lima.ui.financialtransactionunbalanced; -import org.chorem.lima.ui.common.CellRouteHorizontalAction; -import org.chorem.lima.ui.common.CellRouteVerticalAction; -import org.chorem.lima.ui.common.Column; -import org.chorem.lima.ui.financialtransaction.FinancialTransactionTableModel; -import org.jdesktop.swingx.decorator.ColorHighlighter; -import org.jdesktop.swingx.decorator.Highlighter; +import org.chorem.lima.ui.financialtransaction.FinancialTransactionDefaultTable; -import javax.swing.*; -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableCellRenderer; -import java.awt.*; -import java.awt.event.ActionEvent; -import java.awt.event.KeyEvent; -import java.awt.event.MouseAdapter; -import java.awt.event.MouseEvent; - /** * Table des transaction qui ajoute des comportement (keys). * * @author ore * @author Rémi Chapelet */ -public class FinancialTransactionUnbalancedTable extends JTable { +public class FinancialTransactionUnbalancedTable extends FinancialTransactionDefaultTable<FinancialTransactionUnbalancedViewHandler> { /** serialVersionUID. */ private static final long serialVersionUID = 3133690382049594727L; - protected final FinancialTransactionUnbalancedViewHandler handler; - - private Highlighter colorTransaction; - - private ColorHighlighter colorBalance; - - public FinancialTransactionUnbalancedTable(final FinancialTransactionUnbalancedViewHandler handler) { - - this.handler = handler; - - setShowHorizontalLines(true); - setShowVerticalLines(true); - setGridColor(new Color(210,210,210)); - - InputMap inputMap= getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); - ActionMap actionMap = getActionMap(); - - // action on Tab - Object binding = inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0)); - actionMap.put(binding, new CellRouteHorizontalAction(this, true)); - - // action on Shift + Tab - binding = inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, KeyEvent.SHIFT_DOWN_MASK)); - actionMap.put(binding, new CellRouteHorizontalAction(this, false)); - - // action on Enter - binding = inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0)); - actionMap.put(binding, new CellRouteVerticalAction(this, true)); - - // action on Shift + Enter - binding = inputMap.get(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, KeyEvent.SHIFT_DOWN_MASK)); - actionMap.put(binding, new CellRouteVerticalAction(this, false)); - - // 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) { - handler.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) { - handler.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) { - handler.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) { - handler.balanceTransaction(); - } - }); - - addMouseListener(new MyMouseAdapter()); - + public FinancialTransactionUnbalancedTable(FinancialTransactionUnbalancedViewHandler handler) { + super(handler); } - - @Override - public TableCellRenderer getCellRenderer(int row, int column) { - TableCellRenderer renderer; - FinancialTransactionTableModel tableModel = (FinancialTransactionTableModel) getModel(); - Column columnTable = tableModel.getColumn(column); - renderer = columnTable.getCellRenderer(row); - if (renderer == null) { - renderer = super.getCellRenderer(row, column); - } - return renderer; - } - - @Override - public TableCellEditor getCellEditor(int row, int column) { - TableCellEditor editor; - FinancialTransactionTableModel tableModel = (FinancialTransactionTableModel) getModel(); - Column columnTable = tableModel.getColumn(column); - editor = columnTable.getCellEditor(row); - if (editor == null) { - editor = super.getCellEditor(row, column); - } - return editor; - } - - private class MyMouseAdapter extends MouseAdapter { - - @Override - public void mousePressed(MouseEvent e) { - if (rowAtPoint(e.getPoint()) == -1) { - clearSelection(); - } - } - } - } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTableModel.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTableModel.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -25,15 +25,17 @@ package org.chorem.lima.ui.financialtransactionunbalanced; +import com.google.common.collect.Lists; +import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.FinancialTransaction; import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.common.FinancialTransactionTableModel; import org.chorem.lima.ui.financialtransaction.AccountColumn; import org.chorem.lima.ui.financialtransaction.CreditColumn; import org.chorem.lima.ui.financialtransaction.DateColumn; import org.chorem.lima.ui.financialtransaction.DebitColumn; import org.chorem.lima.ui.financialtransaction.DescriptionColumn; import org.chorem.lima.ui.financialtransaction.EntryBookColumn; -import org.chorem.lima.ui.financialtransaction.FinancialTransactionTableModel; import org.chorem.lima.ui.financialtransaction.LetterColumn; import org.chorem.lima.ui.financialtransaction.VoucherColumn; @@ -56,14 +58,14 @@ protected FiscalPeriod selectedFiscalPeriod; protected void initColumns() { - columns.add(new DateColumn(this)); - columns.add(new EntryBookColumn(this)); - columns.add(new VoucherColumn(this)); - columns.add(new AccountColumn(this)); - columns.add(new DescriptionColumn(this)); - columns.add(new DebitColumn(this)); - columns.add(new CreditColumn(this)); - columns.add(new LetterColumn(this)); + addColumn(new DateColumn()); + addColumn(new EntryBookColumn()); + addColumn(new VoucherColumn()); + addColumn(new AccountColumn()); + addColumn(new DescriptionColumn()); + addColumn(new DebitColumn()); + addColumn(new CreditColumn()); + addColumn(new LetterColumn()); } /** @@ -72,13 +74,18 @@ * @return */ protected void refresh() { - transactions.clear(); + values.clear(); if (selectedFiscalPeriod != null) { List<FinancialTransaction> financialTransactions = financialTransactionService.getAllInexactFinancialTransactions(selectedFiscalPeriod); - transactions.addAll(financialTransactions); - sortEntries(); + List<Entry> entries = Lists.newLinkedList(); + + for (FinancialTransaction transaction : financialTransactions) { + entries.addAll(transaction.getEntry()); + } + + addAll(entries); } } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedView.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedView.jaxx 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedView.jaxx 2013-12-31 15:05:26 UTC (rev 3722) @@ -91,8 +91,9 @@ <JScrollPane> <FinancialTransactionUnbalancedTableModel id="financialTransactionUnbalancedTableModel"/> - <FinancialTransactionDefaultTable + <FinancialTransactionUnbalancedTable id="financialTransactionUnbalancedTable" + constructorParams='handler' rowHeight="22" selectionModel='{selectionModel}' model="{getFinancialTransactionUnbalancedTableModel()}"/> 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-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedViewHandler.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -146,7 +146,7 @@ cellEditor.cancelCellEditing(); } - Entry entry = tableModel.getEntryAt(indexSelectedRow); + Entry entry = tableModel.get(indexSelectedRow); //copy + paste the description Entry newEntry = new EntryImpl(); newEntry.setFinancialTransaction(entry.getFinancialTransaction()); @@ -287,7 +287,7 @@ editor.stopCellEditing(); } - Entry entry = tableModel.getEntryAt(rowSelected); + Entry entry = tableModel.get(rowSelected); FinancialTransaction transaction = entry.getFinancialTransaction(); BigDecimal credit = transaction.getAmountCredit(); BigDecimal debit = transaction.getAmountDebit(); Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/BeginColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/BeginColumn.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/BeginColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -0,0 +1,35 @@ +package org.chorem.lima.ui.fiscalperiod; + +import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.celleditor.DateLimaTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; + +import java.util.Date; + +import static org.nuiton.i18n.I18n._; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class BeginColumn extends DefaultColumn<FiscalPeriodTableModel> { + + public BeginColumn() { + renderer = new DateLimaTableCellRenderer(); + } + + @Override + public Class<?> getColumnClass() { + return Date.class; + } + + @Override + public String getColumnName() { + return _("lima.ui.fiscalperiod.begin"); + } + + @Override + public Object getValueAt(int row) { + FiscalPeriod fiscalPeriod = tableModel.get(row); + return fiscalPeriod.getBeginDate(); + } +} Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/EndColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/EndColumn.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/EndColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -0,0 +1,34 @@ +package org.chorem.lima.ui.fiscalperiod; + +import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.celleditor.DateLimaTableCellRenderer; +import org.chorem.lima.ui.common.DefaultColumn; + +import java.util.Date; + +import static org.nuiton.i18n.I18n._; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class EndColumn extends DefaultColumn<FiscalPeriodTableModel> { + + public EndColumn() { + renderer = new DateLimaTableCellRenderer(); + } + @Override + public Class<?> getColumnClass() { + return Date.class; + } + + @Override + public String getColumnName() { + return _("lima.ui.fiscalperiod.end"); + } + + @Override + public Object getValueAt(int row) { + FiscalPeriod fiscalPeriod = tableModel.get(row); + return fiscalPeriod.getEndDate(); + } +} Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodRenderer.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodRenderer.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodRenderer.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -0,0 +1,28 @@ +package org.chorem.lima.ui.fiscalperiod; + +import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.common.LineRenderer; + +import javax.swing.*; +import java.awt.*; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class FiscalPeriodRenderer extends LineRenderer { + + @Override + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + + Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + + if (table.getModel() instanceof FiscalPeriodTableModel) { + FiscalPeriodTableModel model = (FiscalPeriodTableModel) table.getModel(); + FiscalPeriod fiscalPeriod = model.get(row); + if (!isSelected && fiscalPeriod.getLocked()) { + component.setForeground(new Color(222, 0, 0)); + } + } + return component; + } +} Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTable.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTable.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -25,15 +25,8 @@ package org.chorem.lima.ui.fiscalperiod; -import org.chorem.lima.ui.celleditor.FiscalPeriodTableRenderer; -import org.jdesktop.swingx.JXTable; +import org.chorem.lima.ui.common.AbstractLimaTable; -import javax.swing.table.TableCellRenderer; -import java.awt.event.KeyEvent; -import java.awt.event.KeyListener; -import java.awt.event.MouseEvent; -import java.awt.event.MouseListener; - /** * Fiscal period table add support for JXTable. * @@ -49,67 +42,13 @@ * Last update : $Date$ * By : $Author$ */ -public class FiscalPeriodTable extends JXTable - implements KeyListener, MouseListener { +public class FiscalPeriodTable extends AbstractLimaTable<FiscalPeriodViewHandler> { private static final long serialVersionUID = -8462838870024505659L; - public FiscalPeriodTable() { - super(); - - addKeyListener(this); - addMouseListener(this); - + public FiscalPeriodTable(FiscalPeriodViewHandler handler) { + super(handler); + lineRenderer = new FiscalPeriodRenderer(); } - @Override - public void mouseClicked(MouseEvent e) { - } - - @Override - public void mousePressed(MouseEvent e) { - if (rowAtPoint(e.getPoint()) == -1) { - clearSelection(); - } - } - - @Override - public void mouseReleased(MouseEvent e) { - } - - @Override - public void mouseEntered(MouseEvent e) { - } - - @Override - public void mouseExited(MouseEvent e) { - } - - @Override - public void keyTyped(KeyEvent e) { - } - - /** - * for each action combination key are think - * for extend keyboard and laptop keyboard - */ - @Override - public void keyPressed(KeyEvent e) { - // clear row selection with the key: escape - if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { - if (!isEditing()) { - clearSelection(); - } - } - } - - @Override - public void keyReleased(KeyEvent e) { - } - - @Override - public TableCellRenderer getCellRenderer(int row, int column) { - return new FiscalPeriodTableRenderer(); - } - } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTableModel.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTableModel.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -27,15 +27,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.chorem.lima.business.LimaException; import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.common.AbstractLimaTableModel; -import javax.swing.table.AbstractTableModel; -import java.text.SimpleDateFormat; -import java.util.List; - -import static org.nuiton.i18n.I18n._; - /** * Modele de Fiscal period (rendu de list) * @@ -45,116 +39,17 @@ * Last update : $Date$ * By : $Author$ */ -public class FiscalPeriodTableModel extends AbstractTableModel { +public class FiscalPeriodTableModel extends AbstractLimaTableModel<FiscalPeriod> { /** serialVersionUID. */ private static final long serialVersionUID = 77027335135838258L; private static final Log log = LogFactory.getLog(FiscalPeriodTableModel.class); - protected List<FiscalPeriod> fiscalPeriods; - - public FiscalPeriodTableModel(List<FiscalPeriod> fiscalPeriods) { - this.fiscalPeriods = fiscalPeriods; - } - @Override - public int getRowCount() { - int result = 0; - if (fiscalPeriods != null) { - result = fiscalPeriods.size(); - } - return result; + protected void initColumn() { + addColumn(new BeginColumn()); + addColumn(new EndColumn()); + addColumn(new StatusColumn()); } - - @Override - public int getColumnCount() { - return 2; - } - - public FiscalPeriod getFiscalPeriodAt(int row) { - if (row == -1) { - return null; - } - FiscalPeriod result = fiscalPeriods.get(row); - return result; - } - - public int getRow(FiscalPeriod period) { - if (period == null) { - return -1; - } - return fiscalPeriods.indexOf(period); - } - - @Override - public String getColumnName(int columnIndex) { - - String result = "n/a"; - - switch (columnIndex) { - case 0: - result = _("lima.ui.fiscalperiod.fiscalperiod"); - break; - case 1: - result = _("lima.ui.fiscalperiod.closure"); - break; - } - - return result; - } - - @Override - public Object getValueAt(int rowIndex, int columnIndex) { - - Object result = "n/a"; - - FiscalPeriod fiscalPeriod = getFiscalPeriodAt(rowIndex); - - if (fiscalPeriod != null) { - // FIXME echatellier 20120405 i18n problem (hard coded) - SimpleDateFormat simpleDateFormat = new SimpleDateFormat("dd MMM yyyy"); - - switch (columnIndex) { - case 0: - result = simpleDateFormat. - format(fiscalPeriod.getBeginDate()) - + " - " + simpleDateFormat. - format(fiscalPeriod.getEndDate()); - break; - case 1: - if (fiscalPeriod.getLocked()) { - result = _("lima.ui.fiscalperiod.closed"); - } else { - result = _("lima.ui.fiscalperiod.open"); - } - break; - } - } - - return result; - } - - public void addFiscalPeriod(FiscalPeriod fiscalPeriod) { - fiscalPeriods.add(fiscalPeriod); - int row = fiscalPeriods.indexOf(fiscalPeriod); - fireTableRowsInserted(row, row); - } - - public void deleteFiscalPeriod(FiscalPeriod fiscalPeriod) { - int row = fiscalPeriods.indexOf(fiscalPeriod); - fiscalPeriods.remove(fiscalPeriod); - fireTableRowsDeleted(row, row); - } - - public void updateFiscalPeriod(FiscalPeriod fiscalPeriod) throws LimaException { - int row = fiscalPeriods.indexOf(fiscalPeriod); - - if (log.isDebugEnabled()) { - log.debug("Selected row : " + row); - } - - fiscalPeriods.set(row, fiscalPeriod); - fireTableRowsUpdated(row, row); - } } Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodView.jaxx =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodView.jaxx 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodView.jaxx 2013-12-31 15:05:26 UTC (rev 3722) @@ -70,10 +70,13 @@ <row> <cell fill="both" weightx="1" weighty="1"> <JScrollPane> + <FiscalPeriodTableModel id="fiscalPeriodTableModel" /> <FiscalPeriodTable id="fiscalPeriodTable" + constructorParams='handler' sortable="false" rowHeight="24" columnControlVisible="true" + model="{fiscalPeriodTableModel}" selectionModel='{selectionModel}'/> <ListSelectionModel id="selectionModel" initializer="new DefaultListSelectionModel()" Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java 2013-12-31 15:03:48 UTC (rev 3721) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodViewHandler.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -128,9 +128,8 @@ public void loadAllFiscalPeriod() { List<FiscalPeriod> periods = fiscalPeriodService.getAllFiscalPeriods(); - FiscalPeriodTableModel model = new FiscalPeriodTableModel(periods); - FiscalPeriodTable table = view.getFiscalPeriodTable(); - table.setModel(model); + FiscalPeriodTableModel tableModel = view.getFiscalPeriodTableModel(); + tableModel.setValues(periods); } /** @@ -139,7 +138,7 @@ public void addFiscalPeriod() { FiscalPeriodTable table = view.getFiscalPeriodTable(); - FiscalPeriodTableModel model = (FiscalPeriodTableModel) table.getModel(); + FiscalPeriodTableModel tableModel = view.getFiscalPeriodTableModel(); AddPeriod addPeriodDialog = new AddPeriod(view); addPeriodDialog.setLocationRelativeTo(view); @@ -161,7 +160,7 @@ if (response == JOptionPane.YES_OPTION) { fiscalPeriod = fiscalPeriodService.createFiscalPeriod(fiscalPeriod); - model.addFiscalPeriod(fiscalPeriod); + tableModel.addValue(fiscalPeriod); } } } @@ -172,13 +171,13 @@ public void deleteFiscalPeriod() { FiscalPeriodTable table = view.getFiscalPeriodTable(); - FiscalPeriodTableModel model = (FiscalPeriodTableModel) table.getModel(); + FiscalPeriodTableModel tableModel = view.getFiscalPeriodTableModel(); int selectedRow = table.getSelectedRow(); if (selectedRow >=0 ) { - FiscalPeriod selectedFiscalPeriod = model.getFiscalPeriodAt(selectedRow); + FiscalPeriod selectedFiscalPeriod = tableModel.get(selectedRow); if (!selectedFiscalPeriod.isLocked() && financialTransactionService.getAllFinancialTransactions(selectedFiscalPeriod).isEmpty()) { @@ -192,7 +191,7 @@ if (response == JOptionPane.YES_OPTION) { fiscalPeriodService.deleteFiscalPeriod(selectedFiscalPeriod); - model.deleteFiscalPeriod(selectedFiscalPeriod); + tableModel.remove(selectedFiscalPeriod); view.setBlockEnabled(false); view.setDeleteEnabled(false); } @@ -241,13 +240,13 @@ */ public void blockFiscalPeriod() { FiscalPeriodTable table = view.getFiscalPeriodTable(); - FiscalPeriodTableModel model = (FiscalPeriodTableModel) table.getModel(); + FiscalPeriodTableModel tableModel = view.getFiscalPeriodTableModel(); int selectedRow = table.getSelectedRow(); if (selectedRow >= 0) { - FiscalPeriod selectedFiscalPeriod = model.getFiscalPeriodAt(selectedRow); + FiscalPeriod selectedFiscalPeriod = tableModel.get(selectedRow); if (!selectedFiscalPeriod.isLocked()) { @@ -298,7 +297,7 @@ } FiscalPeriod fiscalPeriodBlocked = fiscalPeriodService.retainedEarningsAndBlockFiscalPeriod(selectedFiscalPeriod, entryBook, retainedEarnings); - model.updateFiscalPeriod(fiscalPeriodBlocked); + tableModel.fireTableRowsUpdated(selectedRow, selectedRow); view.setBlockEnabled(false); view.setDeleteEnabled(false); @@ -328,9 +327,9 @@ } FiscalPeriodTable table = view.getFiscalPeriodTable(); - FiscalPeriodTableModel model = (FiscalPeriodTableModel) table.getModel(); - if (model.getRowCount() != selectedRow) { - FiscalPeriod fiscalPeriodAt = model.getFiscalPeriodAt(selectedRow); + FiscalPeriodTableModel tableModel = view.getFiscalPeriodTableModel(); + if (tableModel.getRowCount() != selectedRow) { + FiscalPeriod fiscalPeriodAt = tableModel.get(selectedRow); List<FinancialTransaction> financialTransactionList = financialTransactionService.getAllFinancialTransactions(fiscalPeriodAt); Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/StatusColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/StatusColumn.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/StatusColumn.java 2013-12-31 15:05:26 UTC (rev 3722) @@ -0,0 +1,33 @@ +package org.chorem.lima.ui.fiscalperiod; + +import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.common.DefaultColumn; + +import static org.nuiton.i18n.I18n._; + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public class StatusColumn extends DefaultColumn<FiscalPeriodTableModel> { + + @Override + public Class<?> getColumnClass() { + return String.class; + } + + @Override + public String getColumnName() { + return _("lima.ui.fiscalperiod.status"); + } + + @Override + public Object getValueAt(int row) { + FiscalPeriod fiscalPeriod = tableModel.get(row); + String status = _("lima.ui.fiscalperiod.open"); + if (fiscalPeriod.getLocked()) { + status = _("lima.ui.fiscalperiod.closed"); + } + return status; + } + +} \ No newline at end of file