'************************************************************************* ' ' Licensed to the Apache Software Foundation (ASF) under one ' or more contributor license agreements. See the NOTICE file ' distributed with this work for additional information ' regarding copyright ownership. The ASF licenses this file ' to you under the Apache License, Version 2.0 (the ' "License"); you may not use this file except in compliance ' with the License. You may obtain a copy of the License at ' ' http://www.apache.org/licenses/LICENSE-2.0 ' ' Unless required by applicable law or agreed to in writing, ' software distributed under the License is distributed on an ' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY ' KIND, either express or implied. See the License for the ' specific language governing permissions and limitations ' under the 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