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]