'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2000, 2010 Oracle and/or its affiliates. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' 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. ' '************************************************************************* '************************************************************************* ' REQUIRED VARIABLES for interface/service tests: ' Requiered for com.sun.star.container.XNamed Global cNameToSet As String ' "fixed" if name is fixed ' Requiered for com.sun.star.drawing.XShapeGrouper Global oGrouperCollection As Object 'groupable objects ' Requiered for com.sun.star.drawing.XShapes Global oXShapeInstance As Object 'to add/remove ' Requiered for com.sun.star.drawing.XShapeCombiner Global oCombinerCollection As Object ' Requiered for com.sun.star.drawing.XShapeBinder Global oBinderCollection As Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' svx.SvxDrawPage '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean bOK = true oDoc = utils.createDocument("sdraw", cObjectName) Dim aPoint As New com.sun.star.awt.Point Dim aSize As New com.sun.star.awt.Size aPoint.x = 100 aPoint.y = 200 aSize.Width = 3000 aSize.Height = 4000 oXShapeInstance = oDoc.createInstance("com.sun.star.drawing.RectangleShape") oXShapeInstance.Size = aSize oXShapeInstance.Position = aPoint oXShapeInstance.FillColor = RGB(255, 0, 0) oDrawPage = oDoc.DrawPages(0) oObj = oDrawPage oGrouperCollection = createUNOService("com.sun.star.drawing.ShapeCollection") oCombinerCollection = createUNOService("com.sun.star.drawing.ShapeCollection") oBinderCollection = createUNOService("com.sun.star.drawing.ShapeCollection") AddShape(oObj, 100, 200, "com.sun.star.drawing.LineShape") AddShape(oObj, 200, 200, "com.sun.star.drawing.EllipseShape") oShape = oObj.getByIndex(0) oGrouperCollection.Add(oShape) oShape = oObj.getByIndex(1) oGrouperCollection.Add(oShape) AddShape(oObj, 300, 200, "com.sun.star.drawing.LineShape") AddShape(oObj, 400, 200, "com.sun.star.drawing.EllipseShape") oShape = oObj.getByIndex(2) oCombinerCollection.Add(oShape) oShape = oObj.getByIndex(3) oCombinerCollection.Add(oShape) AddShape(oObj, 500, 200, "com.sun.star.drawing.LineShape") AddShape(oObj, 600, 200, "com.sun.star.drawing.EllipseShape") oShape = oObj.getByIndex(4) oBinderCollection.Add(oShape) oShape = oObj.getByIndex(5) oBinderCollection.Add(oShape) Exit Sub ErrHndl: Test.Exception() End Sub sub AddShape(oPage as Object, nPosX, nPosY as Integer, shapeService As String) Dim aPoint As New com.sun.star.awt.Point Dim aSize As New com.sun.star.awt.Size Dim oShape As Object aPoint.x = nPosX aPoint.y = nPosY aSize.Width = 10000 aSize.Height = 10000 oShape = oDoc.createInstance(shapeService) oShape.Size = aSize oShape.Position = aPoint oShape.FillColor = RGB(255, 0, 0) oPage.add(oShape) End Sub