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="sd_AccessibleOutlineView" script:language="StarBasic"> 4cdf0e10cSrcweir 5cdf0e10cSrcweir 6cdf0e10cSrcweir'************************************************************************* 7cdf0e10cSrcweir' 8*b40b12b0SAndrew Rist' Licensed to the Apache Software Foundation (ASF) under one 9*b40b12b0SAndrew Rist' or more contributor license agreements. See the NOTICE file 10*b40b12b0SAndrew Rist' distributed with this work for additional information 11*b40b12b0SAndrew Rist' regarding copyright ownership. The ASF licenses this file 12*b40b12b0SAndrew Rist' to you under the Apache License, Version 2.0 (the 13*b40b12b0SAndrew Rist' "License"); you may not use this file except in compliance 14*b40b12b0SAndrew Rist' with the License. You may obtain a copy of the License at 15*b40b12b0SAndrew Rist' 16*b40b12b0SAndrew Rist' http://www.apache.org/licenses/LICENSE-2.0 17*b40b12b0SAndrew Rist' 18*b40b12b0SAndrew Rist' Unless required by applicable law or agreed to in writing, 19*b40b12b0SAndrew Rist' software distributed under the License is distributed on an 20*b40b12b0SAndrew Rist' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21*b40b12b0SAndrew Rist' KIND, either express or implied. See the License for the 22*b40b12b0SAndrew Rist' specific language governing permissions and limitations 23*b40b12b0SAndrew Rist' under the License. 24cdf0e10cSrcweir' 25cdf0e10cSrcweir'************************************************************************* 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29*b40b12b0SAndrew Rist 30*b40b12b0SAndrew Rist 31cdf0e10cSrcweir' Be sure that all variables are dimensioned: 32cdf0e10cSrcweiroption explicit 33cdf0e10cSrcweir 34cdf0e10cSrcweir 35cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests: 36cdf0e10cSrcweirGlobal oDPn As Variant 37cdf0e10cSrcweirGlobal fireCount as Integer 38cdf0e10cSrcweir 39cdf0e10cSrcweir 40cdf0e10cSrcweirSub CreateObj() 41cdf0e10cSrcweir 42cdf0e10cSrcweir'************************************************************************* 43cdf0e10cSrcweir' COMPONENT: 44cdf0e10cSrcweir' sd.AccessibleOutlineView 45cdf0e10cSrcweir'************************************************************************* 46cdf0e10cSrcweirOn Error Goto ErrHndl 47cdf0e10cSrcweir Dim aSlotID As String 48cdf0e10cSrcweir Dim urls As Variant 49cdf0e10cSrcweir Dim url as new com.sun.star.util.URL 50cdf0e10cSrcweir Dim UrlTransformer As Object, xDispatcher As Object 51cdf0e10cSrcweir Dim oCntr As Object, oWin As Object, xRoot As Object 52cdf0e10cSrcweir Dim oSearchedContext As Object 53cdf0e10cSrcweir 54cdf0e10cSrcweir oDoc = utils.createImpressDocument(cObjectName) 55cdf0e10cSrcweir oCntr = oDoc.getCurrentController() 56cdf0e10cSrcweir 57cdf0e10cSrcweir Out.log("Switching to outline view...") 58cdf0e10cSrcweir switchOutlineView(oDoc) 59cdf0e10cSrcweir 60cdf0e10cSrcweir oWin = utils.at_getCurrentWindow(oDoc) 61cdf0e10cSrcweir xRoot = utils.at_getAccessibleObject(oWin) 62cdf0e10cSrcweir oSearchedContext = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.DOCUMENT) 63cdf0e10cSrcweir oObj = oSearchedContext 64cdf0e10cSrcweir oDPn = oDoc.getDrawPages() 65cdf0e10cSrcweir fireCount = 0 66cdf0e10cSrcweir 67cdf0e10cSrcweirExit Sub 68cdf0e10cSrcweirErrHndl: 69cdf0e10cSrcweir Test.Exception() 70cdf0e10cSrcweirEnd Sub 71cdf0e10cSrcweir 72cdf0e10cSrcweirSub DisposeObj() 73cdf0e10cSrcweir utils.closeObject(oDoc) 74cdf0e10cSrcweirEnd Sub 75cdf0e10cSrcweir 76cdf0e10cSrcweir 77cdf0e10cSrcweir' This method is used for XAccessibleEventBroadcaster interface 78cdf0e10cSrcweirSub fireEvent() 79cdf0e10cSrcweir fireCount = fireCount + 1 80cdf0e10cSrcweir Out.log("fire event...") 81cdf0e10cSrcweir Dim oDP as Object 82cdf0e10cSrcweir oDP = oDPn.getByIndex(0) 83cdf0e10cSrcweir addShape(oDP, fireCount * 500, fireCount * 500) 84cdf0e10cSrcweir 85cdf0e10cSrcweir 86cdf0e10cSrcweir wait(500) 87cdf0e10cSrcweirEnd Sub 88cdf0e10cSrcweir 89cdf0e10cSrcweirSub AddShape(oPage as Object, nPosX as Integer, nPosY as Integer) 90cdf0e10cSrcweir Dim aPoint As New com.sun.star.awt.Point 91cdf0e10cSrcweir Dim aSize As New com.sun.star.awt.Size 92cdf0e10cSrcweir Dim oRectangleShape As Object 93cdf0e10cSrcweir 94cdf0e10cSrcweir aPoint.x = nPosX 95cdf0e10cSrcweir aPoint.y = nPosY 96cdf0e10cSrcweir aSize.Width = 10000 97cdf0e10cSrcweir aSize.Height = 10000 98cdf0e10cSrcweir oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape") 99cdf0e10cSrcweir oRectangleShape.Size = aSize 100cdf0e10cSrcweir oRectangleShape.Position = aPoint 101cdf0e10cSrcweir oRectangleShape.FillColor = RGB(255, 0, 0) 102cdf0e10cSrcweir oPage.add(oRectangleShape) 103cdf0e10cSrcweirEnd Sub 104cdf0e10cSrcweir 105cdf0e10cSrcweirSub switchOutlineView(xDoc as Object) 106cdf0e10cSrcweirOn Error Goto ErrHndl 107cdf0e10cSrcweir 108cdf0e10cSrcweir Dim Contrl as Variant, disp as Variant, transf as Object 109cdf0e10cSrcweir Dim URL as new com.sun.star.util.URL 110cdf0e10cSrcweir Dim noProps() 111cdf0e10cSrcweir Dim res as Boolean 112cdf0e10cSrcweir 113cdf0e10cSrcweir Contrl = xDoc.getCurrentController() 114cdf0e10cSrcweir URL.Complete = "slot:27010" 115cdf0e10cSrcweir transf = createUnoService("com.sun.star.util.URLTransformer") 116cdf0e10cSrcweir res = transf.parseStrict(URL) 117cdf0e10cSrcweir 118cdf0e10cSrcweir out.log("URL parsed :" + res) 119cdf0e10cSrcweir 120cdf0e10cSrcweir disp = Contrl.queryDispatch(URL, "", 0) 121cdf0e10cSrcweir 122cdf0e10cSrcweir out.log("disp get.") 123cdf0e10cSrcweir 124cdf0e10cSrcweir disp.dispatch(URL, noProps()) 125cdf0e10cSrcweirExit Sub 126cdf0e10cSrcweirErrHndl: 127cdf0e10cSrcweir Test.Exception() 128cdf0e10cSrcweirEnd Sub 129cdf0e10cSrcweir 130cdf0e10cSrcweir 131cdf0e10cSrcweir</script:module> 132