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
+
+
\ 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==--