cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw ThrowableRenderPanel.java

2003-09-11 Thread psmith
psmith  2003/09/11 02:44:05

  Modified:src/java/org/apache/log4j/chainsaw ThrowableRenderPanel.java
  Log:
  Under Windows, the "..." button that exposes the Throwable detial
  viewer isn't as obvious.
  
  Changed so that the button has a distinguishing background.
  
  Revision  ChangesPath
  1.3   +6 -2  
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ThrowableRenderPanel.java
  
  Index: ThrowableRenderPanel.java
  ===
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ThrowableRenderPanel.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ThrowableRenderPanel.java 11 Sep 2003 04:59:24 -  1.2
  +++ ThrowableRenderPanel.java 11 Sep 2003 09:44:05 -  1.3
  @@ -94,7 +94,7 @@
   panel.add(lbl, BorderLayout.CENTER);
   panel.add(btn, BorderLayout.EAST);
   lbl.setOpaque(false);
  -btn.setOpaque(false);
  +//btn.setOpaque(false);
   showStackTraceAction =
 new AbstractAction("...") {
 public void actionPerformed(ActionEvent e) {
  @@ -119,7 +119,11 @@
  */
 public Component getTableCellEditorComponent(
   JTable table, Object value, boolean isSelected, int row, int column) {
  -lbl.setText(((String[]) value)[0]);
  +if(value!=null){
  + lbl.setText(((String[]) value)[0]);
  +}else {
  + lbl.setText("");
  +}
   
   if (isSelected) {
 panel.setBackground(table.getSelectionBackground());
  
  
  

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



cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw ThrowableRenderPanel.java LogPanel.java

2003-09-10 Thread psmith
psmith  2003/09/10 21:59:24

  Modified:src/java/org/apache/log4j/chainsaw ThrowableRenderPanel.java
LogPanel.java
  Log:
  Can now view the full Stack trace in a pop up dialog.
  
  Revision  ChangesPath
  1.2   +7 -8  
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ThrowableRenderPanel.java
  
  Index: ThrowableRenderPanel.java
  ===
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ThrowableRenderPanel.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ThrowableRenderPanel.java 11 Sep 2003 03:35:05 -  1.1
  +++ ThrowableRenderPanel.java 11 Sep 2003 04:59:24 -  1.2
  @@ -61,6 +61,7 @@
   import java.awt.Color;
   import java.awt.Component;
   import java.awt.event.ActionEvent;
  +import java.awt.event.ActionListener;
   
   import javax.swing.AbstractAction;
   import javax.swing.AbstractCellEditor;
  @@ -97,7 +98,6 @@
   showStackTraceAction =
 new AbstractAction("...") {
 public void actionPerformed(ActionEvent e) {
  -displaySelectedEntry();
 }
   };
   this.table = table;
  @@ -106,13 +106,10 @@
   btn.setAction(showStackTraceAction);
 }
   
  -  private void displaySelectedEntry() {
  -Object object =
  -  table.getModel().getValueAt(
  -table.getSelectedRow(), table.getSelectedColumn() - 1);
  -LogLog.debug("Would hae displayed " + object);
  -  }
  -
  + void addActionListener(ActionListener l){
  + btn.addActionListener(l);
  + }
  + 
 private void setText(String text) {
   lbl.setText(text);
 }
  @@ -129,8 +126,10 @@
 panel.setForeground(table.getSelectionForeground());
   } else if ((row % 2) != 0) {
 panel.setBackground(COLOR_ODD);
  +   panel.setForeground(table.getSelectionForeground());
   } else {
 panel.setBackground(background);
  +   panel.setForeground(table.getSelectionForeground());
   }
   
   return panel;
  
  
  
  1.5   +42 -2 jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java
  
  Index: LogPanel.java
  ===
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- LogPanel.java 11 Sep 2003 03:35:05 -  1.4
  +++ LogPanel.java 11 Sep 2003 04:59:24 -  1.5
  @@ -71,6 +71,7 @@
   import org.apache.log4j.spi.LoggingEvent;
   
   import java.awt.BorderLayout;
  +import java.awt.Container;
   import java.awt.Dimension;
   import java.awt.FlowLayout;
   import java.awt.Font;
  @@ -120,8 +121,10 @@
   import javax.swing.Action;
   import javax.swing.BorderFactory;
   import javax.swing.Box;
  +import javax.swing.BoxLayout;
   import javax.swing.ButtonGroup;
   import javax.swing.ImageIcon;
  +import javax.swing.JButton;
   import javax.swing.JCheckBox;
   import javax.swing.JCheckBoxMenuItem;
   import javax.swing.JComboBox;
  @@ -138,6 +141,7 @@
   import javax.swing.JSeparator;
   import javax.swing.JSplitPane;
   import javax.swing.JTable;
  +import javax.swing.JTextArea;
   import javax.swing.JTextField;
   import javax.swing.JToolBar;
   import javax.swing.KeyStroke;
  @@ -165,6 +169,8 @@
  */
   public class LogPanel extends DockablePanel implements SettingsListener,
 EventBatchListener {
  + private ThrowableRenderPanel throwableRenderPanel ;
  +
 private boolean paused = false;
 private boolean logTreePanelVisible = true;
 private final FilterModel filterModel = new FilterModel();
  @@ -181,6 +187,7 @@
 final Action dockingAction;
 final JSortTable table;
 private String profileName = null;
  +  private final JDialog detailDialog = new JDialog((JFrame)null, true);
 final JPanel detailPanel = new JPanel(new BorderLayout());
 private final TableColorizingRenderer renderer =
   new TableColorizingRenderer();
  @@ -234,6 +241,8 @@
   
   table.setAutoCreateColumnsFromModel(false);
   
  + throwableRenderPanel = new ThrowableRenderPanel(table);
  +
   /**
* We listen for new Key's coming in so we can get them automatically 
added as columns
   */
  @@ -982,6 +991,39 @@
   undockedToolbar = createDockwindowToolbar();
   externalPanel.add(undockedToolbar, BorderLayout.NORTH);
   undockedFrame.pack();
  +
  +Container container = detailDialog.getContentPane();
  +final JTextArea detailArea = new JTextArea(10,40);
  +detailArea.setEditable(false);
  +container.setLayout(new BoxLayout(container, BoxLayout.Y_AXIS));
  +container.add(new JScrollPane(detailArea));
  +throwableRenderPanel.addActionListener(new ActionListener(){
  +
  + public void actionPerformed(ActionEvent e) {
  +   

cvs commit: jakarta-log4j/src/java/org/apache/log4j/chainsaw ThrowableRenderPanel.java LogPanel.java ChainsawCyclicBufferTableModel.java TableColorizingRenderer.java

2003-09-10 Thread psmith
psmith  2003/09/10 20:35:05

  Modified:src/java/org/apache/log4j/chainsaw LogPanel.java
ChainsawCyclicBufferTableModel.java
TableColorizingRenderer.java
  Added:   src/java/org/apache/log4j/chainsaw ThrowableRenderPanel.java
  Log:
  Modifications so that the Throwable Column can be
  "edited", and by that I mean that selected a Throwable
  cell entry displays a non-editable label, with an associated
  "..." button that can be clicked.
  
  This mechanism will be used to display a Popup containing
  the display of the full stack trace, in standard format.
  
  Eventually this class will be refactored somewhat to share
  functionality to be used for NDC, MDC, and Properties.
  
  Revision  ChangesPath
  1.4   +19 -1 jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java
  
  Index: LogPanel.java
  ===
  RCS file: /home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LogPanel.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LogPanel.java 10 Sep 2003 23:03:07 -  1.3
  +++ LogPanel.java 11 Sep 2003 03:35:05 -  1.4
  @@ -151,6 +151,7 @@
   import javax.swing.event.TableColumnModelEvent;
   import javax.swing.event.TableColumnModelListener;
   import javax.swing.table.AbstractTableModel;
  +import javax.swing.table.TableCellEditor;
   import javax.swing.table.TableColumn;
   import javax.swing.table.TableColumnModel;
   import javax.swing.table.TableModel;
  @@ -765,6 +766,9 @@
   externalPanel.setLayout(new BorderLayout());
   undockedFrame.getContentPane().add(externalPanel);
   
  +//   TODO undocked toolbar is broken  
  +//  f.getContentPane().add(
  +//logUI.getToolBarAndMenus().createDockwindowToolbar(f, this), 
BorderLayout.NORTH);
   dockingAction =
 new AbstractAction("Undock") {
 public void actionPerformed(ActionEvent evt) {
  @@ -1696,13 +1700,27 @@
 //sort column name
 class ChainsawTableColumnModelListener implements TableColumnModelListener {
   private JSortTable table;
  + private TableCellEditor throwableRenderPanel ;
   
   public ChainsawTableColumnModelListener(JSortTable table) {
 this.table = table;
  +   throwableRenderPanel = new ThrowableRenderPanel(table);
   }
   
   public void columnAdded(TableColumnModelEvent e) {
  -  LogLog.debug("Detected columnAdded" + e);
  +//  LogLog.debug("Detected columnAdded" + e);
  +
  +  TableColumnModel columnModel = (TableColumnModel) e.getSource();
  +  Enumeration enum = table.getColumnModel().getColumns();
  +
  +  while (enum.hasMoreElements()) {
  +TableColumn column = (TableColumn) enum.nextElement();
  +
  +if (
  +  (column.getModelIndex() + 1) == ChainsawColumns.INDEX_THROWABLE_COL_NAME) 
{
  +  column.setCellEditor(throwableRenderPanel);
  +}
  +  }
   }
   
   public void columnRemoved(TableColumnModelEvent e) {
  
  
  
  1.7   +11 -0 
jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java
  
  Index: ChainsawCyclicBufferTableModel.java
  ===
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/ChainsawCyclicBufferTableModel.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ChainsawCyclicBufferTableModel.java   10 Sep 2003 23:03:07 -  1.6
  +++ ChainsawCyclicBufferTableModel.java   11 Sep 2003 03:35:05 -  1.7
  @@ -607,4 +607,15 @@
   });
   }
 }
  + /* (non-Javadoc)
  +  * @see javax.swing.table.TableModel#isCellEditable(int, int)
  +  */
  + public boolean isCellEditable(int rowIndex, int columnIndex) {
  + switch(columnIndex+1){
  + case ChainsawColumns.INDEX_THROWABLE_COL_NAME:
  + return true;
  + }
  + return super.isCellEditable(rowIndex, columnIndex);
  + }
  +
   }
  
  
  
  1.4   +17 -2 
jakarta-log4j/src/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java
  
  Index: TableColorizingRenderer.java
  ===
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/TableColorizingRenderer.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- TableColorizingRenderer.java  5 Sep 2003 06:07:26 -   1.3
  +++ TableColorizingRenderer.java  11 Sep 2003 03:35:05 -  1.4
  @@ -49,17 +49,22 @@
   
   package org.apache.log4j.chainsaw;
   
  +import java.awt.BorderLayout;
   import java.awt.Color;
   import java.awt.Component;
  +import java.awt.event.ActionEvent;
   import java.text.DateFormat;
   import java.util.Cale