summaryrefslogtreecommitdiffstats
path: root/bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
diff options
context:
space:
mode:
authorSilenio Quarti <silenio>2010-03-08 18:15:11 +0000
committerSilenio Quarti <silenio>2010-03-08 18:15:11 +0000
commitad01c128726baa60f2941a7ca2694366e486fcac (patch)
tree6e798621680fe9084d226d596b271a3b2d28a000 /bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
parentaef40797195cb5e2b3bf6818f1b0fa0d190030aa (diff)
downloadeclipse.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.java18
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) {