sdeboy      2003/06/03 07:48:43

  Modified:    src/java/org/apache/log4j/chainsaw
                        TableColorizingRenderer.java LogUI.java
                        JSortTable.java
  Log:
  corrected sorted column-drag issue
  modified colorized rendering code to colorize level column
  updating L&F in swing thread
  
  Revision  Changes    Path
  1.10      +2 -3      
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
  
  Index: TableColorizingRenderer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- TableColorizingRenderer.java      3 Jun 2003 06:32:57 -0000       1.9
  +++ TableColorizingRenderer.java      3 Jun 2003 14:48:43 -0000       1.10
  @@ -181,7 +181,7 @@
       value = formatField(value);
   
       Color color = null;
  -
  +     
       Component c =
         super.getTableCellRendererComponent(
           table, value, isSelected, hasFocus, row, col);
  @@ -208,9 +208,8 @@
           levelComponent.setIcon(null);
           levelComponent.setText(value.toString());
         }
  -
  +      levelComponent.setBackground(c.getBackground());
         levelComponent.setForeground(c.getForeground());
  -      color = isSelected ? c.getBackground() : null;
         c = levelComponent;
   
         break;
  
  
  
  1.85      +46 -36    
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.84
  retrieving revision 1.85
  diff -u -r1.84 -r1.85
  --- LogUI.java        3 Jun 2003 06:32:57 -0000       1.84
  +++ LogUI.java        3 Jun 2003 14:48:43 -0000       1.85
  @@ -166,7 +166,6 @@
     private static final String LOOK_AND_FEEL = "LookAndFeel";
     private static final String STATUS_BAR = "StatusBar";
     private static final String COLUMNS_EXTENSION = ".columns";
  -
     private static ChainsawSplash splash = null;
     ChainsawTabbledPane tabbedPane;
     JToolBar toolbar;
  @@ -268,10 +267,15 @@
      * etc etc.
      */
     public void loadSettings(LoadSettingsEvent event) {
  -    String lookAndFeel = event.getSetting(LogUI.LOOK_AND_FEEL);
  +    final String lookAndFeel = event.getSetting(LogUI.LOOK_AND_FEEL);
   
       if (lookAndFeel != null) {
  -      changeLookAndFeel(lookAndFeel);
  +      SwingUtilities.invokeLater(
  +        new Runnable() {
  +          public void run() {
  +            changeLookAndFeel(lookAndFeel);
  +          }
  +        });
       }
   
       if (event.asBoolean(LogUI.STATUS_BAR)) {
  @@ -464,13 +468,17 @@
     void exit() {
       //       TODO Ask the user if they want to save the settings via a dialog.
       sm.saveSettings();
  +
       int tabCount = tabbedPane.getTabCount();
  -    for (int i=0;i<tabCount;i++) {
  -     Component c = tabbedPane.getComponentAt(i);
  -     if (c instanceof LogPanel) {
  -             ((LogPanel)c).saveSettings();
  -     }
  +
  +    for (int i = 0; i < tabCount; i++) {
  +      Component c = tabbedPane.getComponentAt(i);
  +
  +      if (c instanceof LogPanel) {
  +        ((LogPanel) c).saveSettings();
  +      }
       }
  +
       System.exit(0);
     }
   
  @@ -698,7 +706,7 @@
   
     /**
      * Regurgitates a DisplayFilter for a specific machine identifier
  -   * by deserializing the settings from a file.  
  +   * by deserializing the settings from a file.
      * DisplayFilter serializes tool tip fields and enabled flag.
      * @param ident
      * @return
  @@ -706,15 +714,14 @@
     private DisplayFilter loadDisplayFilter(String ident) {
       DisplayFilter d = null;
       ObjectInputStream s = null;
  -     File f = new File(
  -                SettingsManager.getInstance().getSettingsDirectory()
  -                + File.separator + ident
  -                + ChainsawConstants.SETTINGS_EXTENSION);
  +    File f =
  +      new File(
  +        SettingsManager.getInstance().getSettingsDirectory() + File.separator
  +        + ident + ChainsawConstants.SETTINGS_EXTENSION);
  +
       try {
         s = new ObjectInputStream(
  -          new BufferedInputStream(
  -            new FileInputStream(f
  -              )));
  +          new BufferedInputStream(new FileInputStream(f)));
         d = (DisplayFilter) s.readObject();
       } catch (IOException ioe) {
       } catch (ClassNotFoundException cnfe) {
  @@ -787,7 +794,8 @@
   
         map = new HashMap();
         table = new JSortTable(tableModel);
  -      table.getColumnModel().addColumnModelListener(new 
ChainsawTableColumnModelListener(table));
  +      table.getColumnModel().addColumnModelListener(
  +        new ChainsawTableColumnModelListener(table));
   
         table.setAutoCreateColumnsFromModel(false);
   
  @@ -1005,12 +1013,13 @@
         table.setDefaultRenderer(Object.class, renderer);
   
         final DetailFieldSelector detailFieldSelector =
  -        new DetailFieldSelector(ident, 
  -          new Vector(ChainsawColumns.getColumnsNames()), displayFilter);
  +        new DetailFieldSelector(
  +          ident, new Vector(ChainsawColumns.getColumnsNames()), displayFilter);
   
         final ColumnSelector columnSelector =
  -        new ColumnSelector(ident, 
  -          new Vector(ChainsawColumns.getColumnsNames()), table, displayFilter);
  +        new ColumnSelector(
  +          ident, new Vector(ChainsawColumns.getColumnsNames()), table,
  +          displayFilter);
         table.getColumnModel().addColumnModelListener(columnSelector);
         columnSelector.setIconImage(getIconImage());
         detailFieldSelector.setIconImage(getIconImage());
  @@ -1680,6 +1689,7 @@
               new BufferedOutputStream(new FileOutputStream(f)));
   
           Enumeration e = model.getColumns();
  +
           while (e.hasMoreElements()) {
             TableColumn c = (TableColumn) e.nextElement();
             o.writeObject(
  @@ -1718,7 +1728,6 @@
       }
   
       void loadDefaultColumnSettings(LoadSettingsEvent event) {
  -
         String columnOrder = event.getSetting(TABLE_COLUMN_ORDER);
   
         TableColumnModel columnModel = table.getColumnModel();
  @@ -1797,10 +1806,9 @@
             + File.separator + ident + COLUMNS_EXTENSION);
   
         if (f.exists()) {
  -
           //remove columns from model - will be re-added in the correct order
  -        for (int i=model.getColumnCount() - 1; i > -1; i--) {
  -             model.removeColumn(model.getColumn(i));
  +        for (int i = model.getColumnCount() - 1; i > -1; i--) {
  +          model.removeColumn(model.getColumn(i));
           }
   
           TableColumnData temp = null;
  @@ -2018,25 +2026,27 @@
     //if columnmoved or columnremoved callback received, re-apply table's sort index 
based
     //sort column name
     class ChainsawTableColumnModelListener implements TableColumnModelListener {
  -     private JSortTable table;
  +    private JSortTable table;
  +
  +    public ChainsawTableColumnModelListener(JSortTable table) {
  +      this.table = table;
  +    }
   
  -     public ChainsawTableColumnModelListener(JSortTable table) {
  -             this.table = table;
  -     }
  -             
  -    public void columnAdded(TableColumnModelEvent e) {}
  +    public void columnAdded(TableColumnModelEvent e) {
  +    }
   
       public void columnRemoved(TableColumnModelEvent e) {
  -     table.updateSortedColumn();
  +      table.updateSortedColumn();
       }
   
       public void columnMoved(TableColumnModelEvent e) {
  -     table.updateSortedColumn();
  +      table.updateSortedColumn();
       }
   
  -    public void columnMarginChanged(ChangeEvent e) {}
  +    public void columnMarginChanged(ChangeEvent e) {
  +    }
   
  -    public void columnSelectionChanged(ListSelectionEvent e) {}
  -     
  +    public void columnSelectionChanged(ListSelectionEvent e) {
  +    }
     }
   }
  
  
  
  1.8       +1 -1      
jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/JSortTable.java
  
  Index: JSortTable.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j-sandbox/src/java/org/apache/log4j/chainsaw/JSortTable.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- JSortTable.java   2 Jun 2003 04:23:08 -0000       1.7
  +++ JSortTable.java   3 Jun 2003 14:48:43 -0000       1.8
  @@ -104,7 +104,7 @@
     public void updateSortedColumn() {
        if (sortedColumn != null) {
                try {
  -                     setSortedColumnIndex(columnModel.getColumnIndex(sortedColumn));
  +                     sortedColumnIndex = columnModel.getColumnIndex(sortedColumn);
                } catch (IllegalArgumentException ie) {//nothing...column is not in 
the model
                        setSortedColumnIndex(-1);
                }
  
  
  

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

Reply via email to