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]

Reply via email to