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-04 22:10:25 +0000
committerSilenio Quarti <silenio>2010-03-04 22:10:25 +0000
commit0544ffbaf949c05028b91361d0bf926a7e149162 (patch)
tree5357fb28db4d1c7889af26d4d663e8fe6bb6e46d /bundles/org.eclipse.swt/Eclipse SWT Accessibility/gtk/org/eclipse/swt/accessibility/AccessibleObject.java
parente035b05d2d4596f4d188bcb320a38d62c37de2e2 (diff)
downloadeclipse.platform.swt-0544ffbaf949c05028b91361d0bf926a7e149162.tar.gz
eclipse.platform.swt-0544ffbaf949c05028b91361d0bf926a7e149162.tar.xz
eclipse.platform.swt-0544ffbaf949c05028b91361d0bf926a7e149162.zip
CHILDID_INDEX_AT_PARENT
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.java35
1 files changed, 24 insertions, 11 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 58a9078f6c..e243514189 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
@@ -263,7 +263,7 @@ class AccessibleObject {
OS.memmove (parentY, y, 4);
OS.memmove (parentWidth, width, 4);
OS.memmove (parentHeight, height, 4);
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.x = parentX [0]; event.y = parentY [0];
event.width = parentWidth [0]; event.height = parentHeight [0];
@@ -308,7 +308,7 @@ class AccessibleObject {
int[] parentX = new int [1], parentY = new int [1];
OS.memmove (parentX, x, 4);
OS.memmove (parentY, y, 4);
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.x = parentX [0]; event.y = parentY [0];
int[] topWindowX = new int [1], topWindowY = new int [1];
@@ -349,7 +349,7 @@ class AccessibleObject {
int[] parentWidth = new int [1], parentHeight = new int [1];
OS.memmove (parentWidth, width, 4);
OS.memmove (parentHeight, height, 4);
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.width = parentWidth [0]; event.height = parentHeight [0];
for (int i = 0; i < length; i++) {
@@ -371,7 +371,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleControlListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.x = (int)/*64*/x; event.y = (int)/*64*/y;
int[] topWindowX = new int [1], topWindowY = new int [1];
@@ -504,7 +504,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleEvent event = new AccessibleEvent (object.accessible);
+ AccessibleEvent event = new AccessibleEvent (accessible);
event.childID = object.id;
if (parentResult != 0) event.result = getString (parentResult);
for (int i = 0; i < length; i++) {
@@ -533,7 +533,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleEvent event = new AccessibleEvent (object.accessible);
+ AccessibleEvent event = new AccessibleEvent (accessible);
event.childID = object.id;
if (parentResult != 0) event.result = getString (parentResult);
for (int i = 0; i < length; i++) {
@@ -562,7 +562,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleControlListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.detail = (int)/*64*/parentResult;
for (int i = 0; i < length; i++) {
@@ -580,6 +580,19 @@ class AccessibleObject {
if (DEBUG) print ("-->atkObject_get_index_in_parent: " + atkObject);
AccessibleObject object = getAccessibleObject (atkObject);
if (object != null) {
+ Accessible accessible = object.accessible;
+ Vector listeners = accessible.accessibleControlListeners;
+ AccessibleControlEvent event = new AccessibleControlEvent(accessible);
+ event.childID = ACC.CHILDID_CHILD_INDEX;
+ event.detail = -1;
+ for (int i = 0; i < listeners.size(); i++) {
+ AccessibleControlListener listener = (AccessibleControlListener) listeners.elementAt(i);
+ listener.getChild(event);
+ }
+ if (event.detail != -1) {
+ if (DEBUG) print ("---> " + object.index);
+ return event.detail;
+ }
if (object.index != -1) {
if (DEBUG) print ("---> " + object.index);
return object.index;
@@ -616,7 +629,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleControlListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.detail = -1;
for (int i = 0; i < length; i++) {
@@ -713,7 +726,7 @@ class AccessibleObject {
int length = listeners.size();
if (length > 0) {
int /*long*/ set = parentResult;
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
event.detail = -1;
for (int i = 0; i < length; i++) {
@@ -768,7 +781,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleControlListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
for (int i = 0; i < length; i++) {
AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);
@@ -797,7 +810,7 @@ class AccessibleObject {
Vector listeners = accessible.accessibleControlListeners;
int length = listeners.size();
if (length > 0) {
- AccessibleControlEvent event = new AccessibleControlEvent (object.accessible);
+ AccessibleControlEvent event = new AccessibleControlEvent (accessible);
event.childID = object.id;
for (int i = 0; i < length; i++) {
AccessibleControlListener listener = (AccessibleControlListener)listeners.elementAt (i);