r2676 - in trunk/lima-main/src/main/java/org/chorem/lima: listener table table/renderer ui
Author: rchapelet Date: 2009-08-18 15:28:17 +0200 (Tue, 18 Aug 2009) New Revision: 2676 Added: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TransactionAllCellRenderer.java Modified: trunk/lima-main/src/main/java/org/chorem/lima/listener/TransactionKeyListener.java trunk/lima-main/src/main/java/org/chorem/lima/table/TransactionJXTable.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AccountTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AmountTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/BalanceTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/DateTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/JournalTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/PeriodTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/ResultTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/StatusTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TextTableCellRenderer.java trunk/lima-main/src/main/java/org/chorem/lima/ui/ResultViewImpl.java Log: Mise ?\195?\160 jour pour les couleurs, avec la s?\195?\169lection de la cellule et les lignes Modified: trunk/lima-main/src/main/java/org/chorem/lima/listener/TransactionKeyListener.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/listener/TransactionKeyListener.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/listener/TransactionKeyListener.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -118,10 +118,13 @@ int max_y = table.getRowCount()-1; if (x==max_x && y==max_y) { - addLine(table); + boolean result = addLine(table); // positionne la sélection sur la nouvelle ligne créée - table.setColumnSelectionInterval(0, 0); - table.setRowSelectionInterval(max_y+1, max_y+1); + if (result) + { + table.setColumnSelectionInterval(0, 0); + table.setRowSelectionInterval(max_y+1, max_y+1); + } } } @@ -132,7 +135,7 @@ * Permet d'ajouter une nouvelle ligne : transaction ou entrée * @param table */ - private void addLine (TransactionJXTable table) + private boolean addLine (TransactionJXTable table) { if (TransactionFlattenTableModel.isFlattenModel(table.getModel())) { @@ -141,7 +144,7 @@ { String result = table.getModel().addEmptyTransaction(); ErrorMessage.showMessage(result); - return; + return true; } TransactionFlattenTableModel flattenModel = (TransactionFlattenTableModel) table.getModel(); int selectedRow=0; @@ -163,12 +166,12 @@ if (DTOHelper.isTransaction(o)) { // Transaction n'est pas éditable if (!ServiceHelper.isEditable((TransactionDTO) o)) { - return; + return false; } } else { //Entry n'est pas éditable if (!ServiceHelper.isEditable((EntryDTO) o)) { - return; + return false; } } @@ -178,7 +181,7 @@ { String result = table.getModel().addEmptyTransaction(); ErrorMessage.showMessage(result); - return; + return true; } // Vérifie si une ligne est sélectionnée ou non @@ -225,8 +228,10 @@ */ table.addColorEmptyLine(); } + return true; } + return false; } + - } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/TransactionJXTable.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/TransactionJXTable.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/TransactionJXTable.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -43,7 +43,6 @@ import javax.swing.table.TableModel; import java.awt.*; -import javax.swing.table.DefaultTableCellRenderer; /** * @author ore * @author Rémi Chapelet @@ -154,6 +153,8 @@ * */ public void addColorEmptyLine() { + /** + * Renvoie une couleur jaune pour chaque nouvelle ligne créée removeColorEmptyLine(); if (TransactionFlattenTableModel.isFlattenModel(getModel())) { final int posNext = ((TransactionFlattenTableModel) getModel()).getEmptyLinePosition(); @@ -166,7 +167,7 @@ }; colorEmptyLine = new ColorHighlighter(predicate, new Color(248,255,136), Color.BLACK,new Color(248,255,136), Color.BLACK); addHighlighter(colorEmptyLine); - } + }*/ } /** @@ -222,7 +223,7 @@ return isHighlighted; } }; - colorTransaction = new ColorHighlighter(predicate, new Color(255,198,209),null,new Color(255,198,209),null); + colorTransaction = new ColorHighlighter(predicate, new Color(255,198,209),null,null,null); addHighlighter(colorTransaction); } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AccountTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AccountTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AccountTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -21,16 +21,14 @@ import org.chorem.lima.dto.AccountDTO; import org.chorem.lima.dto.util.DTOHelper; -import org.chorem.lima.table.TransactionJXTable; import javax.swing.*; import java.awt.*; -import javax.swing.table.DefaultTableCellRenderer; - /** * @author ore + * @author Remi Chapelet */ -public class AccountTableCellRenderer extends DefaultTableCellRenderer { +public class AccountTableCellRenderer extends TransactionAllCellRenderer { private static AccountTableCellRenderer renderer; @@ -42,15 +40,7 @@ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected) - { - setBackground(new Color(222,222,222)); - } + return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AmountTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AmountTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/AmountTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -22,13 +22,12 @@ import org.chorem.lima.dto.util.DTOHelper; import org.chorem.lima.table.TransactionJXTable; import javax.swing.*; -import javax.swing.table.DefaultTableCellRenderer; import java.awt.*; /** * @author jhontue */ -public class AmountTableCellRenderer extends DefaultTableCellRenderer { +public class AmountTableCellRenderer extends TransactionAllCellRenderer { private static AmountTableCellRenderer renderer; @@ -36,16 +35,7 @@ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); setOpaque(true); - setHorizontalAlignment(JLabel.RIGHT); - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected && !hasFocus) - { - setBackground(new Color(222,222,222)); - } + setHorizontalAlignment(JLabel.RIGHT); return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/BalanceTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/BalanceTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/BalanceTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -54,15 +54,7 @@ this.setHorizontalAlignment(JLabel.RIGHT); break; } - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected) - { - setBackground(new Color(222,222,222)); - } + return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/DateTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/DateTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/DateTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -22,7 +22,6 @@ import org.chorem.lima.dto.util.DTOHelper; import org.chorem.lima.util.Util; -import javax.swing.table.DefaultTableCellRenderer; import org.chorem.lima.table.TransactionJXTable; import java.util.Date; import javax.swing.*; @@ -31,7 +30,7 @@ /** * @author ore */ -public class DateTableCellRenderer extends DefaultTableCellRenderer { +public class DateTableCellRenderer extends TransactionAllCellRenderer { private static DateTableCellRenderer renderer; @@ -42,16 +41,7 @@ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected) - { - setBackground(new Color(222,222,222)); - } + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/JournalTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/JournalTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/JournalTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -25,12 +25,11 @@ import javax.swing.*; import java.awt.*; -import javax.swing.table.DefaultTableCellRenderer; - /** * @author ore + * @author Rémi Chapelet */ -public class JournalTableCellRenderer extends DefaultTableCellRenderer { +public class JournalTableCellRenderer extends TransactionAllCellRenderer { private static JournalTableCellRenderer renderer; @@ -41,16 +40,7 @@ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected && !hasFocus) - { - setBackground(new Color(222,222,222)); - } + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/PeriodTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/PeriodTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/PeriodTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -25,12 +25,11 @@ import javax.swing.*; import java.awt.*; -import javax.swing.table.DefaultTableCellRenderer; - /** * @author ore + * @author Rémi Chapelet */ -public class PeriodTableCellRenderer extends DefaultTableCellRenderer { +public class PeriodTableCellRenderer extends TransactionAllCellRenderer { private static PeriodTableCellRenderer renderer; @@ -41,16 +40,7 @@ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected) - { - setBackground(new Color(222,222,222)); - } + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/ResultTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/ResultTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/ResultTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -45,15 +45,6 @@ this.setHorizontalAlignment(JLabel.RIGHT); break; } - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected) - { - setBackground(new Color(222,222,222)); - } return this; } Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/StatusTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/StatusTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/StatusTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -25,16 +25,13 @@ import org.chorem.lima.dto.StatusDTO; import org.chorem.lima.service.util.ServiceHelper; import org.nuiton.util.Resource; -import org.chorem.lima.table.TransactionJXTable; -import org.chorem.lima.dto.util.DTOHelper; import javax.swing.*; -import javax.swing.table.DefaultTableCellRenderer; import java.awt.*; /** * @author ore */ -public class StatusTableCellRenderer extends DefaultTableCellRenderer { +public class StatusTableCellRenderer extends TransactionAllCellRenderer { /** * log @@ -55,7 +52,7 @@ super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (value == null) { setIcon(null); - setToolTipText(null); + setToolTipText(null); return this; } StatusDTO status = (StatusDTO) value; @@ -75,16 +72,7 @@ setToolTipText(null); } } - } - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected) - { - setBackground(new Color(222,222,222)); - } + } setOpaque(true); setHorizontalAlignment(JLabel.CENTER); return this; Modified: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TextTableCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TextTableCellRenderer.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TextTableCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -22,29 +22,18 @@ import org.chorem.lima.dto.util.DTOHelper; import org.chorem.lima.table.TransactionJXTable; import javax.swing.*; -import javax.swing.table.DefaultTableCellRenderer; import java.awt.*; /** * @author Rémi Chapelet */ -public class TextTableCellRenderer extends DefaultTableCellRenderer { +public class TextTableCellRenderer extends TransactionAllCellRenderer { private static TextTableCellRenderer renderer; @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { - super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - - if ( hasFocus ) - { - setBackground(new Color(212,222,232)); - } - TransactionJXTable t = (TransactionJXTable) table; - if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) && isSelected && !hasFocus) - { - setBackground(new Color(222,222,222)); - } + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); return this; } Added: trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TransactionAllCellRenderer.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TransactionAllCellRenderer.java (rev 0) +++ trunk/lima-main/src/main/java/org/chorem/lima/table/renderer/TransactionAllCellRenderer.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -0,0 +1,96 @@ +/** + * *##% Lima Main + * Copyright (C) 2009 CodeLutin + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser 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 Lesser Public License for more details. + * + * You should have received a copy of the GNU General Lesser Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/lgpl-3.0.html>. ##%* + */ + +package org.chorem.lima.table.renderer; + +import org.chorem.lima.dto.TransactionDTO; +import org.chorem.lima.dto.util.DTOHelper; +import org.chorem.lima.table.TransactionJXTable; +import javax.swing.*; +import java.awt.*; + +import javax.swing.table.DefaultTableCellRenderer; + +/** + * Cette classe permet de définir les codes couleurs pour la sélection + * des cellules et des lignes du tableau des transactions. + * Chaque cellule hérite de cette classe, ainsi il est plus aisé de définir la + * couleur de sélection d'une cellule. + * + * @author Rémi Chapelet + */ +public class TransactionAllCellRenderer extends DefaultTableCellRenderer { + + + /** + * Renvoie le component, c'est à dire la cellule avec ses caractéristiques + * d'apparence. + * @param table + * @param value + * @param isSelected + * @param hasFocus + * @param row + * @param column + * @return + */ + @Override + public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { + super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + + /** + * Définition des couleurs + */ + // Si la cellule est sélectionnée + if ( hasFocus ) + { + setBackground(new Color(254,254,165)); + } + // Récupère la JXTable des transactions + TransactionJXTable t = (TransactionJXTable) table; + // Récupère la nature de la ligne + if ( DTOHelper.isTransaction(t.getModel().getElementAt(row)) ) + { + /** La ligne est une transaction */ + // Si la transaction n'est pas équilibrée + if ( !DTOHelper.isBalanced((TransactionDTO) t.getModel().getElementAt(row)) ) + { + // Si la cellule est sur la ligne, et non sélectionnée + if ( isSelected && !hasFocus ) + { + setBackground(new Color(251,92,92)); + } + } else { + // Si la cellule est sur la ligne, et non sélectionnée + if ( isSelected && !hasFocus ) + { + setBackground(new Color(192,192,192)); + } + } + } else { + /** La ligne est une entrée */ + // Si la cellule est sur la ligne, et non sélectionnée + if ( isSelected && !hasFocus ) + { + setBackground(new Color(236,236,236)); + } + } + return this; + } + +} Modified: trunk/lima-main/src/main/java/org/chorem/lima/ui/ResultViewImpl.java =================================================================== --- trunk/lima-main/src/main/java/org/chorem/lima/ui/ResultViewImpl.java 2009-08-14 16:00:18 UTC (rev 2675) +++ trunk/lima-main/src/main/java/org/chorem/lima/ui/ResultViewImpl.java 2009-08-18 13:28:17 UTC (rev 2676) @@ -46,7 +46,7 @@ /** * Cette classe permet d'afficher le compte de résultat de l'entreprise. - * Elle utilise quatrre tableaux : + * Elle utilise quatre tableaux : * _ pour produit (identifié par tabProduit) * _ pour charge (identifié par tabCharge) * _ pour les totaux (identifié par tabChargeRes et tabProduitRes)
participants (1)
-
rchapelet@users.chorem.org