1cdf0e10cSrcweir<?xml version="1.0" encoding="UTF-8"?>
2cdf0e10cSrcweir<script:module xmlns:script="http://openoffice.org/2000/script" script:name="toolkit_AccessibleList" script:language="StarBasic">
3cdf0e10cSrcweir
4cdf0e10cSrcweir'*************************************************************************
5cdf0e10cSrcweir'
6*1cbee2cdSAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
7*1cbee2cdSAndrew Rist'  or more contributor license agreements.  See the NOTICE file
8*1cbee2cdSAndrew Rist'  distributed with this work for additional information
9*1cbee2cdSAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
10*1cbee2cdSAndrew Rist'  to you under the Apache License, Version 2.0 (the
11*1cbee2cdSAndrew Rist'  "License"); you may not use this file except in compliance
12*1cbee2cdSAndrew Rist'  with the License.  You may obtain a copy of the License at
13*1cbee2cdSAndrew Rist'
14*1cbee2cdSAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
15*1cbee2cdSAndrew Rist'
16*1cbee2cdSAndrew Rist'  Unless required by applicable law or agreed to in writing,
17*1cbee2cdSAndrew Rist'  software distributed under the License is distributed on an
18*1cbee2cdSAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
19*1cbee2cdSAndrew Rist'  KIND, either express or implied.  See the License for the
20*1cbee2cdSAndrew Rist'  specific language governing permissions and limitations
21*1cbee2cdSAndrew Rist'  under the License.
22cdf0e10cSrcweir'
23cdf0e10cSrcweir'*************************************************************************
24cdf0e10cSrcweir
25*1cbee2cdSAndrew Rist
26*1cbee2cdSAndrew Rist
27cdf0e10cSrcweir' Be sure that all variables are dimensioned:
28cdf0e10cSrcweiroption explicit
29cdf0e10cSrcweir
30cdf0e10cSrcweir
31cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests:
32cdf0e10cSrcweir
33cdf0e10cSrcweir' "com::sun::star::accessibility::XAccessibleEventBroadcaster#optional"
34cdf0e10cSrcweir ' needs the following Global variables:
35cdf0e10cSrcweir
36cdf0e10cSrcweir' "com::sun::star::accessibility::XAccessibleSelection"
37cdf0e10cSrcweir ' needs the following Global variables:
38cdf0e10cSrcweirGlobal multiSelection As Boolean
39cdf0e10cSrcweir
40cdf0e10cSrcweirGlobal accButton As Object
41cdf0e10cSrcweir
42cdf0e10cSrcweir
43cdf0e10cSrcweirSub CreateObj()
44cdf0e10cSrcweir
45cdf0e10cSrcweir'*************************************************************************
46cdf0e10cSrcweir' COMPONENT:
47cdf0e10cSrcweir' com.sun.star.toolkit.AccessibleList
48cdf0e10cSrcweir'*************************************************************************
49cdf0e10cSrcweirOn Error Goto ErrHndl
50cdf0e10cSrcweir    Dim xController As Object, oWin As Object
51cdf0e10cSrcweir    Dim xDispatcher As Object, xRoot As Object
52cdf0e10cSrcweir    Dim tk As Object, urlTransformer As Object
53cdf0e10cSrcweir    Dim url As New com.sun.star.util.URL
54cdf0e10cSrcweir    Dim noProps()
55cdf0e10cSrcweir
56cdf0e10cSrcweir    oDoc = utils.createDocument("swriter", cObjectName)
57cdf0e10cSrcweir    tk = createUNOService("com.sun.star.awt.Toolkit")
58cdf0e10cSrcweir    wait(500)
59cdf0e10cSrcweir
60cdf0e10cSrcweir    xController = oDoc.getCurrentController()
61cdf0e10cSrcweir    urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
62cdf0e10cSrcweir    url.Complete = ".uno:HyperlinkDialog"
63cdf0e10cSrcweir    urlTransformer.parseStrict(url)
64cdf0e10cSrcweir    xDispatcher = xController.queryDispatch(url,"",0)
65cdf0e10cSrcweir
66cdf0e10cSrcweir    if (NOT isNull(xDispatcher)) then
67cdf0e10cSrcweir        multiSelection = false
68cdf0e10cSrcweir        xDispatcher.dispatch(url, noProps())
69cdf0e10cSrcweir        wait(500)
70cdf0e10cSrcweir        oWin = tk.getActiveTopWindow
71cdf0e10cSrcweir        xRoot = utils.at_getAccessibleObject(oWin)
72cdf0e10cSrcweir        accButton = utils.at_getAccessibleObjectForRole(xRoot, _
73cdf0e10cSrcweir                  com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Close")
74cdf0e10cSrcweir
75cdf0e10cSrcweir        'Selecting 'New Document' tab
76cdf0e10cSrcweir        Dim oTree as Object
77cdf0e10cSrcweir        oTree = utils.at_getAccessibleObjectForRole(xRoot, _
78cdf0e10cSrcweir                                 com.sun.star.accessibility.AccessibleRole.TREE)
79cdf0e10cSrcweir
80cdf0e10cSrcweir        oTree.selectAccessibleChild(3)
81cdf0e10cSrcweir        wait(500)
82cdf0e10cSrcweir
83cdf0e10cSrcweir        Out.log("# Getting the ListBox")
84cdf0e10cSrcweir        Dim oParent as Object
85cdf0e10cSrcweir        oParent = utils.at_getAccessibleObjectForRole(xRoot, _
86cdf0e10cSrcweir                            com.sun.star.accessibility.AccessibleRole.PANEL,"",_
87cdf0e10cSrcweir                                  "com.sun.star.comp.toolkit.AccessibleListBox")
88cdf0e10cSrcweir
89cdf0e10cSrcweir        Out.log("# Getting the first child")
90cdf0e10cSrcweir
91cdf0e10cSrcweir        oObj = oParent.getAccessibleChild(0)
92cdf0e10cSrcweir
93cdf0e10cSrcweir        Out.Log("Implementation name: "+oObj.getImplementationName())
94cdf0e10cSrcweir
95cdf0e10cSrcweir    else
96cdf0e10cSrcweir        Out.Log("QueryDispatch FAILED. Cannot open Hyperlink dialog...")
97cdf0e10cSrcweir    End If
98cdf0e10cSrcweir
99cdf0e10cSrcweir
100cdf0e10cSrcweirExit Sub
101cdf0e10cSrcweirErrHndl:
102cdf0e10cSrcweir    Test.Exception()
103cdf0e10cSrcweirEnd Sub
104cdf0e10cSrcweir
105cdf0e10cSrcweirSub DisposeObj()
106cdf0e10cSrcweir    if NOT isNull(accButton) then
107cdf0e10cSrcweir        accButton.doAccessibleAction(0)
108cdf0e10cSrcweir        wait(1000)
109cdf0e10cSrcweir    End If
110cdf0e10cSrcweir    utils.closeObject(oDoc)
111cdf0e10cSrcweirEnd Sub
112cdf0e10cSrcweir
113cdf0e10cSrcweirSub fireEvent()
114cdf0e10cSrcweir    oObj.grabFocus()
115cdf0e10cSrcweir    accButton.grabFocus()
116cdf0e10cSrcweirend Sub
117cdf0e10cSrcweir</script:module>
118