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'
8*b40b12b0SAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*b40b12b0SAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*b40b12b0SAndrew Rist'  distributed with this work for additional information
11*b40b12b0SAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*b40b12b0SAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*b40b12b0SAndrew Rist'  "License"); you may not use this file except in compliance
14*b40b12b0SAndrew Rist'  with the License.  You may obtain a copy of the License at
15*b40b12b0SAndrew Rist'
16*b40b12b0SAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*b40b12b0SAndrew Rist'
18*b40b12b0SAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*b40b12b0SAndrew Rist'  software distributed under the License is distributed on an
20*b40b12b0SAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*b40b12b0SAndrew Rist'  KIND, either express or implied.  See the License for the
22*b40b12b0SAndrew Rist'  specific language governing permissions and limitations
23*b40b12b0SAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*b40b12b0SAndrew Rist
30*b40b12b0SAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests:
36cdf0e10cSrcweir
37cdf0e10cSrcweir' Requiered 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
42cdf0e10cSrcweir' Requiered 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