psmith 2003/09/23 16:11:32 Modified: src/java/org/apache/log4j/chainsaw LoggerNameTreePanel.java Log: Fixed a couple of bugs in the Logger name tree panel. * Hidden loggers were not being displayed correctly in the tree * You shouldn't be able to hide a logger when you are currently focusing on a logger Revision Changes Path 1.13 +29 -10 jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java Index: LoggerNameTreePanel.java =================================================================== RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- LoggerNameTreePanel.java 17 Sep 2003 01:15:13 -0000 1.12 +++ LoggerNameTreePanel.java 23 Sep 2003 23:11:32 -0000 1.13 @@ -335,6 +335,7 @@ private void toggleFocusOnState() { setFocusOnSelected(!isFocusOnSelected()); + hideAction.setEnabled(!isFocusOnSelected()); } /** @@ -458,10 +459,12 @@ (path != null) && (node != null) && (node.getParent() != null) && !hiddenSet.contains(logger)); hideAction.setEnabled( - (path != null) && (node != null) && (node.getParent() != null)); + (path != null) && (node != null) && (node.getParent() != null) && !isFocusOnSelected()); if (!focusOnAction.isEnabled()) { setFocusOnSelected(false); + }else{ + } expandAction.setEnabled(path != null); @@ -499,6 +502,18 @@ fireChangeEvent(); } }); + + hideAction.addPropertyChangeListener(new PropertyChangeListener(){ + + public void propertyChange(PropertyChangeEvent evt) { + if (logTree.getSelectionPath() != null) { + logTreeModel.nodeChanged( + (TreeNode) logTree.getSelectionPath().getLastPathComponent()); + } + + fireChangeEvent(); + + }}); /** * Now add a MouseListener that fires the expansion @@ -815,22 +830,26 @@ Font originalFont = component.getFont(); + int style = Font.PLAIN; if (sel && focusOnLoggerButton.isSelected()) { - component.setFont(originalFont.deriveFont(Font.BOLD)); - } else { - component.setFont(originalFont.deriveFont(Font.PLAIN)); - } + style = style | Font.BOLD; + } - originalFont = component.getFont(); - String logger = - ((DefaultMutableTreeNode) value).getUserObject().toString(); + + String logger = getLoggerName(new TreePath(((DefaultMutableTreeNode) value).getPath())); if (hiddenSet.contains(logger)) { - component.setEnabled(false); +// component.setEnabled(false); +// component.setIcon(leaf?null:getDefaultOpenIcon()); + style = style | Font.ITALIC; +// LogLog.debug("TreeRenderer: '" + logger + "' is in hiddenSet, italicizing"); } else { - component.setEnabled(true); +// LogLog.debug("TreeRenderer: '" + logger + "' is NOT in hiddenSet, leaving plain"); +// component.setEnabled(true); } + component.setFont(originalFont.deriveFont(style)); + return component; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]