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]