psmith 2003/12/12 02:28:21
Modified: src/java/org/apache/log4j/chainsaw LoggerNameTreePanel.java
Added: src/java/org/apache/log4j/chainsaw ModifiableListModel.java
Log:
Moved some inner classes to Top level classes
Revision Changes Path
1.16 +64 -9
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.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- LoggerNameTreePanel.java 10 Oct 2003 03:13:20 -0000 1.15
+++ LoggerNameTreePanel.java 12 Dec 2003 10:28:20 -0000 1.16
@@ -51,13 +51,6 @@
*/
package org.apache.log4j.chainsaw;
-import org.apache.log4j.chainsaw.icons.ChainsawIcons;
-import org.apache.log4j.chainsaw.icons.LineIconFactory;
-import org.apache.log4j.chainsaw.rule.AbstractRule;
-import org.apache.log4j.chainsaw.rule.Rule;
-import org.apache.log4j.helpers.LogLog;
-import org.apache.log4j.spi.LoggingEvent;
-
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
@@ -66,14 +59,13 @@
import java.awt.event.InputEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
-
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-
import java.util.ArrayList;
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Set;
@@ -82,11 +74,13 @@
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
+import javax.swing.DefaultListModel;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JLabel;
+import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JScrollPane;
@@ -108,6 +102,13 @@
import javax.swing.tree.TreePath;
import javax.swing.tree.TreeSelectionModel;
+import org.apache.log4j.chainsaw.icons.ChainsawIcons;
+import org.apache.log4j.chainsaw.icons.LineIconFactory;
+import org.apache.log4j.chainsaw.rule.AbstractRule;
+import org.apache.log4j.chainsaw.rule.Rule;
+import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.spi.LoggingEvent;
+
/**
* A panel that encapsulates the Logger Name tree, with associated actions
@@ -135,6 +136,9 @@
private final Action focusOnAction;
private final Action hideAction;
private final Action clearIgnoreListAction;
+
+ private final JList ignoreList = new JList();
+ private final JScrollPane ignoreListScroll = new JScrollPane(ignoreList);
// private final EventListenerList focusOnActionListeners =
// new EventListenerList();
@@ -234,6 +238,40 @@
add(toolbar, BorderLayout.NORTH);
add(scrollTree, BorderLayout.CENTER);
+
+ add(ignoreListScroll, BorderLayout.SOUTH);
+
+ CheckListCellRenderer cellRenderer = new CheckListCellRenderer(){
+
+ protected boolean isSelected(Object value) {
+ return true;
+ }
+
+ };
+
+ ignoreList.setCellRenderer(cellRenderer);
+
+ ignoreList.addMouseListener(new MouseAdapter(){
+
+ public void mouseClicked(MouseEvent e) {
+ if (e.getClickCount()>1 && (e.getModifiers() & InputEvent.BUTTON1_MASK)>0) {
+ int index = ignoreList.locationToIndex(e.getPoint());
+
+ if (index>=0) {
+ String string =
+ ignoreList.getModel().getElementAt(index).toString();
+ toggleHiddenLogger(string);
+ fireChangeEvent();
+ /**
+ * TODO this needs to get the node that has this logger and fire a
visual update
+ */
+ LoggerNameTreePanel.this.logTreeModel.nodeStructureChanged((TreeNode)
LoggerNameTreePanel.this.logTreeModel.getRoot());
+ }
+ }
+
+ }
+
+ });
}
/**
@@ -260,6 +298,7 @@
ignoreLoggerButton.setSelected(false);
logTreeModel.reload();
hiddenSet.clear();
+ fireChangeEvent();
}
};
@@ -576,6 +615,22 @@
firePropertyChange("rule", null, null);
}
});
+
+ addPropertyChangeListener("hiddenSet",new PropertyChangeListener(){
+
+ public void propertyChange(PropertyChangeEvent arg0) {
+
+ DefaultListModel model = new DefaultListModel();
+
+ List sortedIgnoreList = new ArrayList(getHiddenSet());
+ Collections.sort(sortedIgnoreList);
+ for (Iterator iter = sortedIgnoreList.iterator(); iter.hasNext();) {
+ String string = (String) iter.next();
+ model.addElement(string);
+ }
+ ignoreList.setModel(model);
+ }});
+
}
private void reconfigureMenuText() {
1.1
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ModifiableListModel.java
Index: ModifiableListModel.java
===================================================================
/*
* Created on Dec 12, 2003
*
* To change the template for this generated file go to
* Window - Preferences - Java - Code Generation - Code and Comments
*/
package org.apache.log4j.chainsaw;
import javax.swing.DefaultListModel;
/**
* @author Paul Smith <[EMAIL PROTECTED]>
*
*/
public class ModifiableListModel extends DefaultListModel {
public void fireContentsChanged(){
fireContentsChanged(this,0, this.size());
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]