From vsalaun@users.chorem.org Tue Aug 2 13:37:55 2011 From: vsalaun@users.chorem.org To: lima-commits@list.chorem.org Subject: [Lima-commits] r3240 - trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart Date: Tue, 02 Aug 2011 13:37:55 +0200 Message-ID: <20110802113755.7F4C115923@nuiton.codelutin.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============6328722980591384710==" --===============6328722980591384710== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Author: vsalaun Date: 2011-08-02 13:37:55 +0200 (Tue, 02 Aug 2011) New Revision: 3240 Url: http://chorem.org/repositories/revision/lima/3240 Log: #347 update VatChart Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartImportF= orm.jaxx trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartMovemen= tForm.jaxx Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartTreeTab= le.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartTreeTab= leModel.java trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartView.ja= xx trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartViewHan= dler.java Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartImp= ortForm.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartImport= Form.jaxx (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartImport= Form.jaxx 2011-08-02 11:37:55 UTC (rev 3240) @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + =20 + + +
+ =20 + + + + + + + +
+ + =20 + +
\ No newline at end of file Added: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartMov= ementForm.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartMoveme= ntForm.jaxx (rev 0) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartMoveme= ntForm.jaxx 2011-08-02 11:37:55 UTC (rev 3240) @@ -0,0 +1,76 @@ + + + =20 + + + + + + =20 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
\ No newline at end of file Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChart= TreeTable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartTreeTa= ble.java 2011-08-02 11:37:37 UTC (rev 3239) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartTreeTa= ble.java 2011-08-02 11:37:55 UTC (rev 3240) @@ -24,14 +24,24 @@ */ package org.chorem.lima.ui.vatchart; =20 +import java.awt.Color; +import java.awt.Component; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; =20 +import javax.swing.tree.TreePath; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.chorem.lima.entity.VatStatement; import org.jdesktop.swingx.JXTreeTable; +import org.jdesktop.swingx.decorator.ColorHighlighter; +import org.jdesktop.swingx.decorator.ComponentAdapter; +import org.jdesktop.swingx.decorator.HighlightPredicate; +import org.jdesktop.swingx.decorator.Highlighter; +import org.jdesktop.swingx.treetable.TreeTableModel; =20 public class VatChartTreeTable extends JXTreeTable implements KeyListener, MouseListener { @@ -45,12 +55,48 @@ =20 protected VatChartViewHandler handler; =20 + private Highlighter colorLine; + =20 public VatChartTreeTable(VatChartViewHandler handler) { this.handler =3D handler; =20 addKeyListener(this); addMouseListener(this); + =20 + //highlight missing box name lines=20 + addMissingBoxNameColor(); =20 + } =20 + /** + * Highlights line when line is a leaf and is missing its BoxName parame= ter + */ + private void addMissingBoxNameColor() { + if (colorLine !=3D null) { + removeHighlighter(colorLine); + } + HighlightPredicate predicate =3D new HighlightPredicate() { + @Override + public boolean isHighlighted(Component renderer, + ComponentAdapter adapter) { + JXTreeTable treeTable =3D handler.view.getTreeTable(); + TreeTableModel treeTableModel =3D treeTable.getTreeTableMode= l(); + TreePath treePath =3D treeTable.getPathForRow(adapter.row); + VatStatement vatStatement =3D + (VatStatement) treePath.getLastPathComponent(); + boolean highlighted =3D false; + if (vatStatement.getBoxName() !=3D null) { + if (treeTableModel.isLeaf(vatStatement) && vatStatement.= getBoxName().isEmpty()) { + highlighted =3D true; + } + } else { + highlighted =3D true; + } + return highlighted; + } + }; + colorLine =3D + new ColorHighlighter(predicate, new Color(255, 198, 209), nu= ll); + addHighlighter(colorLine); } =20 @Override Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChart= TreeTableModel.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartTreeTa= bleModel.java 2011-08-02 11:37:37 UTC (rev 3239) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartTreeTa= bleModel.java 2011-08-02 11:37:55 UTC (rev 3240) @@ -198,10 +198,11 @@ */ public void addVatStatement(TreePath path, VatStatement vatStatement) th= rows LimaException { // Calling account service - VatStatement parentVatStatementHeader =3D - (VatStatement) path.getLastPathComponent(); - if (parentVatStatementHeader =3D=3D getRoot()) { - parentVatStatementHeader =3D null; + //fixed bug when path is null + VatStatement parentVatStatementHeader =3D null; + if (path !=3D null) { + parentVatStatementHeader =3D + (VatStatement) path.getLastPathComponent(); } vatStatementService.createVatStatement( parentVatStatementHeader, vatStatement); @@ -221,6 +222,21 @@ vatStatementService.updateVatStatement(vatStatement); modelSupport.fireTreeStructureChanged(path); } + =20 + /** + * Remove vatStatement + *=20 + * @param path + * @param object + * @throws LimaException + */ + public void removeVatStatementObject(TreePath path, VatStatement vatStat= ement) throws LimaException { + // Calling account service + int index =3D getIndexOfChild( + path.getParentPath().getLastPathComponent(), vatStatement); + vatStatementService.removeVatStatement(vatStatement); =20 + modelSupport.fireChildRemoved(path.getParentPath(), index, vatStatem= ent); + } =20 =20 @Override Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChart= View.jaxx =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartView.j= axx 2011-08-02 11:37:37 UTC (rev 3239) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartView.j= axx 2011-08-02 11:37:55 UTC (rev 3240) @@ -36,15 +36,41 @@ - + + treeTableModel=3D"{getVatTreeTableModel()}" /> + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Modified: trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChart= ViewHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartViewHa= ndler.java 2011-08-02 11:37:37 UTC (rev 3239) +++ trunk/lima-swing/src/main/java/org/chorem/lima/ui/vatchart/VatChartViewHa= ndler.java 2011-08-02 11:37:55 UTC (rev 3240) @@ -24,13 +24,26 @@ */ package org.chorem.lima.ui.vatchart; =20 +import static org.nuiton.i18n.I18n._; + +import java.math.BigDecimal; + +import javax.swing.JOptionPane; +import javax.swing.tree.TreePath; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.chorem.lima.business.ImportServiceMonitorable; +import org.chorem.lima.business.LimaBusinessException; import org.chorem.lima.business.LimaException; import org.chorem.lima.business.ServiceListener; import org.chorem.lima.business.VatStatementServiceMonitorable; +import org.chorem.lima.entity.VatStatement; +import org.chorem.lima.entity.VatStatementImpl; +import org.chorem.lima.enums.ImportExportEnum; +import org.chorem.lima.enums.VatStatementsChartEnum; import org.chorem.lima.service.LimaServiceFactory; +import org.chorem.lima.ui.importexport.ImportExport; import org.jdesktop.swingx.JXTreeTable; =20 public class VatChartViewHandler implements ServiceListener { @@ -41,7 +54,7 @@ protected VatStatementServiceMonitorable vatStatementService; =20 protected VatChartView view; - =20 + protected VatChartViewHandler(VatChartView view) { this.view =3D view; =20 @@ -52,11 +65,196 @@ ImportServiceMonitorable.class).addListener(this); } =20 - public void refresh(){ - JXTreeTable treeTable =3D view.getTreeTable(); + public void addVatStatementMovement(){ + + VatChartTreeTableModel treeTableModel =3D + (VatChartTreeTableModel) view.getTreeTable().getTreeTableModel(); + =20 + int selectedRow =3D view.getTreeTable().getSelectedRow(); + // get current selection path + TreePath treePath =3D null; + if (selectedRow =3D=3D -1) { + treePath =3D null; + } else { + treePath =3D view.getTreeTable().getPathForRow(selectedRow); + } + + VatStatement newVatChartMovement =3D new VatStatementImpl(); + VatChartMovementForm vatChartMovementForm =3D + new VatChartMovementForm(view); + VatStatement masterVatStatement =3D null; + if (selectedRow !=3D -1) { + masterVatStatement =3D (VatStatement)treePath.getLastPathCompone= nt(); + } + newVatChartMovement.setMasterVatStatement(masterVatStatement); + vatChartMovementForm.setVatStatement(newVatChartMovement); + // jaxx constructor don't call super() ? + vatChartMovementForm.setLocationRelativeTo(view); + vatChartMovementForm.setVisible(true); + newVatChartMovement =3D vatChartMovementForm.getVatStatement(); + =20 + // null =3D=3D cancel action + if (newVatChartMovement !=3D null) { + newVatChartMovement.setAmount(BigDecimal.ZERO); + // add it + try { + treeTableModel.addVatStatement(treePath, newVatChartMovemen= t); + } catch (LimaBusinessException eee) { + if (log.isErrorEnabled()) { + log.error("Can't add Vat chart Movement", eee); + } + JOptionPane.showMessageDialog( + view, + eee.getMessage(), + _("lima.common.error"), + JOptionPane.ERROR_MESSAGE); + } + catch (LimaException eee) { + if (log.isErrorEnabled()) { + log.error("Can't add Vat chart Movement", eee); + } + JOptionPane.showMessageDialog( + view, + eee.getMessage(), + _("lima.common.error"), + JOptionPane.ERROR_MESSAGE); + } + refresh(); + } + } + =20 + public void updateVatStatement() { + =20 + JXTreeTable treeTable =3D view.getTreeTable(); + VatChartTreeTableModel treeTableModel =3D + (VatChartTreeTableModel) treeTable.getTreeTableModel(); + + // get selected account + int selectedRow =3D view.treeTable.getSelectedRow(); + TreePath treePath =3D view.treeTable.getPathForRow(selectedRow); // n= ot null + VatStatement vatStatement =3D + (VatStatement) treePath.getLastPathComponent(); =20 + //update Account or update SubLedger + if (vatStatement !=3D null) { + // get current selection path + if ( selectedRow !=3D -1) { + treePath =3D view.treeTable.getPathForRow(selectedRow); + } else { + treePath =3D new TreePath(treeTableModel.getRoot()); + } + VatChartMovementForm vatChartMovementForm =3D + new VatChartMovementForm(view); + if (vatStatement.getMasterVatStatement() =3D=3D null) { + VatStatement masterVatStatement =3D new VatStatementImpl(); + vatStatement.setMasterVatStatement(masterVatStatement); + } + vatChartMovementForm.setVatStatement(vatStatement); + // jaxx constructor don't call super() ? + vatChartMovementForm.setLocationRelativeTo(view); + vatChartMovementForm.setVisible(true); + // null =3D=3D cancel action + vatStatement =3D vatChartMovementForm.getVatStatement(); + //if action confirmed + if (vatStatement !=3D null){ + // update it + try { + treeTableModel.updateVatStatement( + treePath, vatStatement); + } catch (LimaException eee) { + if (log.isErrorEnabled()) { + log.error("Can't add update", eee); + } + JOptionPane.showMessageDialog( + view, + eee.getMessage(), + _("lima.common.error"), + JOptionPane.ERROR_MESSAGE); + } + } + } + refresh(); + } + =20 + public void importVatStatementChart(){ + VatChartImportForm form =3D + new VatChartImportForm();=20 + form.setLocationRelativeTo(view); + form.setVisible(true); + + Object value =3D form.getRadioButtons().getSelectedValue(); + // if action confirmed + if (value !=3D null){ + if (form.getDeleteVatStatementChart().isSelected()){ + try { + vatStatementService.removeAllVatStatement(); + =20 + } catch (LimaException eee) { + if (log.isDebugEnabled()){ + log.debug("Can't delete financial statement chart", = eee); + } + } + } + VatStatementsChartEnum defaultVatStatementsEnum =3D=20 + (VatStatementsChartEnum) value; + ImportExport importExport =3D ImportExport.getInstance(view); + importExport.importExport(ImportExportEnum.CSV_VAT_IMPORT, + defaultVatStatementsEnum.getFilePath(), true); + refresh(); + } + } + =20 + /** + * Ask for user to remove for selected account, and remove it if confirm= ed. + */ + public void removeVatStatement() { + JXTreeTable treeTable =3D view.getTreeTable(); VatChartTreeTableModel treeTableModel =3D (VatChartTreeTableModel) treeTable.getTreeTableModel(); - try { + + // Any row selected + int selectedRow =3D view.treeTable.getSelectedRow(); + if ( selectedRow !=3D -1) { + int n =3D JOptionPane.showConfirmDialog(view, + _("lima.charts.vatstatement.question.remove"), + _("lima.common.confirmation"), + JOptionPane.YES_NO_OPTION, + JOptionPane.QUESTION_MESSAGE); + if (n =3D=3D JOptionPane.YES_OPTION) { + // update view of treetable + TreePath treePath =3D treeTable.getPathForRow(selectedRow); + VatStatement vatStatement =3D + (VatStatement) treePath.getLastPathComponent(); + if (!treeTableModel.isLeaf(vatStatement)) { + JOptionPane.showMessageDialog( + view, + _("lima.charts.vatstatement.deleteparent"), + _("lima.common.info"), + JOptionPane.INFORMATION_MESSAGE); + } else { + try{ + treeTableModel.removeVatStatementObject( + treePath, vatStatement); + } catch (LimaException eee) { + if (log.isErrorEnabled()) { + log.error("Can't delete account", eee); + } + JOptionPane.showMessageDialog( + view, + eee.getMessage(), + _("lima.common.error"), + JOptionPane.ERROR_MESSAGE); + } + } + } + refresh(); + } + } + =20 + public void refresh(){ + JXTreeTable treeTable =3D view.getTreeTable(); + VatChartTreeTableModel treeTableModel =3D + (VatChartTreeTableModel) treeTable.getTreeTableModel(); + try { treeTableModel.refreshTree(); } catch (LimaException eee) { if(log.isDebugEnabled()){ --===============6328722980591384710==--