diff options
author | Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com> | 2013-04-05 11:48:55 -0400 |
---|---|---|
committer | Carolyn MacLeod <Carolyn_MacLeod@ca.ibm.com> | 2013-04-05 11:49:16 -0400 |
commit | 975e98f6ef680ed917c7d22fde80e918d5bef60e (patch) | |
tree | b746e652b62b194129b4c4793b2e172d480331bf | |
parent | 883033cc7b617766f9502918d65429670572d928 (diff) | |
download | eclipse.platform.swt-975e98f6ef680ed917c7d22fde80e918d5bef60e.tar.gz eclipse.platform.swt-975e98f6ef680ed917c7d22fde80e918d5bef60e.tar.xz eclipse.platform.swt-975e98f6ef680ed917c7d22fde80e918d5bef60e.zip |
Bug 376011 - [accessibility] Eclipse 4.2 tab traversal needs refining
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java | 2 | ||||
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java index f7dabc4579..946473f8df 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Control.java @@ -3382,7 +3382,7 @@ boolean sendMouseEvent (NSEvent nsEvent, int type, boolean send) { } else { postEvent (type, event); } - if (shell != null) shell.setActiveControl(this); + if (shell != null) shell.setActiveControl(this, SWT.MouseDown); return event.doit; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java index 6582d65fbf..444b13e9c3 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/cocoa/org/eclipse/swt/widgets/Shell.java @@ -1535,6 +1535,10 @@ public void setActive () { } void setActiveControl (Control control) { + setActiveControl (control, SWT.None); +} + +void setActiveControl (Control control, int type) { if (control != null && control.isDisposed ()) control = null; if (lastActive != null && lastActive.isDisposed ()) lastActive = null; if (lastActive == control) return; @@ -1566,7 +1570,9 @@ void setActiveControl (Control control) { } for (int i=activate.length-1; i>=index; --i) { if (!activate [i].isDisposed ()) { - activate [i].sendEvent (SWT.Activate); + Event event = new Event (); + event.detail = type; + activate [i].sendEvent (SWT.Activate, event); } } } |