< prev index next >

src/jdk.accessibility/windows/classes/com/sun/java/accessibility/internal/AccessBridge.java

Print this page

        

*** 1455,1496 **** } debugString("[ERROR]: getAccessibleStatesStringFromContext; ac = null"); return null; } - private int getNonVisibleChildrenCountTillIndex(AccessibleContext parentAC, int index) { - if (parentAC != null && index >= 0 && index < parentAC.getAccessibleChildrenCount()) { - int nonVisibleChildrenCount = 0; - for (int i = 0; i <= index; i++) { - if (!parentAC.getAccessibleChild(i).getAccessibleContext().getAccessibleStateSet().contains(AccessibleState.VISIBLE)) { - nonVisibleChildrenCount++; - } - } - return nonVisibleChildrenCount; - } - return 0; - } - - private Accessible getVisibleChildAtIndex(AccessibleContext parentAC, int index) { - if (parentAC != null && index >= 0 && index < parentAC.getAccessibleChildrenCount()) { - int visibleIndex = -1; - int childrenCount = parentAC.getAccessibleChildrenCount(); - for (int i = 0; i <= childrenCount; i++) { - Accessible child = parentAC.getAccessibleChild(i); - if (child != null) { - AccessibleContext ac = child.getAccessibleContext(); - if (ac != null && ac.getAccessibleStateSet().contains(AccessibleState.VISIBLE)) { - visibleIndex++; - } - if (visibleIndex == index) { - return child; - } - } - } - } - return null; - } /** * returns the AccessibleParent from an AccessibleContext */ private AccessibleContext getAccessibleParentFromContext(final AccessibleContext ac) { if (ac==null) --- 1455,1464 ----
*** 1517,1532 **** if (ac==null) return -1; return InvocationUtils.invokeAndWait(new Callable<Integer>() { @Override public Integer call() throws Exception { ! int indexInParent = ac.getAccessibleIndexInParent(); ! Accessible parent = ac.getAccessibleParent(); ! if (parent != null) { ! indexInParent -= getNonVisibleChildrenCountTillIndex(parent.getAccessibleContext(), indexInParent); ! } ! return indexInParent; } }, ac); } /** --- 1485,1495 ---- if (ac==null) return -1; return InvocationUtils.invokeAndWait(new Callable<Integer>() { @Override public Integer call() throws Exception { ! return ac.getAccessibleIndexInParent(); } }, ac); } /**
*** 1536,1547 **** if (ac==null) return -1; return InvocationUtils.invokeAndWait(new Callable<Integer>() { @Override public Integer call() throws Exception { ! int childrenCount = ac.getAccessibleChildrenCount(); ! return childrenCount - getNonVisibleChildrenCountTillIndex(ac, childrenCount - 1); } }, ac); } /** --- 1499,1509 ---- if (ac==null) return -1; return InvocationUtils.invokeAndWait(new Callable<Integer>() { @Override public Integer call() throws Exception { ! return ac.getAccessibleChildrenCount(); } }, ac); } /**
*** 1573,1583 **** if (table == null) { return InvocationUtils.invokeAndWait(new Callable<AccessibleContext>() { @Override public AccessibleContext call() throws Exception { ! Accessible a = getVisibleChildAtIndex(ac, index); if (a != null) { return a.getAccessibleContext(); } return null; } --- 1535,1545 ---- if (table == null) { return InvocationUtils.invokeAndWait(new Callable<AccessibleContext>() { @Override public AccessibleContext call() throws Exception { ! Accessible a = ac.getAccessibleChild(index); if (a != null) { return a.getAccessibleContext(); } return null; }
*** 3553,3567 **** AccessibleRelationSet ars = ac.getAccessibleRelationSet(); if (ars != null) { AccessibleRelation[] relations = ars.toArray(); if (relations != null && i >= 0 && i < relations.length) { Object[] targets = relations[i].getTarget(); ! if (targets != null) { ! int targetCount = targets.length - ! getNonVisibleTargetCountTillIndex(targets, targets.length - 1); ! return targetCount; ! } } } } return -1; } --- 3515,3525 ---- AccessibleRelationSet ars = ac.getAccessibleRelationSet(); if (ars != null) { AccessibleRelation[] relations = ars.toArray(); if (relations != null && i >= 0 && i < relations.length) { Object[] targets = relations[i].getTarget(); ! return targets.length; } } } return -1; }
*** 3583,3593 **** if (ars != null) { AccessibleRelation[] relations = ars.toArray(); if (relations != null && i >= 0 && i < relations.length) { Object[] targets = relations[i].getTarget(); if (targets != null && j >= 0 & j < targets.length) { ! Object o = getVisibleTargetAtIndex(targets, j); if (o instanceof Accessible) { return ((Accessible) o).getAccessibleContext(); } } } --- 3541,3551 ---- if (ars != null) { AccessibleRelation[] relations = ars.toArray(); if (relations != null && i >= 0 && i < relations.length) { Object[] targets = relations[i].getTarget(); if (targets != null && j >= 0 & j < targets.length) { ! Object o = targets[j]; if (o instanceof Accessible) { return ((Accessible) o).getAccessibleContext(); } } }
*** 3596,3639 **** return null; } }, ac); } - private Object getVisibleTargetAtIndex(Object[] targets, int index) { - if (index >= 0 && index < targets.length) { - int visibleTargetIndex = -1; - for (int i = 0; i < targets.length; i++) { - if (targets[i] instanceof Accessible) { - AccessibleContext ac = ((Accessible) targets[i]).getAccessibleContext(); - if (ac != null && ac.getAccessibleStateSet().contains(AccessibleState.VISIBLE)) { - visibleTargetIndex++; - } - if (visibleTargetIndex == index) { - return targets[i]; - } - } - } - } - return null; - } - - private int getNonVisibleTargetCountTillIndex(Object[] targets, int index) { - if (index >= 0 && index < targets.length) { - int nonVisibleTargetsCount = 0; - for (int i = 0; i <= index; i++) { - if (targets[i] instanceof Accessible) { - AccessibleContext ac = ((Accessible) targets[i]).getAccessibleContext(); - if (ac != null && !ac.getAccessibleStateSet().contains(AccessibleState.VISIBLE)) { - nonVisibleTargetsCount++; - } - } - } - return nonVisibleTargetsCount; - } - return 0; - } - // ========= AccessibleHypertext ========= private Map<AccessibleHypertext, AccessibleContext> hyperTextContextMap = new WeakHashMap<>(); private Map<AccessibleHyperlink, AccessibleContext> hyperLinkContextMap = new WeakHashMap<>(); --- 3554,3563 ----
< prev index next >