sdeboy 2003/05/28 00:34:58
Modified: src/java/org/apache/log4j/chainsaw FilterChangeExecutor.java
DefaultSortTableModel.java CyclicBufferList.java
DisplayFilter.java ColumnSelector.java
ToolTipSelector.java
Log:
removed management of displayed columns from displayfilter and updated
columnselector to add/remove columns from the table (previously managed in
displayfilter)
(more work needs done - need to replace functionality with preferences support for
displayed columns, including col width)
corrected tooltipselector bug
Revision Changes Path
1.4 +1 -3
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/FilterChangeExecutor.java
Index: FilterChangeExecutor.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/FilterChangeExecutor.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FilterChangeExecutor.java 26 May 2003 06:50:09 -0000 1.3
+++ FilterChangeExecutor.java 28 May 2003 07:34:57 -0000 1.4
@@ -72,17 +72,15 @@
Vector v2 = null;
Map.Entry m = null;
- Vector v3 = null;
Iterator iter = model.getUnfilteredEvents().iterator();
while (iter.hasNext()) {
v2 = (Vector) iter.next();
if (model.getDisplayFilter() != null) {
- v3 = model.getDisplayFilter().filterColumns(v2);
if (this.model.getDisplayFilter().isDisplayed(v2)) {
- model.addFilteredRow(v3);
+ model.addFilteredRow(v2);
}
}
}
1.17 +1 -6
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/DefaultSortTableModel.java
Index: DefaultSortTableModel.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/DefaultSortTableModel.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- DefaultSortTableModel.java 26 May 2003 06:50:09 -0000 1.16
+++ DefaultSortTableModel.java 28 May 2003 07:34:57 -0000 1.17
@@ -191,10 +191,6 @@
}
public void filterChanged() {
- if (!displayFilter.getDisplayedColumns().equals(columnIdentifiers)) {
- setColumnIdentifiers(displayFilter.getDisplayedColumns());
- }
-
detailColumns = displayFilter.getDetailColumns();
SwingUtilities.invokeLater(filterExecutor);
}
@@ -491,8 +487,7 @@
unfilteredEvents.put(thisInt, v);
if ((displayFilter == null) || (displayFilter.isDisplayed(v))) {
- Vector v2 = displayFilter.filterColumns(v);
- addRow(v2);
+ addRow(v);
if (sortEnabled) {
sort();
1.3 +0 -2
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/CyclicBufferList.java
Index: CyclicBufferList.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/CyclicBufferList.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- CyclicBufferList.java 26 May 2003 06:49:03 -0000 1.2
+++ CyclicBufferList.java 28 May 2003 07:34:57 -0000 1.3
@@ -49,8 +49,6 @@
package org.apache.log4j.chainsaw;
-import com.sun.rsasign.s;
-
import org.apache.log4j.helpers.CyclicBuffer;
import org.apache.log4j.spi.LoggingEvent;
1.4 +0 -26
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/DisplayFilter.java
Index: DisplayFilter.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/DisplayFilter.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- DisplayFilter.java 2 May 2003 04:19:26 -0000 1.3
+++ DisplayFilter.java 28 May 2003 07:34:57 -0000 1.4
@@ -78,13 +78,11 @@
private transient DisplayFilterEntry customFilter;
private transient boolean customFilterOverride = false;
private List colNames;
- private Vector displayedColumns;
private Vector toolTipColumns;
private Boolean toolTipsEnabled = Boolean.FALSE;
public DisplayFilter(List colNames) {
this.colNames = colNames;
- displayedColumns = new Vector(colNames);
toolTipColumns = new Vector(colNames);
}
@@ -98,11 +96,6 @@
notifyListeners();
}
- public void setDisplayedColumns(Vector v) {
- displayedColumns = v;
- notifyListeners();
- }
-
public boolean isDisplayed(Vector v) {
boolean passesCustomFilter = true;
@@ -143,23 +136,6 @@
}
}
- public Vector filterColumns(Vector v) {
- Vector results = new Vector();
- int size = v.size();
-
- for (int i = 0; i < size; i++) {
- if (displayedColumns.contains(colNames.get(i))) {
- results.add(v.get(i));
- }
- }
-
- return results;
- }
-
- public Vector getDisplayedColumns() {
- return displayedColumns;
- }
-
public void setDetailColumns(Vector v) {
toolTipColumns = v;
notifyListeners();
@@ -308,7 +284,6 @@
private void readObject(java.io.ObjectInputStream in)
throws IOException, ClassNotFoundException {
colNames = (List) in.readObject();
- displayedColumns = (Vector) in.readObject();
toolTipColumns = (Vector) in.readObject();
toolTipsEnabled = (Boolean) in.readObject();
filterListeners = new Vector();
@@ -319,7 +294,6 @@
private void writeObject(java.io.ObjectOutputStream out)
throws IOException {
out.writeObject(colNames);
- out.writeObject(displayedColumns);
out.writeObject(toolTipColumns);
out.writeObject(toolTipsEnabled);
}
1.2 +100 -71
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ColumnSelector.java
Index: ColumnSelector.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ColumnSelector.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ColumnSelector.java 28 Apr 2003 05:44:32 -0000 1.1
+++ ColumnSelector.java 28 May 2003 07:34:57 -0000 1.2
@@ -53,7 +53,6 @@
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
@@ -64,7 +63,7 @@
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
-
+import javax.swing.table.TableColumn;
/**
* A sort of Preferences frame for the current app/panel that allows the
@@ -75,74 +74,104 @@
*
*/
public class ColumnSelector extends JFrame {
- private HashMap displayColumnBoxMap = new HashMap();
+ private HashMap displayColumnBoxMap = new HashMap();
- public ColumnSelector(
- final Vector columnNames, final JSortTable sortTable,
- final DisplayFilter displayFilter) {
- setLocation(150, 150);
-
- JPanel columnPanel = new JPanel(new GridLayout(0, 1));
- columnPanel.setBorder(
- BorderFactory.createTitledBorder("Select display columns"));
-
- Vector displayedColumns = displayFilter.getDisplayedColumns();
-
- columnPanel.setPreferredSize(new Dimension(150, 340));
-
- for (int i = 0; i < columnNames.size(); i++) {
- final String key = (String) columnNames.get(i);
- JCheckBox box = new JCheckBox(key, displayedColumns.contains(key));
- displayColumnBoxMap.put(box, key);
- box.addActionListener(
- new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- int sortIndex = sortTable.getSortedColumnIndex();
- String sortColumn = null;
-
- if (sortIndex > -1) {
- sortColumn = sortTable.getModel().getColumnName(sortIndex);
- }
-
- Vector v = new Vector();
- Collection c = displayColumnBoxMap.entrySet();
- Iterator iter = c.iterator();
-
- while (iter.hasNext()) {
- Map.Entry entry = (Map.Entry) iter.next();
- JCheckBox b = (JCheckBox) entry.getKey();
-
- if (b.isSelected()) {
- v.add(entry.getValue());
- }
- }
-
- //apply ordering by using original column names order..may be some
other way
- Vector endVector = new Vector();
- Iterator x = columnNames.iterator();
-
- while (x.hasNext()) {
- String thiscol = (String) x.next();
-
- if (v.contains(thiscol)) {
- endVector.add(thiscol);
- }
- }
-
- displayFilter.setDisplayedColumns(endVector);
-
- if (sortColumn != null) {
- int newIndex = endVector.indexOf(sortColumn);
-
- if (newIndex > -1) {
- sortTable.setSortedColumnIndex(newIndex);
- }
- }
- }
- });
- columnPanel.add(box);
- getContentPane().add(columnPanel);
- pack();
- }
- }
+ public ColumnSelector(
+ final Vector columnNames,
+ final JSortTable sortTable,
+ final DisplayFilter displayFilter) {
+ setLocation(150, 150);
+
+ JPanel columnPanel = new JPanel(new GridLayout(0, 1));
+ columnPanel.setBorder(
+ BorderFactory.createTitledBorder("Select display columns"));
+
+ Vector displayedColumns = new Vector();
+ int modelIndex = 0;
+ for (Iterator iter2 =
ChainsawColumns.getColumnsNames().iterator();iter2.hasNext();) {
+ Object column = iter2.next();
+ int viewIndex = sortTable.convertColumnIndexToView(modelIndex);
+ if (viewIndex > -1) {
+ displayedColumns.add(column);
+ }
+ }
+
+ columnPanel.setPreferredSize(new Dimension(150, 340));
+
+ for (int i = 0; i < columnNames.size(); i++) {
+ final String key = (String) columnNames.get(i);
+ JCheckBox box = new JCheckBox(key,
displayedColumns.contains(key));
+ displayColumnBoxMap.put(box, key);
+ box.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ int sortIndex =
sortTable.getSortedColumnIndex();
+ String sortColumn = null;
+
+ if (sortIndex > -1) {
+ sortColumn =
+
sortTable.getModel().getColumnName(sortIndex);
+ }
+
+ Vector v = new Vector();
+ Collection c = displayColumnBoxMap.entrySet();
+ Iterator iter = c.iterator();
+
+ while (iter.hasNext()) {
+ Map.Entry entry = (Map.Entry)
iter.next();
+ JCheckBox b = (JCheckBox)
entry.getKey();
+
+ if (b.isSelected()) {
+ v.add(entry.getValue());
+ }
+ }
+
+ //apply ordering by using original column
names order..may be some other way
+ Vector endVector = new Vector();
+ Iterator x = columnNames.iterator();
+
+ while (x.hasNext()) {
+ String thiscol = (String) x.next();
+
+ if (v.contains(thiscol)) {
+ endVector.add(thiscol);
+ }
+ }
+
+ int modelIndex = 0;
+ for (Iterator iter2 =
+
ChainsawColumns.getColumnsNames().iterator();
+ iter2.hasNext();
+ ) {
+ Object column = iter2.next();
+ int viewIndex =
+
sortTable.convertColumnIndexToView(modelIndex);
+ if (endVector.contains(column)) {
+ if (viewIndex == -1) {
+ TableColumn
tableColumn =
+ new
TableColumn(modelIndex);
+
sortTable.addColumn(tableColumn);
+ }
+ } else {
+ if (viewIndex > -1) {
+ sortTable.removeColumn(
+
sortTable.getColumn(column));
+ }
+ }
+ modelIndex++;
+ }
+
+ if (sortColumn != null) {
+ int newIndex =
endVector.indexOf(sortColumn);
+
+ if (newIndex > -1) {
+
sortTable.setSortedColumnIndex(newIndex);
+ }
+ }
+ }
+ });
+ columnPanel.add(box);
+ getContentPane().add(columnPanel);
+ pack();
+ }
+ }
}
1.3 +1 -1
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ToolTipSelector.java
Index: ToolTipSelector.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/ToolTipSelector.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- ToolTipSelector.java 30 Apr 2003 23:09:16 -0000 1.2
+++ ToolTipSelector.java 28 May 2003 07:34:57 -0000 1.3
@@ -120,7 +120,7 @@
}
}
- displayFilter.setDisplayedColumns(endVector);
+ displayFilter.setDetailColumns(endVector);
}
});
toolTipPanel.add(box);
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]