int scrollSubstringToPoint(int startIndex, int endIndex, int coordinateType, int x, int y) { if (DEBUG) print(this + ".IAccessibleText::scrollSubstringToPoint"); AccessibleTextEvent event = new AccessibleTextEvent(this); event.start = startIndex; event.end = endIndex; event.type = ACC.SCROLL_TYPE_POINT; event.x = x; event.y = y; for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = accessibleTextExtendedListeners.get(i); listener.scrollText(event); } if (event.result == null || !event.result.equals(ACC.OK)) return COM.E_INVALIDARG; // TODO: @retval S_FALSE if the object is already at the specified location. return COM.S_OK; }
int scrollSubstringTo(int startIndex, int endIndex, int scrollType) { if (DEBUG) print(this + ".IAccessibleText::scrollSubstringTo"); AccessibleTextEvent event = new AccessibleTextEvent(this); event.start = startIndex; event.end = endIndex; switch (scrollType) { case COM.IA2_SCROLL_TYPE_TOP_LEFT: event.type = ACC.SCROLL_TYPE_TOP_LEFT; break; case COM.IA2_SCROLL_TYPE_BOTTOM_RIGHT: event.type = ACC.SCROLL_TYPE_BOTTOM_RIGHT; break; case COM.IA2_SCROLL_TYPE_TOP_EDGE: event.type = ACC.SCROLL_TYPE_TOP_EDGE; break; case COM.IA2_SCROLL_TYPE_BOTTOM_EDGE: event.type = ACC.SCROLL_TYPE_BOTTOM_EDGE; break; case COM.IA2_SCROLL_TYPE_LEFT_EDGE: event.type = ACC.SCROLL_TYPE_LEFT_EDGE; break; case COM.IA2_SCROLL_TYPE_RIGHT_EDGE: event.type = ACC.SCROLL_TYPE_RIGHT_EDGE; break; case COM.IA2_SCROLL_TYPE_ANYWHERE: event.type = ACC.SCROLL_TYPE_ANYWHERE; break; } for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = accessibleTextExtendedListeners.get(i); listener.scrollText(event); } if (event.result == null || !event.result.equals(ACC.OK)) return COM.E_INVALIDARG; return COM.S_OK; }
void setVisibleCharacterRangeAttribute(id value, int childId) { NSRange newRange = new NSValue(value.id).rangeValue(); if (accessibleTextExtendedListenersSize() > 0) { AccessibleTextEvent event = new AccessibleTextEvent(this); event.type = ACC.SCROLL_TYPE_TOP_LEFT; event.start = (int)newRange.location; event.end = (int)(newRange.location + newRange.length); for (int i = 0; i < accessibleTextExtendedListenersSize(); i++) { AccessibleTextExtendedListener listener = (AccessibleTextExtendedListener) accessibleTextExtendedListeners.elementAt(i); listener.scrollText(event); } } }