1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?> 2cdf0e10cSrcweir<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="accessibility_XAccessibleContext" script:language="StarBasic"> 4cdf0e10cSrcweir 5cdf0e10cSrcweir 6cdf0e10cSrcweir'************************************************************************* 7cdf0e10cSrcweir' 8*3e6afcd2SAndrew Rist' Licensed to the Apache Software Foundation (ASF) under one 9*3e6afcd2SAndrew Rist' or more contributor license agreements. See the NOTICE file 10*3e6afcd2SAndrew Rist' distributed with this work for additional information 11*3e6afcd2SAndrew Rist' regarding copyright ownership. The ASF licenses this file 12*3e6afcd2SAndrew Rist' to you under the Apache License, Version 2.0 (the 13*3e6afcd2SAndrew Rist' "License"); you may not use this file except in compliance 14*3e6afcd2SAndrew Rist' with the License. You may obtain a copy of the License at 15*3e6afcd2SAndrew Rist' 16*3e6afcd2SAndrew Rist' http://www.apache.org/licenses/LICENSE-2.0 17*3e6afcd2SAndrew Rist' 18*3e6afcd2SAndrew Rist' Unless required by applicable law or agreed to in writing, 19*3e6afcd2SAndrew Rist' software distributed under the License is distributed on an 20*3e6afcd2SAndrew Rist' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21*3e6afcd2SAndrew Rist' KIND, either express or implied. See the License for the 22*3e6afcd2SAndrew Rist' specific language governing permissions and limitations 23*3e6afcd2SAndrew Rist' under the License. 24cdf0e10cSrcweir' 25cdf0e10cSrcweir'************************************************************************* 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29*3e6afcd2SAndrew Rist 30*3e6afcd2SAndrew Rist 31cdf0e10cSrcweir' Be sure that all variables are dimensioned: 32cdf0e10cSrcweiroption explicit 33cdf0e10cSrcweir 34cdf0e10cSrcweir 35cdf0e10cSrcweir 36cdf0e10cSrcweir 37cdf0e10cSrcweirSub RunTest() 38cdf0e10cSrcweir 39cdf0e10cSrcweir'************************************************************************* 40cdf0e10cSrcweir' INTERFACE: 41cdf0e10cSrcweir' com.sun.star.accessibility.XAccessibleContext 42cdf0e10cSrcweir'************************************************************************* 43cdf0e10cSrcweirOn Error Goto ErrHndl 44cdf0e10cSrcweir Dim bOK As Boolean 45cdf0e10cSrcweir Dim childCount As Long, i As Integer 46cdf0e10cSrcweir Dim oParent As Object 47cdf0e10cSrcweir 48cdf0e10cSrcweir Test.StartMethod("getAccessibleChildCount()") 49cdf0e10cSrcweir bOK = true 50cdf0e10cSrcweir childCount = oObj.getAccessibleChildCount() 51cdf0e10cSrcweir bOK = bOK AND (childCount > -1) 52cdf0e10cSrcweir Test.MethodTested("getAccessibleChildCount()",bOK) 53cdf0e10cSrcweir 54cdf0e10cSrcweir 55cdf0e10cSrcweir Test.StartMethod("getAccessibleChild()") 56cdf0e10cSrcweir Dim childContext As Object 57cdf0e10cSrcweir Dim mCount As Integer 58cdf0e10cSrcweir bOK = true 59cdf0e10cSrcweir i = 0 60cdf0e10cSrcweir if (childCount > 50) then 61cdf0e10cSrcweir mCount = 50 62cdf0e10cSrcweir else 63cdf0e10cSrcweir mCount = childCount 64cdf0e10cSrcweir End If 65cdf0e10cSrcweir while (i < mCount) 66cdf0e10cSrcweir childContext = oObj.getAccessibleChild(i).getAccessibleContext() 67cdf0e10cSrcweir Out.Log(" Child " + i + ": " + childContext.getAccessibleDescription()) 68cdf0e10cSrcweir bOK = bOK AND utils.at_equals(childContext.getAccessibleParent(), oObj) 69cdf0e10cSrcweir i = i + 1 70cdf0e10cSrcweir wend 71cdf0e10cSrcweir Test.MethodTested("getAccessibleChild()",bOK) 72cdf0e10cSrcweir 73cdf0e10cSrcweir 74cdf0e10cSrcweir Test.StartMethod("getAccessibleParent()") 75cdf0e10cSrcweir bOK = true 76cdf0e10cSrcweir oParent = oObj.getAccessibleParent() 77cdf0e10cSrcweir bOK = bOK AND NOT isNull(oParent) 78cdf0e10cSrcweir Test.MethodTested("getAccessibleParent()",bOK) 79cdf0e10cSrcweir 80cdf0e10cSrcweir 81cdf0e10cSrcweir Test.StartMethod("getAccessibleIndexInParent()") 82cdf0e10cSrcweir Dim idx As Integer 83cdf0e10cSrcweir Dim parentAC As Object 84cdf0e10cSrcweir bOK = true 85cdf0e10cSrcweir idx = oObj.getAccessibleIndexInParent() 86cdf0e10cSrcweir parentAC = oParent.getAccessibleContext() 87cdf0e10cSrcweir bOK = bOK AND utils.at_equals(parentAC.getAccessibleChild(idx), oObj) 88cdf0e10cSrcweir Test.MethodTested("getAccessibleIndexInParent()",bOK) 89cdf0e10cSrcweir 90cdf0e10cSrcweir 91cdf0e10cSrcweir Test.StartMethod("getAccessibleRole()") 92cdf0e10cSrcweir Dim role As Integer 93cdf0e10cSrcweir bOK = true 94cdf0e10cSrcweir role = oObj.getAccessibleRole() 95cdf0e10cSrcweir Out.Log("The role is " + role) 96cdf0e10cSrcweir bOK = bOK AND (role > -1) 97cdf0e10cSrcweir Test.MethodTested("getAccessibleRole()",bOK) 98cdf0e10cSrcweir 99cdf0e10cSrcweir 100cdf0e10cSrcweir Test.StartMethod("getAccessibleDescription()") 101cdf0e10cSrcweir Dim descr As String 102cdf0e10cSrcweir bOK = true 103cdf0e10cSrcweir descr = oObj.getAccessibleDescription() 104cdf0e10cSrcweir Out.Log("The description is " + descr) 105cdf0e10cSrcweir bOK = bOK AND NOT isNull(descr) 106cdf0e10cSrcweir Test.MethodTested("getAccessibleDescription()",bOK) 107cdf0e10cSrcweir 108cdf0e10cSrcweir 109cdf0e10cSrcweir Test.StartMethod("getAccessibleName()") 110cdf0e10cSrcweir Dim oName As String 111cdf0e10cSrcweir bOK = true 112cdf0e10cSrcweir oName = oObj.getAccessibleName() 113cdf0e10cSrcweir Out.Log("The name is " + oName) 114cdf0e10cSrcweir bOK = bOK AND NOT isNull(oName) 115cdf0e10cSrcweir Test.MethodTested("getAccessibleName()",bOK) 116cdf0e10cSrcweir 117cdf0e10cSrcweir 118cdf0e10cSrcweir Test.StartMethod("getAccessibleRelationSet()") 119cdf0e10cSrcweir Dim oSet As Variant 120cdf0e10cSrcweir bOK = true 121cdf0e10cSrcweir oSet = oObj.getAccessibleRelationSet() 122cdf0e10cSrcweir ' Relationset could be null 123cdf0e10cSrcweir if not isNull(oSet) then 124cdf0e10cSrcweir oSet.getRelationCount() 125cdf0e10cSrcweir end if 126cdf0e10cSrcweir Test.MethodTested("getAccessibleRelationSet()",bOK) 127cdf0e10cSrcweir 128cdf0e10cSrcweir 129cdf0e10cSrcweir Test.StartMethod("getAccessibleStateSet()") 130cdf0e10cSrcweir bOK = true 131cdf0e10cSrcweir oSet = oObj.getAccessibleStateSet() 132cdf0e10cSrcweir bOK = bOK AND NOT isNull(oSet) 133cdf0e10cSrcweir if NOT bOK then Out.Log("This object does not support states") 134cdf0e10cSrcweir Test.MethodTested("getAccessibleStateSet()",bOK) 135cdf0e10cSrcweir 136cdf0e10cSrcweir 137cdf0e10cSrcweir Test.StartMethod("getLocale()") 138cdf0e10cSrcweir Dim oLoc As Variant 139cdf0e10cSrcweir bOK = true 140cdf0e10cSrcweir oLoc = oObj.getLocale() 141cdf0e10cSrcweir Out.Log("The locale is "+oLoc.Language+", "+oLoc.Country) 142cdf0e10cSrcweir bOK = bOK AND NOT isNull(oLoc) AND (len(oLoc.Language) > 0) AND (len(oLoc.Country) > 0) 143cdf0e10cSrcweir Test.MethodTested("getLocale()",bOK) 144cdf0e10cSrcweir 145cdf0e10cSrcweirExit Sub 146cdf0e10cSrcweirErrHndl: 147cdf0e10cSrcweir Test.Exception() 148cdf0e10cSrcweir bOK = false 149cdf0e10cSrcweir resume next 150cdf0e10cSrcweirEnd Sub 151cdf0e10cSrcweir</script:module> 152