psmith 2003/12/12 22:46:19
Modified: src/java/org/apache/log4j/chainsaw LoggerNameTreePanel.java
src/java/org/apache/log4j/chainsaw/icons ChainsawIcons.java
Log:
"improved" the Logger name mouse-based ignoring. Not perfect, but getting better.
Revision Changes Path
1.18 +72 -22
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.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- LoggerNameTreePanel.java 12 Dec 2003 21:44:58 -0000 1.17
+++ LoggerNameTreePanel.java 13 Dec 2003 06:46:19 -0000 1.18
@@ -126,8 +126,8 @@
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), "");
+ Cursor focusOnCursor =
Toolkit.getDefaultToolkit().createCustomCursor(ChainsawIcons.FOCUS_ON_ICON.getImage(),
new Point(10,10), "");
+ Cursor ignoreCursor =
Toolkit.getDefaultToolkit().createCustomCursor(ChainsawIcons.IGNORE_ICON.getImage(),
new Point(10,10), "");
/* (non-Javadoc)
* @see java.awt.event.MouseMotionListener#mouseMoved(java.awt.event.MouseEvent)
*/
@@ -141,8 +141,57 @@
logTree.setCursor(Cursor.getDefaultCursor());
}
}
-
}
+ private final class MouseFocusOnListener extends MouseAdapter {
+
+ /* (non-Javadoc)
+ * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
+ */
+ public void mouseClicked(MouseEvent e) {
+ if(e.getClickCount()>1 && (e.getModifiers() & InputEvent.CTRL_MASK)>0 &&
(e.getModifiers() & InputEvent.SHIFT_MASK)>0) {
+ ignoreLoggerAtPoint(e.getPoint());
+ e.consume();
+ fireChangeEvent();
+ }else if(e.getClickCount()>1 &&(e.getModifiers() & InputEvent.CTRL_MASK)>0) {
+ focusAnLoggerAtPoint(e.getPoint());
+ e.consume();
+ fireChangeEvent();
+ }
+ }
+
+ /**
+ * @param point
+ */
+ private void focusAnLoggerAtPoint(Point point) {
+ String logger = getLoggerAtPoint(point);
+ if(logger!=null) {
+ toggleFocusOnState();
+ }
+ }
+
+ /**
+ * @param point
+ * @return
+ */
+ private String getLoggerAtPoint(Point point) {
+ TreePath path = logTree.getPathForLocation(point.x, point.y);
+ if(path!=null) {
+ return getLoggerName(path);
+ }
+ return null;
+ }
+
+ /**
+ * @param point
+ */
+ private void ignoreLoggerAtPoint(Point point) {
+ String logger = getLoggerAtPoint(point);
+ if(logger!=null) {
+ toggleHiddenLogger(logger);
+ }
+
+ }
+ }
private static final int WARN_DEPTH = 4;
private final JTree logTree;
private final JScrollPane scrollTree;
@@ -592,26 +641,27 @@
}
});
- /**
- * Now add a MouseListener that fires the expansion
- * action if CTRL + DBL CLICK is done.
- */
- logTree.addMouseListener(
- new MouseAdapter() {
- public void mouseClicked(MouseEvent e) {
- if (
- (e.getClickCount() > 1)
- && ((e.getModifiers() & InputEvent.CTRL_MASK) > 0)
- && ((e.getModifiers() & InputEvent.BUTTON1_MASK) > 0)) {
- expandCurrentlySelectedNode();
- e.consume();
- } else if (e.getClickCount() > 1) {
- super.mouseClicked(e);
- LogLog.debug("Ignoring dbl click event " + e);
- }
- }
- });
+// /**
+// * Now add a MouseListener that fires the expansion
+// * action if CTRL + DBL CLICK is done.
+// */
+// logTree.addMouseListener(
+// new MouseAdapter() {
+// public void mouseClicked(MouseEvent e) {
+// if (
+// (e.getClickCount() > 1)
+// && ((e.getModifiers() & InputEvent.CTRL_MASK) > 0)
+// && ((e.getModifiers() & InputEvent.BUTTON1_MASK) > 0)) {
+// expandCurrentlySelectedNode();
+// e.consume();
+// } else if (e.getClickCount() > 1) {
+// super.mouseClicked(e);
+// LogLog.debug("Ignoring dbl click event " + e);
+// }
+// }
+// });
+ logTree.addMouseListener(new MouseFocusOnListener());
/**
* We listen for when the FocusOn action changes, and then translate
* that to a RuleChange
1.9 +4 -2
jakarta-log4j/src/java/org/apache/log4j/chainsaw/icons/ChainsawIcons.java
Index: ChainsawIcons.java
===================================================================
RCS file:
/home/cvs/jakarta-log4j/src/java/org/apache/log4j/chainsaw/icons/ChainsawIcons.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- ChainsawIcons.java 12 Dec 2003 21:40:36 -0000 1.8
+++ ChainsawIcons.java 13 Dec 2003 06:46:19 -0000 1.9
@@ -174,8 +174,10 @@
ChainsawIcons.class.getClassLoader().getResource(
BASE_ICON_PATH + "ZoomOut16.gif");
- public static final ImageIcon FOCUS_ON_ICON = new ImageIcon(WINDOW_ICON);
- public static final ImageIcon IGNORE_ICON = new ImageIcon(ICON_COLLAPSE);
+ public static final ImageIcon FOCUS_ON_ICON = new
ImageIcon(ChainsawIcons.class.getClassLoader().getResource(
+ BASE_ICON_PATH + "ZoomIn24.gif"));
+ public static final ImageIcon IGNORE_ICON = new
ImageIcon(ChainsawIcons.class.getClassLoader().getResource(
+ BASE_ICON_PATH + "ZoomOut24.gif"));
private ChainsawIcons() {
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]