Author: jflesch
Date: 2007-08-02 01:05:07 +0000 (Thu, 02 Aug 2007)
New Revision: 14459

Modified:
   trunk/apps/Thaw/src/thaw/gui/Table.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
   trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
Log:
Fix message tree colourisation

Modified: trunk/apps/Thaw/src/thaw/gui/Table.java
===================================================================
--- trunk/apps/Thaw/src/thaw/gui/Table.java     2007-08-02 00:41:02 UTC (rev 
14458)
+++ trunk/apps/Thaw/src/thaw/gui/Table.java     2007-08-02 01:05:07 UTC (rev 
14459)
@@ -185,13 +185,23 @@
                }


-               public void setBackground(Component c, int row, boolean 
isSelected) {
+               /**
+                * @return null if default color
+                */
+               public static Color setBackground(Component c, int row, boolean 
isSelected) {
                        if (!isSelected) {
-                               if (row % 2 == 0)
-                                       c.setBackground(COLOR_ONE);
-                               else
-                                       c.setBackground(COLOR_TWO);
+                               if (row % 2 == 0) {
+                                       if (c != null)
+                                               c.setBackground(COLOR_ONE);
+                                       return COLOR_ONE;
+                               } else {
+                                       if (c != null)
+                                               c.setBackground(COLOR_TWO);
+                                       return COLOR_TWO;
+                               }
                        }
+
+                       return null;
                }

                public Component getTableCellRendererComponent(final JTable 
table, Object value,

Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java        
2007-08-02 00:41:02 UTC (rev 14458)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessagePanel.java        
2007-08-02 01:05:07 UTC (rev 14459)
@@ -371,7 +371,8 @@

                JPanel iPanel = null;

-               
subject.setText(I18n.getMessage("thaw.plugin.miniFrost.subject")+": 
"+msg.getSubject());
+               
subject.setText(I18n.getMessage("thaw.plugin.miniFrost.subject")+": 
"+msg.getSubject()+
+                               "    [r"+Integer.toString(msg.getRev())+"]");

                Logger.info(this, "Displaying 
"+Integer.toString(subMsgs.size())+" sub-msgs");


Modified: trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java    
2007-08-02 00:41:02 UTC (rev 14458)
+++ trunk/apps/Thaw/src/thaw/plugins/miniFrost/MessageTreeTable.java    
2007-08-02 01:05:07 UTC (rev 14459)
@@ -292,11 +292,12 @@


        protected class MessageNodeTree extends JTree {
+               DefaultTreeCellRenderer cellRenderer;

                public MessageNodeTree(TreeNode root) {
                        super(root);

-                       DefaultTreeCellRenderer cellRenderer = 
(DefaultTreeCellRenderer)getCellRenderer();
+                       cellRenderer = 
(DefaultTreeCellRenderer)getCellRenderer();
                        
cellRenderer.setOpenIcon(cellRenderer.getDefaultLeafIcon());
                        
cellRenderer.setClosedIcon(cellRenderer.getDefaultLeafIcon());
                }
@@ -321,6 +322,8 @@
                        if (isSelected)
                                setSelectionRow(row+1); /* don't forget the 
root :) */

+                       Color background = 
thaw.gui.Table.DefaultRenderer.setBackground(this, row, isSelected);
+
                        setRowHeight(table.getRowHeight());
                        rowHeight = table.getRowHeight();

@@ -346,9 +349,20 @@

                        setFont(getFont().deriveFont(mod));

-                       if (msg != null && msg.getSender().getIdentity() != 
null)
-                               
setForeground(msg.getSender().getIdentity().getTrustLevelColor());
+                       if (msg != null && msg.getSender().getIdentity() != 
null) {
+                               Color foreground = 
msg.getSender().getIdentity().getTrustLevelColor();
+                               
cellRenderer.setTextNonSelectionColor(foreground);
+                               cellRenderer.setTextSelectionColor(foreground);
+                       } else {
+                               
cellRenderer.setTextNonSelectionColor(Color.BLACK);
+                               cellRenderer.setTextSelectionColor(Color.BLACK);
+                       }

+                       if (background != null) {
+                               cellRenderer.setBackground(background);
+                               
cellRenderer.setBackgroundNonSelectionColor(background);
+                       }
+
                        visibleRow = row;
                        return this;
                }


Reply via email to