diff options
author | Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com> | 2012-03-08 15:39:17 -0500 |
---|---|---|
committer | Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com> | 2012-03-10 16:42:11 -0500 |
commit | 6b083490c307e06e3dbe89efcb32f0c23cd5e466 (patch) | |
tree | f3c3255cc8efb495027b333a2b1cd342f68c24a4 /bundles/org.eclipse.swt/Eclipse SWT Custom Widgets | |
parent | 22c98fa42a51e9ecf55469a432543ede877d4e8d (diff) | |
download | eclipse.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.java | 16 |
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. |