summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java57
1 files changed, 55 insertions, 2 deletions
diff --git a/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java b/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java
index d8b204cfd76c..1fc23e5f4055 100644
--- a/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java
+++ b/platform/platform-impl/src/com/intellij/ui/AbstractExpandableItemsHandler.java
@@ -54,7 +54,7 @@ public abstract class AbstractExpandableItemsHandler<KeyType, ComponentType exte
myTipComponent = new TipComponent();
- myTipComponent.addMouseListener(new MouseAdapter() {
+ MouseAdapter tipMouseAdapter = new MouseAdapter() {
@Override
public void mouseExited(MouseEvent e) {
// don't hide the hint if mouse exited to myComponent
@@ -62,7 +62,60 @@ public abstract class AbstractExpandableItemsHandler<KeyType, ComponentType exte
hideHint();
}
}
- });
+
+ @Override
+ public void mouseWheelMoved(MouseWheelEvent e) {
+ Point p = e.getLocationOnScreen();
+ SwingUtilities.convertPointFromScreen(p, myComponent);
+ myComponent.dispatchEvent(new MouseWheelEvent(myComponent,
+ e.getID(),
+ e.getWhen(),
+ e.getModifiers(),
+ p.x, p.y,
+ e.getClickCount(),
+ e.isPopupTrigger(),
+ e.getScrollType(),
+ e.getScrollAmount(),
+ e.getWheelRotation()));
+ }
+
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ Point p = e.getLocationOnScreen();
+ SwingUtilities.convertPointFromScreen(p, myComponent);
+ myComponent.dispatchEvent(new MouseEvent(myComponent,
+ e.getID(),
+ e.getWhen(),
+ e.getModifiers(),
+ p.x, p.y,
+ e.getClickCount(),
+ e.isPopupTrigger(),
+ e.getButton()));
+ }
+
+ @Override
+ public void mousePressed(MouseEvent e) {
+ mouseClicked(e);
+ }
+
+ @Override
+ public void mouseReleased(MouseEvent e) {
+ mouseClicked(e);
+ }
+
+ @Override
+ public void mouseMoved(MouseEvent e) {
+ mouseClicked(e);
+ }
+
+ @Override
+ public void mouseDragged(MouseEvent e) {
+ mouseClicked(e);
+ }
+ };
+ myTipComponent.addMouseListener(tipMouseAdapter);
+ myTipComponent.addMouseWheelListener(tipMouseAdapter);
+ myTipComponent.addMouseMotionListener(tipMouseAdapter);
myComponent.addMouseListener(
new MouseListener() {