svn commit: r982459 - in /logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw: JSortTable.java LogPanel.java

[email protected]
Newsgroups gmane.comp.apache.logging
Message-ID <[email protected]>
Author: sdeboy
Date: Thu Aug  5 03:43:26 2010
New Revision: 982459

URL: http://svn.apache.org/viewvc?rev=982459&view=rev
Log:
Minor scrollToRow update - now synchronous if called from the EDT

Modified:
    logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java
    logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java

Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java?rev=982459&r1=982458&r2=982459&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/JSortTable.java Thu Aug  5 03:43:26 2010
@@ -93,6 +93,7 @@ public class JSortTable extends JTable i
     getTableHeader().resizeAndRepaint();
   }
 
+  //Allow synchronous updates if already on the EDT
   public void scrollTo(final int row, final int col) {
     SwingHelper.invokeOnEDT(new Runnable() {
       public void run() {

Modified: logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java
URL: http://svn.apache.org/viewvc/logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java?rev=982459&r1=982458&r2=982459&view=diff
==============================================================================
--- logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java (original)
+++ logging/chainsaw/trunk/src/main/java/org/apache/log4j/chainsaw/LogPanel.java Thu Aug  5 03:43:26 2010
@@ -990,6 +990,7 @@ public class LogPanel extends DockablePa
     //if the table is refiltered, try to reselect the last selected row
     //refilter with a newValue of TRUE means refiltering is about to begin
     //refilter with a newValue of FALSE means refiltering is complete
+    //assuming notification is called on the EDT so we can in the current EDT call update the scroll & selection
     tableModel.addPropertyChangeListener("refilter", new PropertyChangeListener() {
         private LoggingEvent currentEvent;
         public void propertyChange(PropertyChangeEvent evt) {
@@ -998,27 +999,9 @@ public class LogPanel extends DockablePa
             if (evt.getNewValue().equals(Boolean.TRUE)) {
                 currentEvent = tableModel.getRow(table.getSelectedRow());
             } else {
-                //events are still coming in..wait until all events are added before resetting current row
-                new Thread(new Runnable() {
-                    public void run() {
-                        try
-                        {
-                            Thread.sleep(500);
-                        }
-                        catch (InterruptedException e)
-                        {
-                            e.printStackTrace();
-                        }
-                        EventQueue.invokeLater(new Runnable() {
-                            public void run() {
-                                //refilter is about to begin...get current selected row
-                                if (currentEvent != null) {
-                                    table.scrollToRow(tableModel.getRowIndex(currentEvent));
-                                }
-                            }
-                        });
-                    }
-                }).start();
+                if (currentEvent != null) {
+                    table.scrollToRow(tableModel.getRowIndex(currentEvent));
+                }
             }
         }
     });
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.