psmith 2003/10/09 15:08:02
Modified: src/java/org/apache/log4j/chainsaw LogPanel.java
Log:
Changes because LogTreePanel is now a rule itself. This makes this
clases role a lot simpler.
Revision Changes Path
1.21 +24 -62 jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java
Index: LogPanel.java
===================================================================
RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- LogPanel.java 9 Oct 2003 04:05:47 -0000 1.20
+++ LogPanel.java 9 Oct 2003 22:08:02 -0000 1.21
@@ -55,24 +55,6 @@
*/
package org.apache.log4j.chainsaw;
-import org.apache.log4j.Layout;
-import org.apache.log4j.PatternLayout;
-import org.apache.log4j.chainsaw.filter.FilterModel;
-import org.apache.log4j.chainsaw.icons.ChainsawIcons;
-import org.apache.log4j.chainsaw.icons.LineIconFactory;
-import org.apache.log4j.chainsaw.layout.DefaultLayoutFactory;
-import org.apache.log4j.chainsaw.layout.EventDetailLayout;
-import org.apache.log4j.chainsaw.layout.LayoutEditorPane;
-import org.apache.log4j.chainsaw.prefs.LoadSettingsEvent;
-import org.apache.log4j.chainsaw.prefs.SaveSettingsEvent;
-import org.apache.log4j.chainsaw.prefs.SettingsListener;
-import org.apache.log4j.chainsaw.prefs.SettingsManager;
-import org.apache.log4j.chainsaw.rule.AbstractRule;
-import org.apache.log4j.chainsaw.rule.Rule;
-import org.apache.log4j.helpers.ISO8601DateFormat;
-import org.apache.log4j.helpers.LogLog;
-import org.apache.log4j.spi.LoggingEvent;
-
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Cursor;
@@ -95,10 +77,8 @@
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
-
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.EOFException;
@@ -110,10 +90,8 @@
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-
import java.text.NumberFormat;
import java.text.SimpleDateFormat;
-
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
@@ -156,7 +134,6 @@
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
-import javax.swing.event.ChangeListener;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.event.ListSelectionEvent;
@@ -167,6 +144,24 @@
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
+import org.apache.log4j.Layout;
+import org.apache.log4j.PatternLayout;
+import org.apache.log4j.chainsaw.filter.FilterModel;
+import org.apache.log4j.chainsaw.icons.ChainsawIcons;
+import org.apache.log4j.chainsaw.icons.LineIconFactory;
+import org.apache.log4j.chainsaw.layout.DefaultLayoutFactory;
+import org.apache.log4j.chainsaw.layout.EventDetailLayout;
+import org.apache.log4j.chainsaw.layout.LayoutEditorPane;
+import org.apache.log4j.chainsaw.prefs.LoadSettingsEvent;
+import org.apache.log4j.chainsaw.prefs.SaveSettingsEvent;
+import org.apache.log4j.chainsaw.prefs.SettingsListener;
+import org.apache.log4j.chainsaw.prefs.SettingsManager;
+import org.apache.log4j.chainsaw.rule.AbstractRule;
+import org.apache.log4j.chainsaw.rule.Rule;
+import org.apache.log4j.helpers.ISO8601DateFormat;
+import org.apache.log4j.helpers.LogLog;
+import org.apache.log4j.spi.LoggingEvent;
+
/**
* LogPanel encapsulates all the necessary bits and pieces of a
@@ -388,45 +383,12 @@
logTreePanel = new LoggerNameTreePanel(logTreeModel);
- /**
- * We listen for when the FocusOn action changes, and then ensure the
Refinement filter is set
- * accordingly.
- */
- logTreePanel.addChangeListener(
- new ChangeListener() {
- public void stateChanged(ChangeEvent evt) {
- final String currentlySelectedLoggerName =
- logTreePanel.getCurrentlySelectedLoggerName();
-
- /**
- * We run this later so that the GUI gets a chance to repaint
- * etc, this might take a little time.
- */
- SwingUtilities.invokeLater(
- new Runnable() {
- public void run() {
- ruleMediator.setLoggerRule(
- new AbstractRule() {
- public boolean evaluate(LoggingEvent e) {
- boolean isHidden =
- logTreePanel.getHiddenSet().contains(
- e.getLoggerName());
- boolean result = !isHidden;
-
- if (result && logTreePanel.isFocusOnSelected()) {
- result =
- result
- && e.getLoggerName().startsWith(
- currentlySelectedLoggerName);
- }
-
- return result;
- }
- });
- }
- });
- }
- });
+ /**
+ * Set the LoggerRule to be the LoggerTreePanel, as this visual component
+ * is a rule itself, and the RuleMediator will automatically listen
+ * when it's rule state changes.
+ */
+ ruleMediator.setLoggerRule(logTreePanel);
/***
* Setup a popup menu triggered for Timestamp column to allow time stamp format
changes
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]