diff options
author | Carolyn MacLeod | 2013-04-05 15:33:41 +0000 |
---|---|---|
committer | Carolyn MacLeod | 2013-04-09 14:57:06 +0000 |
commit | 7cabcdf56fba7bd161b65845f9b22f1fa36951a3 (patch) | |
tree | 45ea39779d2376efb81e4772ba1c2a6777545134 | |
parent | 5132565d6b8f90acb3108a87c0378737d4ca269e (diff) | |
download | eclipse.platform.swt-7cabcdf56fba7bd161b65845f9b22f1fa36951a3.tar.gz eclipse.platform.swt-7cabcdf56fba7bd161b65845f9b22f1fa36951a3.tar.xz eclipse.platform.swt-7cabcdf56fba7bd161b65845f9b22f1fa36951a3.zip |
Bug 376011 - [accessibility] Eclipse 4.2 tab traversal needs refining
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java | 2 | ||||
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java | 8 |
2 files changed, 8 insertions, 2 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java index 6cdacc9135..14a41ac7e0 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java @@ -2988,7 +2988,7 @@ long /*int*/ gtk_button_press_event (long /*int*/ widget, long /*int*/ event, bo result = sendMouseEvent (SWT.MouseDoubleClick, gdkEvent.button, display.clickCount, 0, false, gdkEvent.time, gdkEvent.x_root, gdkEvent.y_root, false, gdkEvent.state) ? 0 : 1; if (isDisposed ()) return 1; } - if (!shell.isDisposed ()) shell.setActiveControl (this); + if (!shell.isDisposed ()) shell.setActiveControl (this, SWT.MouseDown); return result; } diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java index 4a349ac379..6cd7da57ac 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Shell.java @@ -1635,6 +1635,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; @@ -1666,7 +1670,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); } } } |