Author: sbavencoff Date: 2014-01-02 10:41:08 +0100 (Thu, 02 Jan 2014) New Revision: 3727 Url: http://chorem.org/projects/lima/repository/revisions/3727 Log: change columns management (renderer, edito, class, name, editable, ...) Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractColumn.java Removed: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/DefaultColumn.java 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/StatusColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/AccountColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/CreditColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DateColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DebitColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DescriptionColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetterColumn.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/VoucherColumn.java Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractLimaTable.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/Column.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/LineRenderer.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.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/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/FinancialTransactionSearchTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTableModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringTableModel.java Copied: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractColumn.java (from rev 3726, trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/DefaultColumn.java) =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractColumn.java (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -0,0 +1,84 @@ +package org.chorem.lima.ui.common; + +/* + * #%L + * Lima :: Swing + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2008 - 2013 CodeLutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +/** + * @author Sylvain Bavencoff <bavencoff@codelutin.com> + */ +public abstract class AbstractColumn<T extends AbstractLimaTableModel> implements Column<T> { + + protected T tableModel; + + protected Class<?> columnClass; + + protected String columnName; + + protected boolean editable; + + public AbstractColumn(Class<?> columnClass, String columnName, boolean editable) { + this.columnClass = columnClass; + this.columnName = columnName; + this.editable = editable; + } + + public Class<?> getColumnClass() { + return columnClass; + } + + @Override + public void setTableModel(T tableModel) { + this.tableModel = tableModel; + } + + @Override + public boolean isCellEditable(int row) { + return editable; + } + + @Override + public boolean setValueAt(Object value, int row) { + return false; + } + + public void setColumnClass(Class<?> columnClass) { + this.columnClass = columnClass; + } + + public String getColumnName() { + return columnName; + } + + public void setColumnName(String columnName) { + this.columnName = columnName; + } + + public boolean isEditable() { + return editable; + } + + public void setEditable(boolean editable) { + this.editable = editable; + } +} Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractLimaTable.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractLimaTable.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/AbstractLimaTable.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -2,7 +2,18 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.lima.entity.Account; +import org.chorem.lima.entity.EntryBook; +import org.chorem.lima.ui.celleditor.AccountTableCellEditor; +import org.chorem.lima.ui.celleditor.AccountTableCellRenderer; +import org.chorem.lima.ui.celleditor.BigDecimalTableCellEditor; +import org.chorem.lima.ui.celleditor.BigDecimalTableCellRenderer; +import org.chorem.lima.ui.celleditor.DateLimaTableCellRenderer; +import org.chorem.lima.ui.celleditor.DateTableCellEditor; import org.chorem.lima.ui.celleditor.DefaultLimaTableCellRenderer; +import org.chorem.lima.ui.celleditor.EntryBookTableCellEditor; +import org.chorem.lima.ui.celleditor.EntryBookTableCellRender; +import org.chorem.lima.ui.celleditor.StringTableCellEditor; import org.jdesktop.swingx.JXTable; import javax.swing.*; @@ -13,6 +24,8 @@ import java.awt.event.KeyEvent; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.math.BigDecimal; +import java.util.Date; /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> @@ -38,8 +51,19 @@ addMouseListener(new MyMouseAdapter()); + // renderer setDefaultRenderer(Object.class, new DefaultLimaTableCellRenderer()); + setDefaultRenderer(Date.class, new DateLimaTableCellRenderer()); + setDefaultRenderer(BigDecimal.class, new BigDecimalTableCellRenderer()); + setDefaultRenderer(Account.class, new AccountTableCellRenderer()); + setDefaultRenderer(EntryBook.class, new EntryBookTableCellRender()); + // editor + setDefaultEditor(Date.class, new DateTableCellEditor()); + setDefaultEditor(BigDecimal.class, new BigDecimalTableCellEditor()); + setDefaultEditor(Account.class, new AccountTableCellEditor()); + setDefaultEditor(EntryBook.class, new EntryBookTableCellEditor()); + setDefaultEditor(String.class, new StringTableCellEditor()); } protected void initNavigation() { @@ -65,29 +89,15 @@ @Override public TableCellRenderer getCellRenderer(int row, int column) { - TableCellRenderer renderer; + TableCellRenderer renderer = super.getCellRenderer(row, column); if (lineRenderer != null) { + lineRenderer.setCellRenderer(renderer); renderer = lineRenderer; - } else { - renderer = super.getCellRenderer(row, column); } - return renderer; } - @Override - public TableCellEditor getCellEditor(int row, int column) { - TableCellEditor editor; - AbstractLimaTableModel tableModel = (AbstractLimaTableModel) 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(); Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/Column.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/Column.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/Column.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -24,9 +24,6 @@ * #L% */ -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableCellRenderer; - /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ @@ -42,9 +39,5 @@ public boolean setValueAt(Object value, int row); - public TableCellRenderer getCellRenderer(int row); - - public TableCellEditor getCellEditor(int row); - public void setTableModel(T tableModel); } Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/DefaultColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/DefaultColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/DefaultColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,65 +0,0 @@ -package org.chorem.lima.ui.common; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import javax.swing.table.TableCellEditor; -import javax.swing.table.TableCellRenderer; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public abstract class DefaultColumn<T extends AbstractLimaTableModel> implements Column<T> { - - protected T tableModel; - - protected TableCellRenderer renderer; - - protected TableCellEditor editor; - - @Override - public void setTableModel(T tableModel) { - this.tableModel = tableModel; - } - - @Override - public TableCellRenderer getCellRenderer(int row) { - return renderer; - } - - @Override - public TableCellEditor getCellEditor(int row) { - return editor; - } - - @Override - public boolean isCellEditable(int row) { - return false; - } - - @Override - public boolean setValueAt(Object value, int row) { - return false; - } -} Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/FinancialTransactionTableModel.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -35,7 +35,6 @@ public FinancialTransactionTableModel() { - setComparator(new EntryComparator()); financialTransactionService = Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/LineRenderer.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/LineRenderer.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/common/LineRenderer.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -11,18 +11,17 @@ */ public class LineRenderer extends DefaultLimaTableCellRenderer { + protected TableCellRenderer cellRenderer; + + @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - AbstractLimaTableModel tableModel = (AbstractLimaTableModel) table.getModel(); - Column columnTable = tableModel.getColumn(column); - TableCellRenderer renderer = columnTable.getCellRenderer(row); - Component component; - if (renderer != null) { + if (cellRenderer != null) { - component = renderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + component = cellRenderer.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); } else { @@ -35,4 +34,11 @@ } + public TableCellRenderer getCellRenderer() { + return cellRenderer; + } + + public void setCellRenderer(TableCellRenderer cellRenderer) { + this.cellRenderer = cellRenderer; + } } Deleted: 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 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/CodeColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,26 +0,0 @@ -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/EntryBookTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/EntryBookTableModel.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -26,8 +26,11 @@ package org.chorem.lima.ui.entrybook; import org.chorem.lima.entity.EntryBook; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.AbstractLimaTableModel; +import static org.nuiton.i18n.I18n._; + /** * Entry book table model only rendering entry book list. * @@ -45,8 +48,18 @@ @Override protected void initColumn() { - addColumn(new CodeColumn()); - addColumn(new LabelColumn()); + addColumn(new AbstractColumn<EntryBookTableModel>(String.class, _("lima.ui.entrybook.code"), false) { + @Override + public Object getValueAt(int row) { + return tableModel.get(row).getCode(); + } + }); + addColumn(new AbstractColumn<EntryBookTableModel>(String.class, _("lima.ui.entrybook.label"), false) { + @Override + public Object getValueAt(int row) { + return tableModel.get(row).getLabel(); + } + }); } public void updateEntryBook(EntryBook entryBook) { Deleted: 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 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/entrybook/LabelColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,28 +0,0 @@ -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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/AccountColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -26,9 +26,7 @@ import org.chorem.lima.entity.Account; 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.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; @@ -36,35 +34,19 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class AccountColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class AccountColumn extends AbstractColumn<FinancialTransactionTableModel> { public AccountColumn() { - renderer = new AccountTableCellRenderer(); - editor = new AccountTableCellEditor(); + super(Account.class, _("lima.ui.financialtransaction.account"), true); } @Override - public Class<?> getColumnClass() { - return Account.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.account"); - } - - @Override public Object getValueAt(int row) { Entry entry = tableModel.get(row); return entry.getAccount(); } @Override - public boolean isCellEditable(int row) { - return true; - } - - @Override public boolean setValueAt(Object value, int row) { Entry entry = tableModel.get(row); Account account = (Account) value; 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/BalanceColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,8 +25,7 @@ */ 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.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.math.BigDecimal; @@ -36,24 +35,13 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class BalanceColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class BalanceColumn extends AbstractColumn<FinancialTransactionTableModel> { - public BalanceColumn() { - renderer = new BigDecimalTableCellRenderer(); + super(BigDecimal.class, _("lima.table.balance"), false); } @Override - public Class<?> getColumnClass() { - return BigDecimal.class; - } - - @Override - public String getColumnName() { - return _("lima.table.balance"); - } - - @Override public Object getValueAt(int row) { BigDecimal result; FinancialTransaction transaction = tableModel.getTransactionAt(row); @@ -64,14 +52,4 @@ } return result; } - - @Override - public boolean isCellEditable(int row) { - return false; - } - - @Override - public boolean setValueAt(Object value, int row) { - return false; - } } 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/CreditColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,9 +25,7 @@ */ 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.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.math.BigDecimal; @@ -37,35 +35,19 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class CreditColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class CreditColumn extends AbstractColumn<FinancialTransactionTableModel> { public CreditColumn() { - renderer = new BigDecimalTableCellRenderer(); - editor = new BigDecimalTableCellEditor(); + super(BigDecimal.class, _("lima.ui.financialtransaction.credit"), true); } @Override - public Class<?> getColumnClass() { - return BigDecimal.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.credit"); - } - - @Override public Object getValueAt(int row) { Entry entry = tableModel.get(row); return entry.getDebit() ? BigDecimal.ZERO : entry.getAmount(); } @Override - public boolean isCellEditable(int row) { - return true; - } - - @Override public boolean setValueAt(Object value, int row) { Entry entry = tableModel.get(row); BigDecimal credit= (BigDecimal) value; 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DateColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -26,9 +26,7 @@ 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.DateLimaTableCellRenderer; -import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.util.Date; @@ -38,25 +36,13 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class DateColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class DateColumn extends AbstractColumn<FinancialTransactionTableModel> { - - public DateColumn() { - renderer = new DateLimaTableCellRenderer(); - editor = new DateTableCellEditor(); + public DateColumn(){ + super(Date.class, _("lima.ui.financialtransaction.date"), true); } @Override - public Class<?> getColumnClass() { - return Date.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.date"); - } - - @Override public Object getValueAt(int row) { Date result; Entry entry = tableModel.get(row); 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DebitColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,9 +25,7 @@ */ 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.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import java.math.BigDecimal; @@ -37,35 +35,19 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class DebitColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class DebitColumn extends AbstractColumn<FinancialTransactionTableModel> { public DebitColumn() { - renderer = new BigDecimalTableCellRenderer(); - editor = new BigDecimalTableCellEditor(); + super(BigDecimal.class, _("lima.ui.financialtransaction.debit"), true); } @Override - public Class<?> getColumnClass() { - return BigDecimal.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.debit"); - } - - @Override public Object getValueAt(int row) { Entry entry = tableModel.get(row); return entry.getDebit() ? entry.getAmount() : BigDecimal.ZERO; } @Override - public boolean isCellEditable(int row) { - return true; - } - - @Override public boolean setValueAt(Object value, int row) { Entry entry = tableModel.get(row); BigDecimal debit = (BigDecimal) value; 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/DescriptionColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,8 +25,7 @@ */ import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.StringTableCellEditor; -import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; @@ -34,34 +33,18 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class DescriptionColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class DescriptionColumn<T extends FinancialTransactionTableModel> extends AbstractColumn<T> { public DescriptionColumn() { - editor = new StringTableCellEditor(); + super(String.class, _("lima.ui.financialtransaction.description"), true); } - @Override - public Class<?> getColumnClass() { - return String.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.description"); - } - - @Override public Object getValueAt(int row) { Entry entry = tableModel.get(row); return entry.getDescription(); } @Override - public boolean isCellEditable(int row) { - return true; - } - - @Override public boolean setValueAt(Object value, int row) { Entry entry = tableModel.get(row); String description = ((String) value).trim(); 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/EntryBookColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -27,9 +27,7 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.EntryBook; 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.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; @@ -37,25 +35,13 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class EntryBookColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class EntryBookColumn extends AbstractColumn<FinancialTransactionTableModel> { - public EntryBookColumn() { - renderer = new EntryBookTableCellRender(); - editor = new EntryBookTableCellEditor(); + super(EntryBook.class, _("lima.table.entrybook"), true); } @Override - public Class<?> getColumnClass() { - return EntryBook.class; - } - - @Override - public String getColumnName() { - return _("lima.table.entrybook"); - } - - @Override public Object getValueAt(int row) { EntryBook result; Entry entry = tableModel.get(row); 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/LetterColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,8 +25,7 @@ */ import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.StringTableCellEditor; -import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; @@ -34,34 +33,19 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class LetterColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class LetterColumn extends AbstractColumn<FinancialTransactionTableModel> { public LetterColumn() { - editor = new StringTableCellEditor(); + super(String.class, _("lima.table.letter"), true); } @Override - public Class<?> getColumnClass() { - return String.class; - } - - @Override - public String getColumnName() { - return _("lima.table.letter"); - } - - @Override public Object getValueAt(int row) { Entry entry = tableModel.get(row); return entry.getLettering(); } @Override - public boolean isCellEditable(int row) { - return true; - } - - @Override public boolean setValueAt(Object value, int row) { Entry entry = tableModel.get(row); String letter = ((String) value).trim(); 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransaction/VoucherColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,8 +25,7 @@ */ import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.StringTableCellEditor; -import org.chorem.lima.ui.common.DefaultColumn; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.FinancialTransactionTableModel; import static org.nuiton.i18n.I18n._; @@ -34,34 +33,19 @@ /** * @author Sylvain Bavencoff <bavencoff@codelutin.com> */ -public class VoucherColumn extends DefaultColumn<FinancialTransactionTableModel> { +public class VoucherColumn extends AbstractColumn<FinancialTransactionTableModel> { public VoucherColumn() { - editor = new StringTableCellEditor(); + super(String.class, _("lima.ui.financialtransaction.voucher"), true); } @Override - public Class<?> getColumnClass() { - return String.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.voucher"); - } - - @Override public Object getValueAt(int row) { Entry entry = tableModel.get(row); return entry.getVoucher(); } @Override - public boolean isCellEditable(int row) { - return true; - } - - @Override public boolean setValueAt(Object value, int row) { Entry entry = tableModel.get(row); String voucher = ((String) value).trim(); 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionsearch/FinancialTransactionSearchTableModel.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -87,7 +87,8 @@ setTransactions(transactions); } - protected void initColumns() { + @Override + protected void initColumn() { addColumn(new DateColumn()); addColumn(new EntryBookColumn()); addColumn(new VoucherColumn()); 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/financialtransactionunbalanced/FinancialTransactionUnbalancedTableModel.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -57,7 +57,8 @@ /** selected financial period */ protected FiscalPeriod selectedFiscalPeriod; - protected void initColumns() { + @Override + protected void initColumn() { addColumn(new DateColumn()); addColumn(new EntryBookColumn()); addColumn(new VoucherColumn()); Deleted: 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 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/BeginColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,35 +0,0 @@ -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(); - } -} Deleted: 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 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/EndColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,34 +0,0 @@ -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(); - } -} 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 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/FiscalPeriodTableModel.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -28,8 +28,13 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.entity.FiscalPeriod; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.AbstractLimaTableModel; +import java.util.Date; + +import static org.nuiton.i18n.I18n._; + /** * Modele de Fiscal period (rendu de list) * @@ -48,8 +53,33 @@ @Override protected void initColumn() { - addColumn(new BeginColumn()); - addColumn(new EndColumn()); - addColumn(new StatusColumn()); + addColumn(new AbstractColumn<FiscalPeriodTableModel>(Date.class, _("lima.ui.fiscalperiod.begin"), false) { + @Override + public Object getValueAt(int row) { + FiscalPeriod fiscalPeriod = tableModel.get(row); + return fiscalPeriod.getBeginDate(); + } + }); + + addColumn(new AbstractColumn<FiscalPeriodTableModel>(Date.class, _("lima.ui.fiscalperiod.end"), false) { + @Override + public Object getValueAt(int row) { + FiscalPeriod fiscalPeriod = tableModel.get(row); + return fiscalPeriod.getEndDate(); + } + }); + + addColumn(new AbstractColumn<FiscalPeriodTableModel>(String.class, _("lima.ui.fiscalperiod.status"), false) { + @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; + } + + }); } } Deleted: 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 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/fiscalperiod/StatusColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,33 +0,0 @@ -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 Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/AccountColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/AccountColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/AccountColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,58 +0,0 @@ -package org.chorem.lima.ui.lettering; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.Account; -import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.AccountTableCellRenderer; -import org.chorem.lima.ui.common.DefaultColumn; - -import static org.nuiton.i18n.I18n._; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class AccountColumn extends DefaultColumn<LetteringTableModel> { - - public AccountColumn() { - renderer = new AccountTableCellRenderer(); - } - - @Override - public Class<?> getColumnClass() { - return Account.class; - } - - @Override - public String getColumnName() { - return _("lima.table.account"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getAccount(); - } -} Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/CreditColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/CreditColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/CreditColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,59 +0,0 @@ -package org.chorem.lima.ui.lettering; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.BigDecimalTableCellRenderer; -import org.chorem.lima.ui.common.DefaultColumn; - -import java.math.BigDecimal; - -import static org.nuiton.i18n.I18n._; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class CreditColumn extends DefaultColumn<LetteringTableModel> { - - public CreditColumn() { - renderer = new BigDecimalTableCellRenderer(); - } - - @Override - public Class<?> getColumnClass() { - return BigDecimal.class; - } - - @Override - public String getColumnName() { - return _("lima.table.credit"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getDebit() ? BigDecimal.ZERO : entry.getAmount(); - } -} Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DateColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DateColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DateColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,35 +0,0 @@ -package org.chorem.lima.ui.lettering; - -import org.chorem.lima.entity.Entry; -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 DateColumn extends DefaultColumn<LetteringTableModel> { - - public DateColumn() { - renderer = new DateLimaTableCellRenderer(); - } - - @Override - public Class<?> getColumnClass() { - return Date.class; - } - - @Override - public String getColumnName() { - return _("lima.table.date"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getFinancialTransaction().getTransactionDate(); - } -} Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DebitColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DebitColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DebitColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,59 +0,0 @@ -package org.chorem.lima.ui.lettering; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.celleditor.BigDecimalTableCellRenderer; -import org.chorem.lima.ui.common.DefaultColumn; - -import java.math.BigDecimal; - -import static org.nuiton.i18n.I18n._; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class DebitColumn extends DefaultColumn<LetteringTableModel> { - - public DebitColumn() { - renderer = new BigDecimalTableCellRenderer(); - } - - @Override - public Class<?> getColumnClass() { - return BigDecimal.class; - } - - @Override - public String getColumnName() { - return _("lima.table.debit"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getDebit() ? entry.getAmount() : BigDecimal.ZERO; - } -} Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DescriptionColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DescriptionColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/DescriptionColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,53 +0,0 @@ -package org.chorem.lima.ui.lettering; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.common.DefaultColumn; - -import static org.nuiton.i18n.I18n._; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class DescriptionColumn extends DefaultColumn<LetteringTableModel> { - - @Override - public Class<?> getColumnClass() { - return String.class; - } - - @Override - public String getColumnName() { - return _("lima.ui.financialtransaction.description"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getDescription(); - } - -} Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetterColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetterColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetterColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,52 +0,0 @@ -package org.chorem.lima.ui.lettering; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.common.DefaultColumn; - -import static org.nuiton.i18n.I18n._; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class LetterColumn extends DefaultColumn<LetteringTableModel> { - - @Override - public Class<?> getColumnClass() { - return String.class; - } - - @Override - public String getColumnName() { - return _("lima.table.letter"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getLettering(); - } -} Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringTableModel.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringTableModel.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/LetteringTableModel.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -25,9 +25,16 @@ package org.chorem.lima.ui.lettering; +import org.chorem.lima.entity.Account; import org.chorem.lima.entity.Entry; +import org.chorem.lima.ui.common.AbstractColumn; import org.chorem.lima.ui.common.AbstractLimaTableModel; +import java.math.BigDecimal; +import java.util.Date; + +import static org.nuiton.i18n.I18n._; + /** * Basic transaction table model. * <p/> @@ -42,13 +49,62 @@ @Override protected void initColumn() { - addColumn(new DateColumn()); - addColumn(new AccountColumn()); - addColumn(new VoucherColumn()); - addColumn(new DescriptionColumn()); - addColumn(new LetterColumn()); - addColumn(new DebitColumn()); - addColumn(new CreditColumn()); + addColumn(new AbstractColumn<LetteringTableModel>(Date.class, _("lima.table.date"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getFinancialTransaction().getTransactionDate(); + } + }); + + addColumn(new AbstractColumn<LetteringTableModel>(Account.class, _("lima.table.account"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getAccount(); + } + }); + + addColumn(new AbstractColumn<LetteringTableModel>(String.class, _("lima.table.voucher"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getVoucher(); + } + }); + + addColumn(new AbstractColumn<LetteringTableModel>(String.class, _("lima.table.description"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getDescription(); + } + }); + + addColumn(new AbstractColumn<LetteringTableModel>(String.class, _("lima.table.letter"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getLettering(); + } + }); + + addColumn(new AbstractColumn<LetteringTableModel>(BigDecimal.class, _("lima.table.debit"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getDebit() ? entry.getAmount() : BigDecimal.ZERO; + } + }); + + addColumn(new AbstractColumn<LetteringTableModel>(BigDecimal.class, _("lima.table.credit"), false) { + @Override + public Object getValueAt(int row) { + Entry entry = tableModel.get(row); + return entry.getDebit() ? BigDecimal.ZERO : entry.getAmount(); + } + }); + } } Deleted: trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/VoucherColumn.java =================================================================== --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/VoucherColumn.java 2013-12-31 16:45:49 UTC (rev 3726) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/lettering/VoucherColumn.java 2014-01-02 09:41:08 UTC (rev 3727) @@ -1,52 +0,0 @@ -package org.chorem.lima.ui.lettering; - -/* - * #%L - * Lima :: Swing - * $Id$ - * $HeadURL$ - * %% - * Copyright (C) 2008 - 2013 CodeLutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.chorem.lima.entity.Entry; -import org.chorem.lima.ui.common.DefaultColumn; - -import static org.nuiton.i18n.I18n._; - -/** - * @author Sylvain Bavencoff <bavencoff@codelutin.com> - */ -public class VoucherColumn extends DefaultColumn<LetteringTableModel> { - - @Override - public Class<?> getColumnClass() { - return String.class; - } - - @Override - public String getColumnName() { - return _("lima.table.voucher"); - } - - @Override - public Object getValueAt(int row) { - Entry entry = tableModel.get(row); - return entry.getVoucher(); - } -}