for (int i = 0; i < length; i++) { AccessibleControlListener listener = listeners.get (i); listener.getChildren (event); for (int j = 0; j < length; j++) { AccessibleControlListener listener = listeners.get (j); listener.getChild (event);
for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getChildCount(event); listener.getChildren(event); for (int j = 0; j < accessibleControlListenersSize(); j++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(j); listener.getRole(event);
public void getLocation(AccessibleControlEvent e) { Accessible[] cells = AccessibleTableColumn.this.getColumnCells(); // Ask first row for position. AccessibleControlEvent event = new AccessibleControlEvent(this); event.childID = ACC.CHILDID_SELF; event.width = -1; Accessible child = cells[0]; for (int i = 0; i < child.accessibleControlListeners.size(); i++) { AccessibleControlListener listener = (AccessibleControlListener) child.accessibleControlListeners.elementAt(i); listener.getLocation(event); } // Ask all children for size. int height = 0; int width = 0; for (int j = 0; j < cells.length; j++) { NSValue sizeObj = (NSValue)cells[j].getSizeAttribute(ACC.CHILDID_SELF); NSSize size = sizeObj.sizeValue(); if (size.width > width) width = (int) size.width; height += size.height; } e.x = event.x; e.y = event.y; e.width = width; e.height = height; } public void getRole(AccessibleControlEvent e) {
int getCharacterCount() { AccessibleTextEvent event = new AccessibleTextEvent(this); event.count = -1; for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = accessibleTextExtendedListeners.get(i); listener.getCharacterCount(event); } if (event.count == -1) { AccessibleControlEvent e = new AccessibleControlEvent(this); e.childID = ACC.CHILDID_SELF; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = accessibleControlListeners.get(i); listener.getRole(e); listener.getValue(e); } // TODO: Consider passing the value through for other roles as well (i.e. combo, etc). Keep in sync with get_text. event.count = e.detail == ACC.ROLE_TEXT && e.result != null ? e.result.length() : 0; } return event.count; }
int getRole() { AccessibleControlEvent event = new AccessibleControlEvent(this); event.childID = ACC.CHILDID_SELF; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = accessibleControlListeners.get(i); listener.getRole(event); } return event.detail; }
listener.getRole(event); listener.getValue(event); for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getSelection(ace);
id getVisibleCharacterRangeAttribute (int childID) { NSRange range = null; if (accessibleTextExtendedListenersSize() > 0) { AccessibleTextEvent event = new AccessibleTextEvent(this); event.childID = childID; for (int i=0; i<accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) accessibleTextExtendedListeners.elementAt(i); listener.getVisibleRanges(event); } range = new NSRange(); range.location = event.start; range.length = event.end - event.start; } else if (accessibleControlListenersSize() > 0) { AccessibleControlEvent event = new AccessibleControlEvent(this); event.childID = childID; event.result = null; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getValue(event); } if (event.result != null) { range = new NSRange(); range.location = 0; range.length = event.result.length(); } } return (range != null) ? NSValue.valueWithRange(range) : null; }
static int /*long*/ atkSelection_is_child_selected (int /*long*/ atkObject, int /*long*/ index) { if (DEBUG) print ("-->atkSelection_is_child_selected"); AccessibleObject object = getAccessibleObject (atkObject); int /*long*/ parentResult = 0; AtkSelectionIface iface = getSelectionIface (atkObject); if (iface != null && iface.is_child_selected != 0) { parentResult = ATK.call (iface.is_child_selected, atkObject, index); } if (object != null) { Accessible accessible = object.accessible; List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { AccessibleControlEvent event = new AccessibleControlEvent (accessible); event.childID = object.id; for (int i = 0; i < length; i++) { AccessibleControlListener listener = listeners.get (i); listener.getSelection (event); } Accessible result = event.accessible; AccessibleObject accessibleObject = result != null ? result.getAccessibleObject() : object.getChildByID (event.childID); if (accessibleObject != null) { return accessibleObject.index == index ? 1 : 0; } } } return parentResult; }
for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getChildCount(event); for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getChildren(event);
id getEnabledAttribute (int childID) { AccessibleControlEvent event = new AccessibleControlEvent(this); event.detail = ACC.STATE_NORMAL; event.childID = childID; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getState(event); } boolean enabled = (event.detail & ACC.STATE_DISABLED) == 0; if (!enabled && delegate == null) enabled = control.isEnabled(); return NSNumber.numberWithBool(enabled); }
public void getChildren(AccessibleControlEvent e) { int validColumnCount = Math.max (1, parent.getColumnCount()); Accessible[] children = new Accessible[validColumnCount]; AccessibleControlEvent event = new AccessibleControlEvent(this); for (int i = 0; i < validColumnCount; i++) { event.childID = i; event.detail = ACC.CHILDID_CHILD_AT_INDEX; for (int j = 0; j < parent.accessibleControlListeners.size(); j++) { AccessibleControlListener listener = (AccessibleControlListener) parent.accessibleControlListeners.elementAt(j); listener.getChild(event); } event.accessible.parent = AccessibleTableHeader.this; children[i] = event.accessible; } e.children = children; } public void getChildCount(AccessibleControlEvent e) {
int get_accChildCount(int /*long*/ pcountChildren) { int osChildCount = 0; if (iaccessible != null) { /* Get the default child count from the OS. */ int code = iaccessible.get_accChildCount(pcountChildren); if (code == COM.S_OK) { int[] pChildCount = new int[1]; COM.MoveMemory(pChildCount, pcountChildren, 4); osChildCount = pChildCount[0]; } if (accessibleControlListenersSize() == 0) { if (DEBUG) print(this + ".IAccessible::get_accChildCount() returning " + osChildCount + " from super" + hresult(code)); return code; } } AccessibleControlEvent event = new AccessibleControlEvent(this); event.childID = ACC.CHILDID_SELF; event.detail = osChildCount; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = accessibleControlListeners.get(i); listener.getChildCount(event); } if (DEBUG) print(this + ".IAccessible::get_accChildCount() returning " + event.detail + hresult(COM.S_OK)); COM.MoveMemory(pcountChildren, new int[] { event.detail }, 4); return COM.S_OK; }
for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = accessibleControlListeners.get(i); listener.getDefaultAction(event);
for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = accessibleControlListeners.get(i); listener.getChildren(event);
NSString getRoleAttribute(int childID) { NSString returnValue = null; AccessibleControlEvent event = new AccessibleControlEvent(this); event.childID = childID; event.detail = -1; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getRole(event); } if (event.detail != -1) { String appRole = roleToOs (event.detail); int index = appRole.indexOf(':'); if (index != -1) appRole = appRole.substring(0, index); returnValue = NSString.stringWith(appRole); } return returnValue; }
id getNumberOfCharactersAttribute (int childID) { id returnValue = null; AccessibleTextEvent event = new AccessibleTextEvent(this); event.count = -1; for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) accessibleTextExtendedListeners.elementAt(i); listener.getCharacterCount(event); } if (event.count != -1) { AccessibleControlEvent e = new AccessibleControlEvent(this); e.childID = ACC.CHILDID_SELF; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = (AccessibleControlListener) accessibleControlListeners.elementAt(i); listener.getRole(e); listener.getValue(e); } // TODO: Consider passing the value through for other roles as well (i.e. combo, etc). Keep in sync with get_text. event.count = e.detail == ACC.ROLE_TEXT && e.result != null ? e.result.length() : 0; returnValue = NSNumber.numberWithInt(event.count); } return returnValue; }
String getText () { List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { String parentText = ""; //$NON-NLS-1$ AtkTextIface iface = getTextIface (handle); if (iface != null && iface.get_character_count != 0) { long /*int*/ characterCount = ATK.call (iface.get_character_count, handle); if (characterCount > 0 && iface.get_text != 0) { long /*int*/ parentResult = ATK.call (iface.get_text, handle, 0, characterCount); if (parentResult != 0) { parentText = getString (parentResult); OS.g_free(parentResult); } } } AccessibleControlEvent event = new AccessibleControlEvent (accessible); event.childID = id; event.result = parentText; for (int i = 0; i < length; i++) { AccessibleControlListener listener = listeners.get (i); listener.getValue (event); } return event.result; } return null; }
static long /*int*/ atkSelection_is_child_selected (long /*int*/ atkObject, long /*int*/ index) { if (DEBUG) print ("-->atkSelection_is_child_selected"); AccessibleObject object = getAccessibleObject (atkObject); long /*int*/ parentResult = 0; AtkSelectionIface iface = getSelectionIface (atkObject); if (iface != null && iface.is_child_selected != 0) { parentResult = ATK.call (iface.is_child_selected, atkObject, index); } if (object != null) { Accessible accessible = object.accessible; List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { AccessibleControlEvent event = new AccessibleControlEvent (accessible); event.childID = object.id; for (int i = 0; i < length; i++) { AccessibleControlListener listener = listeners.get (i); listener.getSelection (event); } Accessible result = event.accessible; AccessibleObject accessibleObject = result != null ? result.getAccessibleObject() : object.getChildByID (event.childID); if (accessibleObject != null) { return accessibleObject.index == index ? 1 : 0; } } } return parentResult; }
int get_states(int /*long*/ pStates) { AccessibleControlEvent event = new AccessibleControlEvent(this); event.childID = ACC.CHILDID_SELF; for (int i = 0; i < accessibleControlListenersSize(); i++) { AccessibleControlListener listener = accessibleControlListeners.get(i); listener.getState(event); } int states = event.detail; int ia2States = 0; if ((states & ACC.STATE_ACTIVE) != 0) ia2States |= COM.IA2_STATE_ACTIVE; if ((states & ACC.STATE_SINGLELINE) != 0) ia2States |= COM.IA2_STATE_SINGLE_LINE; if ((states & ACC.STATE_MULTILINE) != 0) ia2States |= COM.IA2_STATE_MULTI_LINE; if ((states & ACC.STATE_REQUIRED) != 0) ia2States |= COM.IA2_STATE_REQUIRED; if ((states & ACC.STATE_INVALID_ENTRY) != 0) ia2States |= COM.IA2_STATE_INVALID_ENTRY; if ((states & ACC.STATE_SUPPORTS_AUTOCOMPLETION) != 0) ia2States |= COM.IA2_STATE_SUPPORTS_AUTOCOMPLETION; /* If the role is text and there are TextExtendedListeners, then set IA2_STATE_EDITABLE. * Note that IA2_STATE_EDITABLE is not the opposite of STATE_READONLY. * Instead, it means: "has a caret, supports IAccessibleText, and is a text editing environment". */ if (getRole() == ACC.ROLE_TEXT && accessibleTextExtendedListenersSize() > 0) { ia2States |= COM.IA2_STATE_EDITABLE; } if (DEBUG) print(this + ".IAccessible2::get_states returning" + getIA2StatesString(ia2States) + hresult(COM.S_OK)); COM.MoveMemory(pStates, new int [] { ia2States }, 4); return COM.S_OK; }