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_SdXImpressDocument" script:language="StarBasic"> 4cdf0e10cSrcweir 5cdf0e10cSrcweir 6cdf0e10cSrcweir'************************************************************************* 7cdf0e10cSrcweir' 8b40b12b0SAndrew Rist' Licensed to the Apache Software Foundation (ASF) under one 9b40b12b0SAndrew Rist' or more contributor license agreements. See the NOTICE file 10b40b12b0SAndrew Rist' distributed with this work for additional information 11b40b12b0SAndrew Rist' regarding copyright ownership. The ASF licenses this file 12b40b12b0SAndrew Rist' to you under the Apache License, Version 2.0 (the 13b40b12b0SAndrew Rist' "License"); you may not use this file except in compliance 14b40b12b0SAndrew Rist' with the License. You may obtain a copy of the License at 15cdf0e10cSrcweir' 16b40b12b0SAndrew Rist' http://www.apache.org/licenses/LICENSE-2.0 17cdf0e10cSrcweir' 18b40b12b0SAndrew Rist' Unless required by applicable law or agreed to in writing, 19b40b12b0SAndrew Rist' software distributed under the License is distributed on an 20b40b12b0SAndrew Rist' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21b40b12b0SAndrew Rist' KIND, either express or implied. See the License for the 22b40b12b0SAndrew Rist' specific language governing permissions and limitations 23b40b12b0SAndrew Rist' under the License. 24cdf0e10cSrcweir' 25cdf0e10cSrcweir'************************************************************************* 26b40b12b0SAndrew Rist 27b40b12b0SAndrew Rist 28cdf0e10cSrcweir 29cdf0e10cSrcweir 30cdf0e10cSrcweir 31cdf0e10cSrcweir' Be sure that all variables are dimensioned: 32cdf0e10cSrcweiroption explicit 33cdf0e10cSrcweir 34cdf0e10cSrcweir 35cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests: 36cdf0e10cSrcweir 37*de337080SJohn Bampton' Required for com.sun.star.lang.XMultiServiceFactory 38cdf0e10cSrcweir Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape" 39cdf0e10cSrcweir Global bCreateInstanceWithoutArguments As Boolean 40cdf0e10cSrcweir Global aArguments() As Variant 41cdf0e10cSrcweir 42*de337080SJohn Bampton' Required for com.sun.star.drawing.XDrawPageDuplicator 43cdf0e10cSrcweir Global oCollection As Object ' = oDoc.DrawPages(0) 44cdf0e10cSrcweir 45cdf0e10cSrcweir' com.sun.star.frame.XModel 46cdf0e10cSrcweir Global oXModelController as Object 47cdf0e10cSrcweir Global oXModelSel as Object 48cdf0e10cSrcweir Global oXModelToSel as Object 49cdf0e10cSrcweir 50cdf0e10cSrcweir 51cdf0e10cSrcweir Global oComponentInstance As Object 52cdf0e10cSrcweirSub CreateObj() 53cdf0e10cSrcweir 54cdf0e10cSrcweir'************************************************************************* 55cdf0e10cSrcweir' COMPONENT: 56cdf0e10cSrcweir' sd.SdXImpressDocument 57cdf0e10cSrcweir'************************************************************************* 58cdf0e10cSrcweirOn Error Goto ErrHndl 59cdf0e10cSrcweir Dim oControllerDoc as Object 60cdf0e10cSrcweir Dim oRectangleShape as Object 61cdf0e10cSrcweir Dim oPage as Object 62cdf0e10cSrcweir 63cdf0e10cSrcweir oDoc = utils.createImpressDocument(cObjectName) 64cdf0e10cSrcweir oControllerDoc = utils.createImpressDocument(cObjectName + "XModel") 65cdf0e10cSrcweir oComponentInstance = utils.createImpressDocument(cObjectName + "XComponent") 66cdf0e10cSrcweir 67cdf0e10cSrcweir oCollection = oDoc.DrawPages(0) 68cdf0e10cSrcweir oObj = oDoc 69cdf0e10cSrcweir 70cdf0e10cSrcweir cServiceName = "com.sun.star.drawing.RectangleShape" 71cdf0e10cSrcweir bCreateInstanceWithoutArguments = true 72cdf0e10cSrcweir aArguments() = noargs() 73cdf0e10cSrcweir 74cdf0e10cSrcweir oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape") 75cdf0e10cSrcweir oPage = oDoc.getDrawPages().getByIndex(0) 76cdf0e10cSrcweir oPage.add(oRectangleShape) 77cdf0e10cSrcweir 78cdf0e10cSrcweir oXModelToSel = oRectangleShape 79cdf0e10cSrcweir oXModelController = oControllerDoc.getCurrentController() 80cdf0e10cSrcweir oXModelSel = oDoc.getCurrentController() 81cdf0e10cSrcweir 82cdf0e10cSrcweirExit Sub 83cdf0e10cSrcweirErrHndl: 84cdf0e10cSrcweir Test.Exception() 85cdf0e10cSrcweirEnd Sub 86cdf0e10cSrcweir 87cdf0e10cSrcweirSub DisposeObj() 88cdf0e10cSrcweir if NOT isNULL(oComponentInstance) then oComponentInstance.dispose() 89cdf0e10cSrcweir 90cdf0e10cSrcweir ' To successfully dispose oControllerDoc re-open it first. 91cdf0e10cSrcweir Dim oControllerDoc As Object 92cdf0e10cSrcweir oControllerDoc = utils.createDocument(cObjectName + "XModel") 93cdf0e10cSrcweir oControllerDoc.dispose() 94cdf0e10cSrcweirEnd Sub 95cdf0e10cSrcweir</script:module> 96