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