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' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9'
10' Copyright 2000, 2010 Oracle and/or its affiliates.
11'
12' OpenOffice.org - a multi-platform office productivity suite
13'
14' This file is part of OpenOffice.org.
15'
16' OpenOffice.org is free software: you can redistribute it and/or modify
17' it under the terms of the GNU Lesser General Public License version 3
18' only, as published by the Free Software Foundation.
19'
20' OpenOffice.org is distributed in the hope that it will be useful,
21' but WITHOUT ANY WARRANTY; without even the implied warranty of
22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
23' GNU Lesser General Public License version 3 for more details
24' (a copy is included in the LICENSE file that accompanied this code).
25'
26' You should have received a copy of the GNU Lesser General Public License
27' version 3 along with OpenOffice.org.  If not, see
28' <http://www.openoffice.org/license.html>
29' for a copy of the LGPLv3 License.
30'
31'*************************************************************************
32*****
33'*************************************************************************
34
35
36
37' Be sure that all variables are dimensioned:
38option explicit
39
40
41' REQUIRED VARIABLES for interface/service tests:
42
43' Requiered for  com.sun.star.lang.XMultiServiceFactory
44  Global cServiceName As String ' ex. "com.sun.star.drawing.RectangleShape"
45  Global bCreateInstanceWithoutArguments As Boolean
46  Global aArguments() As Variant
47
48' Requiered for  com.sun.star.drawing.XDrawPageDuplicator
49  Global oCollection As Object ' = oDoc.DrawPages(0)
50
51' com.sun.star.frame.XModel
52  Global oXModelController as Object
53  Global oXModelSel as Object
54  Global oXModelToSel as Object
55
56
57  Global oComponentInstance As Object
58Sub CreateObj()
59
60'*************************************************************************
61' COMPONENT:
62' sd.SdXImpressDocument
63'*************************************************************************
64On Error Goto ErrHndl
65    Dim oControllerDoc as Object
66    Dim oRectangleShape as Object
67    Dim oPage as Object
68
69    oDoc = utils.createImpressDocument(cObjectName)
70    oControllerDoc = utils.createImpressDocument(cObjectName + "XModel")
71    oComponentInstance = utils.createImpressDocument(cObjectName + "XComponent")
72
73    oCollection = oDoc.DrawPages(0)
74    oObj = oDoc
75
76    cServiceName = "com.sun.star.drawing.RectangleShape"
77    bCreateInstanceWithoutArguments = true
78    aArguments() = noargs()
79
80    oRectangleShape = oDoc.createInstance("com.sun.star.drawing.RectangleShape")
81    oPage = oDoc.getDrawPages().getByIndex(0)
82    oPage.add(oRectangleShape)
83
84    oXModelToSel = oRectangleShape
85    oXModelController = oControllerDoc.getCurrentController()
86    oXModelSel = oDoc.getCurrentController()
87
88Exit Sub
89ErrHndl:
90    Test.Exception()
91End Sub
92
93Sub DisposeObj()
94    if NOT isNULL(oComponentInstance) then oComponentInstance.dispose()
95
96    ' To successfully dispose oControllerDoc re-open it first.
97    Dim oControllerDoc As Object
98    oControllerDoc = utils.createDocument(cObjectName + "XModel")
99    oControllerDoc.dispose()
100End Sub
101</script:module>
102