diff options
author | Silenio Quarti <silenio> | 2010-03-08 18:15:11 +0000 |
---|---|---|
committer | Silenio Quarti <silenio> | 2010-03-08 18:15:11 +0000 |
commit | ad01c128726baa60f2941a7ca2694366e486fcac (patch) | |
tree | 6e798621680fe9084d226d596b271a3b2d28a000 /bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java | |
parent | aef40797195cb5e2b3bf6818f1b0fa0d190030aa (diff) | |
download | eclipse.platform.swt-ad01c128726baa60f2941a7ca2694366e486fcac.tar.gz eclipse.platform.swt-ad01c128726baa60f2941a7ca2694366e486fcac.tar.xz eclipse.platform.swt-ad01c128726baa60f2941a7ca2694366e486fcac.zip |
sending CHILD_AT_INDEX event
Diffstat (limited to 'bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java')
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java index 77e15172bd..5193e8c680 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java +++ b/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java @@ -705,6 +705,24 @@ class AccessibleObject { if (DEBUG) print ("-->atkObject_ref_child: " + index + " of: " + atkObject); AccessibleObject object = getAccessibleObject (atkObject); if (object != null && object.id == ACC.CHILDID_SELF) { + Accessible accessible = object.accessible; + Vector listeners = accessible.accessibleControlListeners; + int length = listeners.size(); + if (length > 0) { + AccessibleControlEvent event = new AccessibleControlEvent(accessible); + event.childID = ACC.CHILDID_CHILD_AT_INDEX; + event.detail = (int)/*64*/index; + for (int i = 0; i < length; i++) { + AccessibleControlListener listener = (AccessibleControlListener) listeners.elementAt(i); + listener.getChild(event); + } + if (event.accessible != null) { + AccessibleObject accObject = event.accessible.getAccessibleObject(); + if (accObject != null) { + return OS.g_object_ref (accObject.handle); + } + } + } object.updateChildren (); AccessibleObject accObject = object.getChildByIndex ((int)/*64*/index); if (accObject != null) { |