This is an automated email from the git hooks/post-receive script. New commit to branch feature/1293-addAccountViewerTab in repository lima. See http://git.chorem.org/lima.git commit 59ea9a6396f07ce8e2fabb11f3e842dc0a1322ba Author: dcosse <cosse@codelutin.com> Date: Wed Sep 30 14:49:39 2015 +0200 refs #1268 déplacement des models du jaxx au handler --- .../lima/ui/accountViewer/AccountViewerView.jaxx | 22 +--- .../ui/accountViewer/AccountViewerViewHandler.java | 120 +++++++++++++++------ 2 files changed, 89 insertions(+), 53 deletions(-) diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx index d03a614..a1c21f0 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerView.jaxx @@ -24,22 +24,12 @@ java.awt.FlowLayout java.awt.Dimension org.chorem.lima.util.WrapToolBarLayout - org.chorem.lima.ui.common.FinancialPeriodComboBoxModel - org.chorem.lima.util.BigDecimalToString - org.chorem.lima.ui.lettering.TypeEntry - org.chorem.lima.entity.Account - javax.swing.ListSelectionModel - org.jdesktop.swingx.JXDatePicker static org.nuiton.i18n.I18n.t org.chorem.lima.ui.combobox.AccountComboBox - org.chorem.lima.ui.LimaRendererUtil - org.chorem.lima.entity.FinancialPeriod </import> <AccountViewerViewHandler id="handler" constructorParams="this"/> - <AccountViewerEditModel id='editModel'/> - <script> <![CDATA[ void $afterCompleteSetup() { @@ -72,14 +62,10 @@ <JLabel id="beginPeriodLabel"/> - <org.chorem.lima.ui.common.FiscalPeriodComboBoxModel id="fiscalPeriodComboBoxModel"/> <JComboBox id="fiscalPeriodComboBox" - model="{fiscalPeriodComboBoxModel}" onItemStateChanged="handler.onFiscalPeriodChange(event)"/> - <org.chorem.lima.ui.common.FinancialPeriodComboBoxModel id="financialPeriodComboBoxModel"/> <JComboBox id="financialPeriodComboBox" - model="{financialPeriodComboBoxModel}" onItemStateChanged="handler.onFinancialPeriodChange(event)"/> <JAXXDatePicker id="beginPeriodPicker" @@ -119,14 +105,8 @@ </JPanel> <JScrollPane constraints="BorderLayout.CENTER"> - <AccountViewerTableModel id="tableModel"/> - <AccountViewerSelectionModel id='accountViewerSelectionModel' constructorParams='tableModel' - onValueChanged="handler.balanceAndActions()"/> - <AccountViewerTable id="table" - constructorParams="handler" - model="{tableModel}" - selectionModel="{accountViewerSelectionModel}"/> + constructorParams="handler"/> </JScrollPane> <JPanel constraints="BorderLayout.SOUTH" layout="{new BorderLayout()}"> diff --git a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java index c425164..d79fbdc 100644 --- a/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java +++ b/lima-swing/src/main/java/org/chorem/lima/ui/accountViewer/AccountViewerViewHandler.java @@ -41,10 +41,14 @@ import org.chorem.lima.entity.Entry; import org.chorem.lima.entity.FinancialPeriod; import org.chorem.lima.entity.FiscalPeriod; import org.chorem.lima.ui.combobox.AccountComboBox; +import org.chorem.lima.ui.common.FinancialPeriodComboBoxModel; +import org.chorem.lima.ui.common.FiscalPeriodComboBoxModel; import org.chorem.lima.util.BigDecimalToString; import org.chorem.lima.util.ErrorHelper; import javax.swing.*; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; import java.awt.event.ActionEvent; import java.awt.event.InputEvent; import java.awt.event.ItemEvent; @@ -84,7 +88,11 @@ public class AccountViewerViewHandler { protected AccountViewerFilter filter; + protected AccountViewerTableModel accountViewerTableModel; + protected AccountViewerSelectionModel accountViewerSelectionModel; protected AccountViewerEditModel editModel; + protected FinancialPeriodComboBoxModel financialPeriodComboBoxModel; + protected FiscalPeriodComboBoxModel fiscalPeriodComboBoxModel; protected ErrorHelper errorHelper; @@ -115,10 +123,50 @@ public class AccountViewerViewHandler { */ public void init() { filter = new AccountViewerFilter(); - editModel = view.getEditModel(); - updateFinancialPeriodView(); + + createComponentsModels(); + + addModelsToComponents(); + + initAccountTableView(); + + addListeners(); + + initFinancialPeriodDefaultComponent(); + initSoldPeriodView(); + initializationComplete = true; + + updateSoldStatus(); + } + + protected void createComponentsModels() { + editModel = new AccountViewerEditModel(); + financialPeriodComboBoxModel = new FinancialPeriodComboBoxModel(); + fiscalPeriodComboBoxModel = new FiscalPeriodComboBoxModel(); + accountViewerTableModel = new AccountViewerTableModel(); + accountViewerSelectionModel = new AccountViewerSelectionModel(accountViewerTableModel); + } + + protected void addModelsToComponents() { + view.getFinancialPeriodComboBox().setModel(financialPeriodComboBoxModel); + view.getFiscalPeriodComboBox().setModel(fiscalPeriodComboBoxModel); + AccountViewerTable accountViewerTable = view.getTable(); + accountViewerTable.setModel(accountViewerTableModel); + accountViewerTable.setSelectionModel(accountViewerSelectionModel); + } + + protected void addListeners() { + accountViewerSelectionModel.addListSelectionListener(new ListSelectionListener() { + @Override + public void valueChanged(ListSelectionEvent e) { + if (!e.getValueIsAdjusting()) { + view.getHandler().balanceAndActions(); + } + } + }); + editModel.addPropertyChangeListener(AccountViewerEditModel.PROPERTY_DEBIT, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { @@ -146,16 +194,19 @@ public class AccountViewerViewHandler { updateSoldStatus(); } }); + } - onSelectionModeChanged(selectionMode); - - SwingUtil.fixTableColumnWidth(view.getTable(), 0, 100); - SwingUtil.fixTableColumnWidth(view.getTable(), 1, 60); - SwingUtil.fixTableColumnWidth(view.getTable(), 2, 80); - SwingUtil.fixTableColumnWidth(view.getTable(), 4, 50); + protected void initAccountTableView() { + AccountViewerTable accountViewerTable = view.getTable(); + SwingUtil.fixTableColumnWidth(accountViewerTable, 0, 100); + SwingUtil.fixTableColumnWidth(accountViewerTable, 1, 60); + SwingUtil.fixTableColumnWidth(accountViewerTable, 2, 80); + SwingUtil.fixTableColumnWidth(accountViewerTable, 4, 50); + } - initializationComplete = true; - updateSoldStatus(); + protected void initFinancialPeriodDefaultComponent() { + updateFinancialPeriodView(); + onSelectionModeChanged(selectionMode); } protected void initShortCuts() { @@ -243,7 +294,7 @@ public class AccountViewerViewHandler { if (row > 0) { comboBox.setSelectedIndex(row - 1); } - view.getAccountViewerSelectionModel().clearSelection(); + view.getTable().getSelectionModel().clearSelection(); } } @@ -261,7 +312,7 @@ public class AccountViewerViewHandler { if (row < size - 1) { comboBox.setSelectedIndex(row + 1); } - view.getAccountViewerSelectionModel().clearSelection(); + view.getTable().getSelectionModel().clearSelection(); } } @@ -271,8 +322,8 @@ public class AccountViewerViewHandler { if (PeriodChoice.FINANCIAL_PERIOD.equals(filter.getPeriodChoice())) { List<FinancialPeriod> periods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(selectedFiscalPeriod.getBeginDate(), selectedFiscalPeriod.getEndDate()); FinancialPeriod selectedFinancialPeriod = periods.get(0); - view.getFinancialPeriodComboBoxModel().setObjects(periods); - view.getFinancialPeriodComboBoxModel().setSelectedItem(selectedFinancialPeriod); + financialPeriodComboBoxModel.setObjects(periods); + financialPeriodComboBoxModel.setSelectedItem(selectedFinancialPeriod); setFilter(selectedFiscalPeriod, selectedFinancialPeriod, selectedFinancialPeriod.getBeginDate(), selectedFinancialPeriod.getEndDate(), PeriodChoice.FINANCIAL_PERIOD); } else { @@ -282,7 +333,7 @@ public class AccountViewerViewHandler { } } - protected void onFinancialPeriodChange(java.awt.event.ItemEvent event) { + protected void onFinancialPeriodChange(ItemEvent event) { FinancialPeriod financialPeriod = (FinancialPeriod) event.getItem(); if (initializationComplete && filter.getFinancialPeriod() == null || !filter.getFinancialPeriod().equals(financialPeriod)) { updateAllEntriesForFinancialPeriodChoice(financialPeriod); @@ -317,16 +368,17 @@ public class AccountViewerViewHandler { } public void onSelectionModeChanged(SelectionMode selectionMode) { + AccountViewerSelectionModel accountViewerSelectionModel = (AccountViewerSelectionModel) view.getTable().getSelectionModel(); switch (selectionMode) { case LETTERED: - view.getAccountViewerSelectionModel().setLetteredSelectionMode(true); + accountViewerSelectionModel.setLetteredSelectionMode(true); break; case MANUAL: - view.getAccountViewerSelectionModel().setLetteredSelectionMode(false); + accountViewerSelectionModel.setLetteredSelectionMode(false); break; default: - view.getAccountViewerSelectionModel().setLetteredSelectionMode(true); + accountViewerSelectionModel.setLetteredSelectionMode(true); } } @@ -371,7 +423,8 @@ public class AccountViewerViewHandler { && filter.getDateStart() != null && filter.getDateEnd() != null) { List<Entry> entries = financialTransactionService.getAllEntrieByDatesAndAccountAndLettering(filter); - view.getTableModel().setValues(entries); + AccountViewerTableModel accountViewerTableModel = (AccountViewerTableModel) view.getTable().getModel(); + accountViewerTableModel.setValues(entries); updateSummary(); } @@ -472,12 +525,12 @@ public class AccountViewerViewHandler { public void initFiscalPeriodView() { List<FiscalPeriod> fiscalPeriods = fiscalPeriodService.getAllFiscalPeriods(); - view.getFiscalPeriodComboBoxModel().setObjects(fiscalPeriods); + fiscalPeriodComboBoxModel.setObjects(fiscalPeriods); FiscalPeriod fiscalPeriod = fiscalPeriodService.getLastFiscalPeriod(); if (fiscalPeriod != null) { setFilter(fiscalPeriod, null, fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate(), PeriodChoice.FINANCIAL_PERIOD); - view.getFiscalPeriodComboBoxModel().setSelectedItem(fiscalPeriod); + fiscalPeriodComboBoxModel.setSelectedItem(fiscalPeriod); view.getFiscalPeriodComboBox().setVisible(true); } } @@ -503,7 +556,7 @@ public class AccountViewerViewHandler { FinancialPeriod defaultFinancialPeriod = null; List<FinancialPeriod> financialPeriods = null; if (fiscalPeriod != null) { - view.getFinancialPeriodComboBoxModel().removeAllElements(); + financialPeriodComboBoxModel.removeAllElements(); financialPeriods = financialPeriodService.getFinancialPeriodsWithBeginDateWithin(fiscalPeriod.getBeginDate(), fiscalPeriod.getEndDate()); @@ -534,16 +587,16 @@ public class AccountViewerViewHandler { protected void updateFinancialPeriodCombo(FinancialPeriod defaultFinancialPeriod, List<FinancialPeriod> financialPeriods) { if (CollectionUtils.isNotEmpty(financialPeriods)) { - view.getFinancialPeriodComboBoxModel().setObjects(financialPeriods); - view.getFinancialPeriodComboBoxModel().setSelectedItem(defaultFinancialPeriod); + financialPeriodComboBoxModel.setObjects(financialPeriods); + financialPeriodComboBoxModel.setSelectedItem(defaultFinancialPeriod); } } protected void initFiscalPeriodCombo() { List<FiscalPeriod> fiscalPeriods = fiscalPeriodService.getAllFiscalPeriods(); - view.getFiscalPeriodComboBoxModel().setObjects(fiscalPeriods); + fiscalPeriodComboBoxModel.setObjects(fiscalPeriods); if (CollectionUtils.isNotEmpty(fiscalPeriods)) { - view.getFiscalPeriodComboBoxModel().setSelectedItem(fiscalPeriods.get(fiscalPeriods.size() - 1)); + fiscalPeriodComboBoxModel.setSelectedItem(fiscalPeriods.get(fiscalPeriods.size() - 1)); } view.getFiscalPeriodComboBox().setVisible(true); } @@ -609,8 +662,9 @@ public class AccountViewerViewHandler { log.debug("balanceAndActions"); } onBalanceChanged(null); + AccountViewerSelectionModel accountViewerSelectionModel = (AccountViewerSelectionModel) view.getTable().getSelectionModel(); if (view.getTable().getSelectedRows().length > 0 && !letteringNotExist(view.getTable().getSelectedRow()) || - view.getTable().getSelectedRows().length > 0 && !view.getAccountViewerSelectionModel().isSelectionEmpty()) { + view.getTable().getSelectedRows().length > 0 && !accountViewerSelectionModel.isSelectionEmpty()) { setValuesForSelectedEntries(); } } @@ -622,7 +676,8 @@ public class AccountViewerViewHandler { public boolean letteringNotExist(int row){ boolean emptyOrNull = false; if (row != -1) { - Entry entry = view.getTableModel().get(row); + AccountViewerTableModel accountViewerTableModel = (AccountViewerTableModel) view.getTable().getModel(); + Entry entry = accountViewerTableModel.get(row); String lettering = entry.getLettering(); emptyOrNull = (lettering==null||lettering.isEmpty()); } @@ -631,10 +686,11 @@ public class AccountViewerViewHandler { public void setValuesForSelectedEntries() { Entry selectedEntry; - AccountViewerTableModel tableModel = view.getTableModel(); - for (int i = 0; i < tableModel.getRowCount(); i ++){ - if (view.getAccountViewerSelectionModel().isSelectedIndex(i)){ - selectedEntry = tableModel.get(i); + AccountViewerTableModel accountViewerTableModel = (AccountViewerTableModel) view.getTable().getModel(); + AccountViewerSelectionModel accountViewerSelectionModel = (AccountViewerSelectionModel) view.getTable().getSelectionModel(); + for (int i = 0; i < accountViewerTableModel.getRowCount(); i ++){ + if (accountViewerSelectionModel.isSelectedIndex(i)){ + selectedEntry = accountViewerTableModel.get(i); //Set values for calculation (By AccountViewerEditModel) of balance onBalanceChanged(selectedEntry); } -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.