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="sw_SwAccessiblePageView" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*ce3cae9fSAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*ce3cae9fSAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*ce3cae9fSAndrew Rist'  distributed with this work for additional information
11*ce3cae9fSAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*ce3cae9fSAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*ce3cae9fSAndrew Rist'  "License"); you may not use this file except in compliance
14*ce3cae9fSAndrew Rist'  with the License.  You may obtain a copy of the License at
15*ce3cae9fSAndrew Rist'
16*ce3cae9fSAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*ce3cae9fSAndrew Rist'
18*ce3cae9fSAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*ce3cae9fSAndrew Rist'  software distributed under the License is distributed on an
20*ce3cae9fSAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*ce3cae9fSAndrew Rist'  KIND, either express or implied.  See the License for the
22*ce3cae9fSAndrew Rist'  specific language governing permissions and limitations
23*ce3cae9fSAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*ce3cae9fSAndrew Rist
30*ce3cae9fSAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests:
36cdf0e10cSrcweirGlobal prevButton As Object
37cdf0e10cSrcweirGlobal nextButton As Object
38cdf0e10cSrcweir
39cdf0e10cSrcweir
40cdf0e10cSrcweirSub CreateObj()
41cdf0e10cSrcweir
42cdf0e10cSrcweir'*************************************************************************
43cdf0e10cSrcweir' COMPONENT:
44cdf0e10cSrcweir' sw.SwAccessiblePageView
45cdf0e10cSrcweir'*************************************************************************
46cdf0e10cSrcweirOn Error Goto ErrHndl
47cdf0e10cSrcweir    Dim xRoot As Object, xDispatcher As Object
48cdf0e10cSrcweir    Dim xController As Object, oWin As Object
49cdf0e10cSrcweir    Dim url As New com.sun.star.util.URL
50cdf0e10cSrcweir    Dim urlTransformer As Object
51cdf0e10cSrcweir    Dim oText As Object, cursor As Object
52cdf0e10cSrcweir    Dim i As Integer
53cdf0e10cSrcweir
54cdf0e10cSrcweir    oDoc = utils.createDocument("swriter",cObjectName)
55cdf0e10cSrcweir    oText = oDoc.getText()
56cdf0e10cSrcweir    cursor = oText.createTextCursor()
57cdf0e10cSrcweir
58cdf0e10cSrcweir    'inserting some lines
59cdf0e10cSrcweir    for i = 0 to 30
60cdf0e10cSrcweir      oText.insertString(cursor, "Paragraph Number: " + i, false)
61cdf0e10cSrcweir      oText.insertString(cursor,_
62cdf0e10cSrcweir        " The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",_
63cdf0e10cSrcweir        false)
64cdf0e10cSrcweir      oText.insertControlCharacter(cursor,_
65cdf0e10cSrcweir        com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
66cdf0e10cSrcweir      oText.insertString(cursor,_
67cdf0e10cSrcweir        "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",_
68cdf0e10cSrcweir        false)
69cdf0e10cSrcweir      oText.insertControlCharacter(cursor,_
70cdf0e10cSrcweir        com.sun.star.text.ControlCharacter.PARAGRAPH_BREAK, false)
71cdf0e10cSrcweir      oText.insertControlCharacter(cursor,_
72cdf0e10cSrcweir        com.sun.star.text.ControlCharacter.LINE_BREAK, false)
73cdf0e10cSrcweir    next i
74cdf0e10cSrcweir    wait(1000)
75cdf0e10cSrcweir
76cdf0e10cSrcweir    xController = oDoc.getCurrentController()
77cdf0e10cSrcweir
78cdf0e10cSrcweir    'switch to PreviewMode
79cdf0e10cSrcweir    urlTransformer = createUNOService("com.sun.star.util.URLTransformer")
80cdf0e10cSrcweir    url.Complete = ".uno:PrintPreview"
81cdf0e10cSrcweir    urlTransformer.parseStrict(url)
82cdf0e10cSrcweir    wait(500)
83cdf0e10cSrcweir    xDispatcher = xController.queryDispatch(url,"",0)
84cdf0e10cSrcweir    if (NOT isNull(xDispatcher)) then
85cdf0e10cSrcweir      xDispatcher.dispatch(url, DimArray())
86cdf0e10cSrcweir      wait(1000)
87cdf0e10cSrcweir      oWin = utils.at_getCurrentWindow(oDoc)
88cdf0e10cSrcweir      xRoot = utils.at_getAccessibleObject(oWin)
89cdf0e10cSrcweir      'utils.at_printAccessibleTree(xRoot)
90cdf0e10cSrcweir      oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL,"Page")
91cdf0e10cSrcweir      Out.Log("Implementation Name: "+oObj.getImplementationName())
92cdf0e10cSrcweir      prevButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Previous Page")
93cdf0e10cSrcweir      nextButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON,"Next Page")
94cdf0e10cSrcweir    else
95cdf0e10cSrcweir      Out.Log("QueryDispatch FAILED. Cannot switch to Preview mode...")
96cdf0e10cSrcweir    End If
97cdf0e10cSrcweir
98cdf0e10cSrcweirExit Sub
99cdf0e10cSrcweirErrHndl:
100cdf0e10cSrcweir    Test.Exception()
101cdf0e10cSrcweirEnd Sub
102cdf0e10cSrcweir
103cdf0e10cSrcweirSub fireEvent()
104cdf0e10cSrcweir    prevButton.doAccessibleAction(0)
105cdf0e10cSrcweir    wait(500)
106cdf0e10cSrcweir    nextButton.doAccessibleAction(0)
107cdf0e10cSrcweir    wait(500)
108cdf0e10cSrcweirEnd Sub
109cdf0e10cSrcweir</script:module>
110