void addRelations () { if (relations == null) return; if (accessibleObject == null) return; for (int i = 0; i < relations.size(); i++) { Relation relation = relations.get(i); accessibleObject.addRelation(relation.type, relation.target); } }
static long /*int*/ atkEditableText_set_text_contents (long /*int*/ atkObject, long /*int*/ string) { if (DEBUG) print ("-->atkEditableText_set_text_contents"); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleEditableTextListener> listeners = accessible.accessibleEditableTextListeners; int length = size(listeners); if (length > 0) { AccessibleEditableTextEvent event = new AccessibleEditableTextEvent(accessible); event.start = 0; String text = object.getText (); event.end = text == null ? 0 : text.length (); event.string = getString (string); for (int i = 0; i < length; i++) { AccessibleEditableTextListener listener = listeners.get(i); listener.replaceText(event); } return ACC.OK.equals(event.result) ? 1 : 0; } } long /*int*/ parentResult = 0; AtkEditableTextIface iface = getEditableTextIface (atkObject); if (iface != null && iface.set_text_contents != 0) { parentResult = ATK.call (iface.set_text_contents, atkObject, string); } return parentResult; }
static long /*int*/ atkAction_get_n_actions (long /*int*/ atkObject) { if (DEBUG) print ("-->atkAction_get_n_actions"); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleActionListener> listeners = accessible.accessibleActionListeners; int length = size(listeners); if (length > 0) { AccessibleActionEvent event = new AccessibleActionEvent(accessible); for (int i = 0; i < length; i++) { AccessibleActionListener listener = listeners.get(i); listener.getActionCount(event); } return event.count; } } long /*int*/ parentResult = 0; AtkActionIface iface = getActionIface (atkObject); if (iface != null && iface.get_n_actions != 0) { parentResult = ATK.call (iface.get_n_actions, atkObject); } return parentResult; }
void sendEvent(int event, Object eventData, int childID) { updateChildren (); AccessibleObject accObject = getChildByID (childID); if (accObject != null) { accObject.sendEvent(event, eventData); } }
static int /*long*/ atkObject_get_parent (int /*long*/ atkObject) { if (DEBUG) print ("-->atkObject_get_parent: " + atkObject); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { if (object.parent != null) { if (DEBUG) print ("---> " + object.parent.accessible.accessibleObject.handle); return object.parent.handle; } } AtkObjectClass objectClass = getObjectClass (atkObject); if (objectClass.get_parent == 0) return 0; int /*long*/ parentResult = ATK.call (objectClass.get_parent, atkObject); if (DEBUG) print ("---> " + parentResult); return parentResult; }
static long /*int*/ atkValue_get_maximum_value (long /*int*/ atkObject, long /*int*/ value) { if (DEBUG) print ("-->atkValue_get_maximum_value"); AccessibleObject object = getAccessibleObject (atkObject); AtkValueIface iface = getValueIface (atkObject); if (iface != null && iface.get_maximum_value != 0) { ATK.call (iface.get_maximum_value, atkObject, value); } if (object != null) { Accessible accessible = object.accessible; List<AccessibleValueListener> listeners = accessible.accessibleValueListeners; int length = size(listeners); if (length > 0) { AccessibleValueEvent event = new AccessibleValueEvent(accessible); event.value = getGValue(value); for (int i = 0; i < length; i++) { AccessibleValueListener listener = listeners.get(i); listener.getMaximumValue(event); } setGValue(value, event.value); } } return 0; }
static long /*int*/ atkText_get_text_after_offset (long /*int*/ atkObject, long /*int*/ offset_value, long /*int*/ boundary_type, long /*int*/ start_offset, long /*int*/ end_offset) { if (DEBUG) print ("-->atkText_get_text_after_offset"); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleTextExtendedListener> listeners = accessible.accessibleTextExtendedListeners; int length = size(listeners); if (length > 0) { long /*int*/ charCount = atkText_get_character_count (atkObject); AccessibleTextEvent event = new AccessibleTextEvent(accessible); event.start = event.end = (int)/*64*/offset_value; return getStringPtr (event.result); String text = object.getText (); if (text != null && text.length () > 0) { length = text.length (); int wordStart1 = nextIndexOfChar (text, " !?.\n", offset - 1); if (wordStart1 == -1) { startBounds = endBounds = length; break; wordStart1 = nextIndexOfNotChar (text, " !?.\n", wordStart1); if (wordStart1 == length) { startBounds = endBounds = length; int wordStart2 = nextIndexOfChar (text, " !?.\n", wordStart1); if (wordStart2 == -1) { endBounds = length;
static long /*int*/ atkComponent_ref_accessible_at_point (long /*int*/ atkObject, long /*int*/ x, long /*int*/ y, long /*int*/ coord_type) { if (DEBUG) print ("-->atkComponent_ref_accessible_at_point: " + atkObject + " " + x + "," + y); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { AccessibleControlEvent event = new AccessibleControlEvent (accessible); int[] topWindowX = new int [1], topWindowY = new int [1]; if (coord_type == ATK.ATK_XY_WINDOW) { windowPoint (object, topWindowX, topWindowY); event.x += topWindowX [0]; event.y += topWindowY [0]; AccessibleObject accObj = result != null ? result.getAccessibleObject() : object.getChildByID (event.childID); if (accObj != null) { return OS.g_object_ref (accObj.handle); AtkComponentIface iface = getComponentIface (atkObject); if (iface != null && iface.ref_accessible_at_point != 0) { parentResult = ATK.call (iface.ref_accessible_at_point, atkObject, x, y, coord_type);
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; }
static int /*long*/ atkObject_ref_child (int /*long*/ atkObject, int /*long*/ index) { 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; List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { AccessibleControlEvent event = new AccessibleControlEvent(accessible); object.updateChildren (); AccessibleObject accObject = object.getChildByIndex ((int)/*64*/index); if (accObject != null) { return OS.g_object_ref (accObject.handle); AtkObjectClass objectClass = getObjectClass (atkObject); if (objectClass.ref_child == 0) return 0; return ATK.call (objectClass.ref_child, atkObject, index);
static long /*int*/ atkTable_get_n_columns (long /*int*/ atkObject) { if (DEBUG) print ("-->atkTable_get_n_columns"); AccessibleObject object = getAccessibleObject (atkObject); long /*int*/ parentResult = 0; AtkTableIface iface = getTableIface (atkObject); if (iface != null && iface.get_n_columns != 0) { parentResult = ATK.call (iface.get_n_columns, atkObject); } if (object != null) { Accessible accessible = object.accessible; List<AccessibleTableListener> listeners = accessible.accessibleTableListeners; int length = size(listeners); if (length > 0) { AccessibleTableEvent event = new AccessibleTableEvent(accessible); event.count = (int)/*64*/parentResult; for (int i = 0; i < length; i++) { AccessibleTableListener listener = listeners.get(i); listener.getColumnCount(event); parentResult = event.count; } } } return parentResult; }
static int /*long*/ atkHypertext_get_n_links (int /*long*/ atkObject) { if (DEBUG) print ("-->atkHypertext_get_n_links"); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleTextExtendedListener> listeners = accessible.accessibleTextExtendedListeners; int length = size(listeners); if (length > 0) { AccessibleTextEvent event = new AccessibleTextEvent(accessible); for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.getHyperlinkCount(event); } return event.count; } } int /*long*/ parentResult = 0; AtkHypertextIface iface = getHypertextIface (atkObject); if (iface != null && iface.get_n_links != 0) { parentResult = ATK.call (iface.get_n_links, atkObject); } return parentResult; }
static int /*long*/ atkText_set_caret_offset (int /*long*/ atkObject, int /*long*/ offset) { if (DEBUG) print ("-->atkText_set_caret_offset"); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleTextExtendedListener> listeners = accessible.accessibleTextExtendedListeners; int length = size(listeners); if (length > 0) { AccessibleTextEvent event = new AccessibleTextEvent(accessible); event.offset = (int)/*64*/offset; for (int i = 0; i < length; i++) { AccessibleTextExtendedListener listener = listeners.get(i); listener.setCaretOffset(event); } return ACC.OK.equals(event.result) ? 1 : 0; } } AtkTextIface iface = getTextIface (atkObject); if (iface != null && iface.set_caret_offset != 0) { return ATK.call (iface.set_caret_offset, atkObject, offset); } return 0; }
void setFocus (int childID) { updateChildren (); AccessibleObject accObject = getChildByID (childID); if (accObject != null) { OS.g_signal_emit_by_name (accObject.handle, ATK.focus_event, 1, 0); ATK.atk_object_notify_state_change(accObject.handle, ATK.ATK_STATE_FOCUSED, true); } }
static AccessibleObject createChildAccessible (Accessible accessible, int childId) { long /*int*/ childType = getType (CHILD_TYPENAME, accessible, ATK.GTK_TYPE_ACCESSIBLE(), childId); return new AccessibleObject(childType, 0, accessible, true); }
static long /*int*/ atkText_get_text_before_offset (long /*int*/ atkObject, long /*int*/ offset_value, long /*int*/ boundary_type, long /*int*/ start_offset, long /*int*/ end_offset) { if (DEBUG) print ("-->atkText_get_text_before_offset"); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleTextExtendedListener> listeners = accessible.accessibleTextExtendedListeners; int length = size(listeners); if (length > 0) { long /*int*/ charCount = atkText_get_character_count (atkObject); AccessibleTextEvent event = new AccessibleTextEvent(accessible); event.start = event.end = (int)/*64*/offset_value; return getStringPtr (event.result); String text = object.getText (); if (text != null && text.length () > 0) { length = text.length (); int wordStart1 = previousIndexOfChar (text, " !?.\n", offset - 1); if (wordStart1 == -1) { startBounds = endBounds = 0; break; int wordStart2 = previousIndexOfNotChar (text, " !?.\n", wordStart1); if (wordStart2 == -1) { startBounds = endBounds = 0; startBounds = previousIndexOfChar (text, " !?.\n", wordStart2) + 1; break;
static int /*long*/ atkComponent_ref_accessible_at_point (int /*long*/ atkObject, int /*long*/ x, int /*long*/ y, int /*long*/ coord_type) { if (DEBUG) print ("-->atkComponent_ref_accessible_at_point: " + atkObject + " " + x + "," + y); AccessibleObject object = getAccessibleObject (atkObject); if (object != null) { Accessible accessible = object.accessible; List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { AccessibleControlEvent event = new AccessibleControlEvent (accessible); int[] topWindowX = new int [1], topWindowY = new int [1]; if (coord_type == ATK.ATK_XY_WINDOW) { windowPoint (object, topWindowX, topWindowY); event.x += topWindowX [0]; event.y += topWindowY [0]; AccessibleObject accObj = result != null ? result.getAccessibleObject() : object.getChildByID (event.childID); if (accObj != null) { return OS.g_object_ref (accObj.handle); AtkComponentIface iface = getComponentIface (atkObject); if (iface != null && iface.ref_accessible_at_point != 0) { parentResult = ATK.call (iface.ref_accessible_at_point, atkObject, x, y, coord_type);
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; }
static long /*int*/ atkValue_get_minimum_value (long /*int*/ atkObject, long /*int*/ value) { if (DEBUG) print ("-->atkValue_get_minimum_value"); AccessibleObject object = getAccessibleObject (atkObject); AtkValueIface iface = getValueIface (atkObject); if (iface != null && iface.get_minimum_value != 0) { ATK.call (iface.get_minimum_value, atkObject, value); } if (object != null) { Accessible accessible = object.accessible; List<AccessibleValueListener> listeners = accessible.accessibleValueListeners; int length = size(listeners); if (length > 0) { AccessibleValueEvent event = new AccessibleValueEvent(accessible); event.value = getGValue(value); for (int i = 0; i < length; i++) { AccessibleValueListener listener = listeners.get(i); listener.getMinimumValue(event); } setGValue(value, event.value); } } return 0; }
static long /*int*/ atkObject_ref_child (long /*int*/ atkObject, long /*int*/ index) { 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; List<AccessibleControlListener> listeners = accessible.accessibleControlListeners; int length = size(listeners); if (length > 0) { AccessibleControlEvent event = new AccessibleControlEvent(accessible); object.updateChildren (); AccessibleObject accObject = object.getChildByIndex ((int)/*64*/index); if (accObject != null) { return OS.g_object_ref (accObject.handle); AtkObjectClass objectClass = getObjectClass (atkObject); if (objectClass.ref_child == 0) return 0; return ATK.call (objectClass.ref_child, atkObject, index);