summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets
diff options
context:
space:
mode:
authorCarolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>2012-03-08 15:39:17 -0500
committerCarolyn MacLeod <Carolyn_MacLeod@ca.ibm.com>2012-03-10 16:42:11 -0500
commit6b083490c307e06e3dbe89efcb32f0c23cd5e466 (patch)
treef3c3255cc8efb495027b333a2b1cd342f68c24a4 /bundles/org.eclipse.swt/Eclipse SWT Custom Widgets
parent22c98fa42a51e9ecf55469a432543ede877d4e8d (diff)
downloadeclipse.platform.swt-6b083490c307e06e3dbe89efcb32f0c23cd5e466.tar.gz
eclipse.platform.swt-6b083490c307e06e3dbe89efcb32f0c23cd5e466.tar.xz
eclipse.platform.swt-6b083490c307e06e3dbe89efcb32f0c23cd5e466.zip
Initial bug110005 work (Windows)
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Custom Widgets')
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java
index 75de2c0edb..e1a337e42c 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT Custom Widgets/common/org/eclipse/swt/custom/StyledText.java
@@ -5628,6 +5628,7 @@ void installListeners() {
case SWT.Dispose: handleDispose(event); break;
case SWT.KeyDown: handleKeyDown(event); break;
case SWT.KeyUp: handleKeyUp(event); break;
+ case SWT.MenuDetect: handleMenuDetect(event); break;
case SWT.MouseDown: handleMouseDown(event); break;
case SWT.MouseUp: handleMouseUp(event); break;
case SWT.MouseMove: handleMouseMove(event); break;
@@ -5640,6 +5641,7 @@ void installListeners() {
addListener(SWT.Dispose, listener);
addListener(SWT.KeyDown, listener);
addListener(SWT.KeyUp, listener);
+ addListener(SWT.MenuDetect, listener);
addListener(SWT.MouseDown, listener);
addListener(SWT.MouseUp, listener);
addListener(SWT.MouseMove, listener);
@@ -5960,6 +5962,20 @@ void handleKeyUp(Event event) {
newOrientation = SWT.NONE;
}
}
+/**
+ * Update the event location for focus-based context menu triggers.
+ *
+ * @param event menu detect event
+ */
+void handleMenuDetect(Event event) {
+ if (event.detail == SWT.CONTEXT_FOCUS) {
+ Point point = getPointAtOffset(caretOffset);
+ Display display = getDisplay();
+ point = display.map(this, null, point);
+ event.x = point.x;
+ event.y = point.y;
+ }
+}
/**
* Updates the caret location and selection if mouse button 1 has been
* pressed.