psmith      2003/12/12 13:44:58

  Modified:    src/java/org/apache/log4j/chainsaw LoggerNameTreePanel.java
  Log:
  beginnings of some work to improve usability of the focus on, ignore logger.
  within the Logger name tree panel.
  
  If you hold down CTRL the mouse icon changes to a Focus On icon.  
  This will eventually be hooked up so that while holding down CTRL
  and double clicking you can focus on a logger.
  
  Holding down CTRL+SHIFT will be the ignore action.
  
  This mimics the way Photoshop's zoom works.
  
  Revision  Changes    Path
  1.17      +27 -0     
jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java
  
  Index: LoggerNameTreePanel.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/LoggerNameTreePanel.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- LoggerNameTreePanel.java  12 Dec 2003 10:28:20 -0000      1.16
  +++ LoggerNameTreePanel.java  12 Dec 2003 21:44:58 -0000      1.17
  @@ -53,12 +53,17 @@
   
   import java.awt.BorderLayout;
   import java.awt.Component;
  +import java.awt.Cursor;
   import java.awt.Dimension;
   import java.awt.Font;
  +import java.awt.Point;
  +import java.awt.Toolkit;
   import java.awt.event.ActionEvent;
   import java.awt.event.InputEvent;
   import java.awt.event.MouseAdapter;
   import java.awt.event.MouseEvent;
  +import java.awt.event.MouseMotionAdapter;
  +import java.awt.event.MouseMotionListener;
   import java.beans.PropertyChangeEvent;
   import java.beans.PropertyChangeListener;
   import java.util.ArrayList;
  @@ -118,6 +123,26 @@
    * @author Paul Smith <[EMAIL PROTECTED]>
    */
   final class LoggerNameTreePanel extends JPanel implements Rule {
  +  private final class MouseKeyIconListener
  +    extends MouseMotionAdapter
  +    implements MouseMotionListener {
  +    Cursor focusOnCursor = 
Toolkit.getDefaultToolkit().createCustomCursor(ChainsawIcons.FOCUS_ON_ICON.getImage(), 
new Point(0,0), "");
  +    Cursor ignoreCursor = 
Toolkit.getDefaultToolkit().createCustomCursor(ChainsawIcons.IGNORE_ICON.getImage(), 
new Point(0,0), "");
  +      /* (non-Javadoc)
  +     * @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
  +     */
  +    public void mouseMoved(MouseEvent e) {
  +//      LogLog.debug(e.toString());
  +      if((e.getModifiers() & InputEvent.CTRL_MASK)>0 && (e.getModifiers() & 
InputEvent.SHIFT_MASK)>0) {
  +        logTree.setCursor(ignoreCursor);
  +      }else if((e.getModifiers() & InputEvent.CTRL_MASK)>0) {
  +        logTree.setCursor(focusOnCursor);
  +      }else {
  +        logTree.setCursor(Cursor.getDefaultCursor());
  +      }
  +    }
  +
  +}
     private static final int WARN_DEPTH = 4;
     private final JTree logTree;
     private final JScrollPane scrollTree;
  @@ -490,6 +515,8 @@
       * this Class.
       */
     private void setupListeners() {
  +    
  +    logTree.addMouseMotionListener(new MouseKeyIconListener());
       /**
          * Enable the actions depending on state of the tree selection
          */
  
  
  

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

Reply via email to