sdeboy      2003/06/08 20:23:26

  Modified:    src/java/org/apache/log4j/chainsaw LogUI.java
                        ChainsawCyclicBufferTableModel.java
                        AbstractChainsawTableModel.java
  Log:
  last selected row now stays selected when scroll to bottom is disabled, even after 
sorting
  
  Revision  Changes    Path
  1.90      +13 -0     
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/LogUI.java
  
  Index: LogUI.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/LogUI.java,v
  retrieving revision 1.89
  retrieving revision 1.90
  diff -u -r1.89 -r1.90
  --- LogUI.java        8 Jun 2003 16:20:47 -0000       1.89
  +++ LogUI.java        9 Jun 2003 03:23:25 -0000       1.90
  @@ -843,6 +843,10 @@
       table.getSelectionModel().setValueIsAdjusting(true);
   
       boolean rowAdded = false;
  +    Vector lastSelected = null;
  +    if (table.getSelectedRow() > -1) { 
  +       lastSelected = tableModel.getRow(table.getSelectedRow());
  +    }
   
       for (Iterator iter = eventBatchEntrys.iterator(); iter.hasNext();) {
         ChainsawEventBatch.Entry entry = (ChainsawEventBatch.Entry) iter.next();
  @@ -898,9 +902,18 @@
       tableModel.notifyCountListeners();
   
       if (rowAdded) {
  +      if (tableModel.isSortEnabled()) {
  +         tableModel.sort();
  +      }
         if (scrollToBottom.isScrolled() && !scrollToBottom.isBypassed()) {
           table.scrollToBottom(
             table.columnAtPoint(table.getVisibleRect().getLocation()));
  +      } else {
  +             if (lastSelected != null) {
  +               table.scrollToRow(
  +          tableModel.getRowIndex(lastSelected),
  +          table.columnAtPoint(table.getVisibleRect().getLocation()));
  +             }
         }
       }
     }
  
  
  
  1.11      +1 -5      
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
  
  Index: ChainsawCyclicBufferTableModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- ChainsawCyclicBufferTableModel.java       8 Jun 2003 16:20:48 -0000       1.10
  +++ ChainsawCyclicBufferTableModel.java       9 Jun 2003 03:23:26 -0000       1.11
  @@ -309,10 +309,6 @@
           (getDisplayFilter() == null) || (getDisplayFilter().isDisplayed(row))) {
           addFilteredRow(row);
   
  -        if (isSortEnabled()) {
  -          sort();
  -        }
  -
           rowAdded = true;
         }
       }
  @@ -320,7 +316,7 @@
       if (!valueIsAdjusting) {
         notifyCountListeners();
       }
  -     fireTableRowsInserted(filteredList.size() -1 , filteredList.size());
  +    fireTableRowsInserted(getRowIndex(row), getRowIndex(row));
       return rowAdded;
     }
   }
  
  
  
  1.7       +0 -4      
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/AbstractChainsawTableModel.java
  
  Index: AbstractChainsawTableModel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/AbstractChainsawTableModel.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- AbstractChainsawTableModel.java   8 Jun 2003 16:20:48 -0000       1.6
  +++ AbstractChainsawTableModel.java   9 Jun 2003 03:23:26 -0000       1.7
  @@ -137,8 +137,6 @@
           getSortableCollection(),
           new ColumnComparator(currentSortColumn, currentSortAscending));
       }
  -
  -    fireTableDataChanged();
     }
   
     public void sortColumn(
  @@ -148,8 +146,6 @@
         + ChainsawColumns.getColumnsNames().get(col));
       SwingUtilities.invokeLater(
         new SortExecutor(this, this, table, col, row, ascending));
  -
  -    fireTableDataChanged();
     }
   
     /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to