diff options
author | Roman Kennke <roman@kennke.org> | 2006-10-13 08:51:30 +0000 |
---|---|---|
committer | Roman Kennke <roman@kennke.org> | 2006-10-13 08:51:30 +0000 |
commit | 9425b4c40a1bad59a269302340dfed7054ec6248 (patch) | |
tree | 565614bb9c2a45433109dc9acfba82dd7f2b2db0 /javax/swing/plaf/basic | |
parent | ae70ae65009b1d41884db01757b02e5c9e7770ed (diff) | |
download | classpath-9425b4c40a1bad59a269302340dfed7054ec6248.tar.gz |
2006-10-13 Roman Kennke <kennke@aicas.com>
PR 27780
* javax/swing/JMenuItem.java
(isDragging): New field. Indicates if we are inside a mouse
drag.
(createMenuDragMouseEvent): Removed unneeded method.
(processMenuDragMouseEvent): Track if we are dragging.
(processMouseEvent): Simply forward to processMenuDragMouseEvent().
* javax/swing/plaf/basic/BasicMenuItemUI.java
(MenuDragMouseHandler.menuDragMouseDragged): Fetch
MenuSelectionManager from event.
(MenuDragMouseHandler.menuDragMouseEntered): Fetch
MenuSelectionManager from event.
(MenuDragMouseHandler.menuDragMouseExited): Fetch
MenuSelectionManager from event.
(MenuDragMouseHandler.menuDragMouseReleased): Click on mouse
release inside menu item, otherwise clear selection.
(MenuInputHandler.mouseReleased): Avoid multiple calls to getX()
and getY(). Call doClick() rather than the doClick() of JMenuItem.
(doClick): Perform an immediate click.
Diffstat (limited to 'javax/swing/plaf/basic')
-rw-r--r-- | javax/swing/plaf/basic/BasicMenuItemUI.java | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/javax/swing/plaf/basic/BasicMenuItemUI.java b/javax/swing/plaf/basic/BasicMenuItemUI.java index 87dce2ef4..5fafb4108 100644 --- a/javax/swing/plaf/basic/BasicMenuItemUI.java +++ b/javax/swing/plaf/basic/BasicMenuItemUI.java @@ -364,7 +364,7 @@ public class BasicMenuItemUI extends MenuItemUI */ protected void doClick(MenuSelectionManager msm) { - menuItem.doClick(); + menuItem.doClick(0); msm.clearSelectedPath(); } @@ -1058,15 +1058,14 @@ public class BasicMenuItemUI extends MenuItemUI */ public void mouseReleased(MouseEvent e) { - Rectangle size = menuItem.getBounds(); MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - if (e.getX() > 0 && e.getX() < size.width && e.getY() > 0 - && e.getY() < size.height) + int x = e.getX(); + int y = e.getY(); + if (x > 0 && x < menuItem.getWidth() && y > 0 + && y < menuItem.getHeight()) { - manager.clearSelectedPath(); - menuItem.doClick(); + doClick(manager); } - else manager.processMouseEvent(e); } @@ -1085,7 +1084,7 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseDragged(MenuDragMouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); + MenuSelectionManager manager = e.getMenuSelectionManager(); manager.setSelectedPath(e.getPath()); } @@ -1098,7 +1097,7 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseEntered(MenuDragMouseEvent e) { - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); + MenuSelectionManager manager = e.getMenuSelectionManager(); manager.setSelectedPath(e.getPath()); } @@ -1110,7 +1109,7 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseExited(MenuDragMouseEvent e) { - // TODO: What should be done here, if anything? + // Nothing to do here yet. } /** @@ -1122,13 +1121,14 @@ public class BasicMenuItemUI extends MenuItemUI */ public void menuDragMouseReleased(MenuDragMouseEvent e) { - MenuElement[] path = e.getPath(); - - if (path[path.length - 1] instanceof JMenuItem) - ((JMenuItem) path[path.length - 1]).doClick(); - - MenuSelectionManager manager = MenuSelectionManager.defaultManager(); - manager.clearSelectedPath(); + MenuSelectionManager manager = e.getMenuSelectionManager(); + int x = e.getX(); + int y = e.getY(); + if (x >= 0 && x < menuItem.getWidth() && y >= 0 + && y < menuItem.getHeight()) + doClick(manager); + else + manager.clearSelectedPath(); } } |