public void getState(AccessibleControlEvent e) { int state = ACC.STATE_NORMAL | ACC.STATE_FOCUSABLE | ACC.STATE_SELECTABLE; AccessibleTableEvent event = new AccessibleTableEvent(this); for (int i = 0; i < tableAccessible.accessibleTableListeners.size(); i++) { AccessibleTableListener listener = (AccessibleTableListener)tableAccessible.accessibleTableListeners.elementAt(i); listener.getSelectedRows(event); } if (event.selected != null) { int[] selected = (int[])event.selected; for (int i = 0; i < selected.length; i++) { if (selected[i] == tableAccessible.index) { state |= ACC.STATE_SELECTED; break; } } } NSNumber focusedObject = (NSNumber)tableAccessible.getFocusedAttribute(ACC.CHILDID_SELF); if (focusedObject.boolValue()) { state |= ACC.STATE_FOCUSED; } e.detail = state; } });
id getSelectedRowsAttribute(int childID) { if (accessibleTableListenersSize() == 0) return null; id returnValue = null; AccessibleTableEvent event = new AccessibleTableEvent(this); for (int i = 0; i < accessibleTableListenersSize(); i++) { AccessibleTableListener listener = (AccessibleTableListener)accessibleTableListeners.elementAt(i); listener.getSelectedRows(event); } if (event.selected != null) { int[] selected = (int[])event.selected; NSMutableArray array = NSMutableArray.arrayWithCapacity(selected.length); for (int i = 0; i < selected.length; i++) { event.row = selected[i]; for (int j = 0; j < accessibleTableListenersSize(); j++) { AccessibleTableListener listener = (AccessibleTableListener)accessibleTableListeners.elementAt(j); listener.getRow(event); } if (event.accessible != null) array.addObject(event.accessible.delegate); } returnValue = array; } return returnValue == null ? NSArray.array() : returnValue; }
int get_selectedRows(int /*long*/ ppSelectedRows, int /*long*/ pNRows) { AccessibleTableEvent event = new AccessibleTableEvent(this); for (int i = 0; i < accessibleTableListenersSize(); i++) { AccessibleTableListener listener = accessibleTableListeners.get(i); listener.getSelectedRows(event); } int count = event.selected == null ? 0 : event.selected.length; if (DEBUG) print(this + ".IAccessibleTable2::get_selectedRows() returning " + (count == 0 ? "null" : "selected[" + count + "]")); if (count == 0) { COM.MoveMemory(ppSelectedRows, new int /*long*/[] { 0 }, OS.PTR_SIZEOF); COM.MoveMemory(pNRows, new int [] { 0 }, 4); return COM.S_FALSE; } int /*long*/ pv = COM.CoTaskMemAlloc(count * 4); COM.MoveMemory(pv, event.selected, count * 4); COM.MoveMemory(ppSelectedRows, new int /*long*/ [] { pv }, OS.PTR_SIZEOF); COM.MoveMemory(pNRows, new int [] { count }, 4); return COM.S_OK; }
static int /*long*/ atkTable_get_selected_rows (int /*long*/ atkObject, int /*long*/ selected) { if (DEBUG) print ("-->atkTable_get_selected_rows"); AccessibleObject object = getAccessibleObject (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); for (int i = 0; i < length; i++) { AccessibleTableListener listener = listeners.get(i); listener.getSelectedRows(event); } int count = event.selected != null ? event.selected.length : 0; int /*long*/ result = OS.g_malloc(count * 4); if (event.selected != null) OS.memmove(result, event.selected, count * 4); if (selected != 0) OS.memmove(selected, new int /*long*/[]{result}, C.PTR_SIZEOF); return count; } } int /*long*/ parentResult = 0; AtkTableIface iface = getTableIface (atkObject); if (iface != null && iface.get_selected_rows != 0) { parentResult = ATK.call (iface.get_selected_rows, atkObject, selected); } return parentResult; }
static long /*int*/ atkTable_get_selected_rows (long /*int*/ atkObject, long /*int*/ selected) { if (DEBUG) print ("-->atkTable_get_selected_rows"); AccessibleObject object = getAccessibleObject (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); for (int i = 0; i < length; i++) { AccessibleTableListener listener = listeners.get(i); listener.getSelectedRows(event); } int count = event.selected != null ? event.selected.length : 0; long /*int*/ result = OS.g_malloc(count * 4); if (event.selected != null) OS.memmove(result, event.selected, count * 4); if (selected != 0) OS.memmove(selected, new long /*int*/[]{result}, C.PTR_SIZEOF); return count; } } long /*int*/ parentResult = 0; AtkTableIface iface = getTableIface (atkObject); if (iface != null && iface.get_selected_rows != 0) { parentResult = ATK.call (iface.get_selected_rows, atkObject, selected); } return parentResult; }
static int /*long*/ atkTable_get_selected_rows (int /*long*/ atkObject, int /*long*/ selected) { if (DEBUG) print ("-->atkTable_get_selected_rows"); AccessibleObject object = getAccessibleObject (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); for (int i = 0; i < length; i++) { AccessibleTableListener listener = listeners.get(i); listener.getSelectedRows(event); } int count = event.selected != null ? event.selected.length : 0; int /*long*/ result = OS.g_malloc(count * 4); if (event.selected != null) OS.memmove(result, event.selected, count * 4); if (selected != 0) OS.memmove(selected, new int /*long*/[]{result}, C.PTR_SIZEOF); return count; } } int /*long*/ parentResult = 0; AtkTableIface iface = getTableIface (atkObject); if (iface != null && iface.get_selected_rows != 0) { parentResult = ATK.call (iface.get_selected_rows, atkObject, selected); } return parentResult; }