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]