'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: sd_SdXImpressDocument.xba,v $ ' ' $Revision: 1.7 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 License. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit ' REQUIRED VARIABLES for interface/service tests: ' Requiered for com.sun.star.lang.XMultiServiceFactory Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape" Global bCreateInstanceWithoutArguments As Boolean Global aArguments() As Variant ' Requiered for com.sun.star.drawing.XDrawPageDuplicator Global oCollection As Object ' = oDoc.DrawPages(0) ' com.sun.star.frame.XModel Global oXModelController as Object Global oXModelSel as Object Global oXModelToSel as Object Global oComponentInstance As Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' sd.SdXImpressDocument '************************************************************************* On Error Goto ErrHndl Dim oControllerDoc as Object Dim oRectangleShape as Object Dim oPage as Object oDoc = utils.createImpressDocument(cObjectName) oControllerDoc = utils.createImpressDocument(cObjectName + "XModel") oComponentInstance = utils.createImpressDocument(cObjectName + "XComponent") oCollection = oDoc.DrawPages(0) oObj = oDoc cServiceName = "com.sun.star.drawing.RectangleShape" bCreateInstanceWithoutArguments = true aArguments() = noargs() oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape") oPage = oDoc.getDrawPages().getByIndex(0) oPage.add(oRectangleShape) oXModelToSel = oRectangleShape oXModelController = oControllerDoc.getCurrentController() oXModelSel = oDoc.getCurrentController() Exit Sub ErrHndl: Test.Exception() End Sub Sub DisposeObj() if NOT isNULL(oComponentInstance) then oComponentInstance.dispose() ' To successfully dispose oControllerDoc re-open it first. Dim oControllerDoc As Object oControllerDoc = utils.createDocument(cObjectName + "XModel") oControllerDoc.dispose() End Sub