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="drawing_XShape" script:language="StarBasic">
4cdf0e10cSrcweir
5cdf0e10cSrcweir
6cdf0e10cSrcweir'*************************************************************************
7cdf0e10cSrcweir'
8*bfe83eebSAndrew Rist'  Licensed to the Apache Software Foundation (ASF) under one
9*bfe83eebSAndrew Rist'  or more contributor license agreements.  See the NOTICE file
10*bfe83eebSAndrew Rist'  distributed with this work for additional information
11*bfe83eebSAndrew Rist'  regarding copyright ownership.  The ASF licenses this file
12*bfe83eebSAndrew Rist'  to you under the Apache License, Version 2.0 (the
13*bfe83eebSAndrew Rist'  "License"); you may not use this file except in compliance
14*bfe83eebSAndrew Rist'  with the License.  You may obtain a copy of the License at
15*bfe83eebSAndrew Rist'
16*bfe83eebSAndrew Rist'    http://www.apache.org/licenses/LICENSE-2.0
17*bfe83eebSAndrew Rist'
18*bfe83eebSAndrew Rist'  Unless required by applicable law or agreed to in writing,
19*bfe83eebSAndrew Rist'  software distributed under the License is distributed on an
20*bfe83eebSAndrew Rist'  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
21*bfe83eebSAndrew Rist'  KIND, either express or implied.  See the License for the
22*bfe83eebSAndrew Rist'  specific language governing permissions and limitations
23*bfe83eebSAndrew Rist'  under the License.
24cdf0e10cSrcweir'
25cdf0e10cSrcweir'*************************************************************************
26cdf0e10cSrcweir
27cdf0e10cSrcweir
28cdf0e10cSrcweir
29*bfe83eebSAndrew Rist
30*bfe83eebSAndrew Rist
31cdf0e10cSrcweir' Be sure that all variables are dimensioned:
32cdf0e10cSrcweiroption explicit
33cdf0e10cSrcweir
34cdf0e10cSrcweir
35cdf0e10cSrcweir
36cdf0e10cSrcweirSub RunTest()
37cdf0e10cSrcweir
38cdf0e10cSrcweir'*************************************************************************
39cdf0e10cSrcweir' INTERFACE:
40cdf0e10cSrcweir' com.sun.star.drawing.XShape
41cdf0e10cSrcweir'*************************************************************************
42cdf0e10cSrcweirOn Error Goto ErrHndl
43cdf0e10cSrcweir    Dim bOK As Boolean
44cdf0e10cSrcweir    Dim oPosition As Object
45cdf0e10cSrcweir    Dim oSetPos As New com.sun.star.awt.Point
46cdf0e10cSrcweir    Dim objPosition As Object
47cdf0e10cSrcweir
48cdf0e10cSrcweir    Dim oSize As Object
49cdf0e10cSrcweir    Dim oSetSize As New com.sun.star.awt.Size
50cdf0e10cSrcweir    Dim objSize As Object
51cdf0e10cSrcweir    Dim bRO As Boolean
52cdf0e10cSrcweir
53cdf0e10cSrcweir
54cdf0e10cSrcweir    Test.StartMethod("setPosition()")
55cdf0e10cSrcweir    Test.StartMethod("getPosition()")
56cdf0e10cSrcweir
57cdf0e10cSrcweir    bOK = true
58cdf0e10cSrcweir
59cdf0e10cSrcweir    if (cObjectName = "sw.SwXTextEmbeddedObject") OR _
60cdf0e10cSrcweir       (cObjectName = "sw.SwXTextGraphicObject") OR _
61cdf0e10cSrcweir       (cObjectName = "sw.SwXTextFrame") OR _
62cdf0e10cSrcweir       (cObjectName = "svx.SvxShapeConnector") then
63cdf0e10cSrcweir        Out.Log("Methods get/setPosition doesn't work with this object.")
64cdf0e10cSrcweir    else
65cdf0e10cSrcweir        oPosition = oObj.getPosition()
66cdf0e10cSrcweir        Out.Log("Current object's position (" + oPosition.X + ", " + oPosition.Y + ")")
67cdf0e10cSrcweir
68cdf0e10cSrcweir        oSetPos.X = 1234
69cdf0e10cSrcweir        oSetPos.Y = 4321
70cdf0e10cSrcweir
71cdf0e10cSrcweir        Out.Log("Trying to set object's position to (" + oSetPos.X + ", " + oSetPos.Y + ")")
72cdf0e10cSrcweir        oObj.setPosition(oSetPos)
73cdf0e10cSrcweir
74cdf0e10cSrcweir        objPosition = oObj.getPosition()
75cdf0e10cSrcweir        Out.Log("Actual position is (" + objPosition.X + ", " + objPosition.Y + ")")
76cdf0e10cSrcweir
77cdf0e10cSrcweir
78cdf0e10cSrcweir        bOK = bOK AND ((abs(objPosition.X - oSetPos.X) &lt;= 1) AND (abs(objPosition.Y - oSetPos.Y) &lt;= 1))
79cdf0e10cSrcweir
80cdf0e10cSrcweir        Out.Log("Return previous position...")
81cdf0e10cSrcweir        oObj.setPosition(oPosition)
82cdf0e10cSrcweir    end if
83cdf0e10cSrcweir
84cdf0e10cSrcweir    Test.MethodTested("getPosition()", bOK)
85cdf0e10cSrcweir    Test.MethodTested("setPosition()", bOK)
86cdf0e10cSrcweir
87cdf0e10cSrcweir
88cdf0e10cSrcweir    Test.StartMethod("setSize()")
89cdf0e10cSrcweir    Test.StartMethod("getSize()")
90cdf0e10cSrcweir    bOK = true
91cdf0e10cSrcweir
92cdf0e10cSrcweir    bRO = (cObjectName = "sch.ChartLegend") OR _
93cdf0e10cSrcweir          (cObjectName = "sch.ChartTitle") OR _
94cdf0e10cSrcweir          (cObjectName = "svx.SvxShapeConnector")
95cdf0e10cSrcweir    if (bRO) then
96cdf0e10cSrcweir        Out.Log("Size cannot be changed for this object.")
97cdf0e10cSrcweir    end if
98cdf0e10cSrcweir
99cdf0e10cSrcweir    oSize = oObj.getSize()
100cdf0e10cSrcweir    Out.Log("Current object's size (" + oSize.Width + " x " + oSize.Height + ")")
101cdf0e10cSrcweir
102cdf0e10cSrcweir    oSetSize.Width = 1235
103cdf0e10cSrcweir    oSetSize.Height = 4322
104cdf0e10cSrcweir
105cdf0e10cSrcweir    Out.Log("Trying to set object's size to (" + oSetSize.Width + " x " + oSetSize.Height + ")")
106cdf0e10cSrcweir    oObj.setSize(oSetSize)
107cdf0e10cSrcweir    objSize = oObj.getSize()
108cdf0e10cSrcweir    Out.Log("Actual size is (" + objSize.Width + " x " + objSize.Height + ")")
109cdf0e10cSrcweir
110cdf0e10cSrcweir    if (bRO) then
111cdf0e10cSrcweir        bOK = bOK AND ((abs(objSize.Width - oSize.Width) &lt;= 1) AND (abs(objSize.Height - oSize.Height) &lt;= 1))
112cdf0e10cSrcweir    else
113cdf0e10cSrcweir        bOK = bOK AND ((abs(objSize.Width - oSetSize.Width) &lt;= 1) AND (abs(objSize.Height - oSetSize.Height) &lt;= 1))
114cdf0e10cSrcweir    end if
115cdf0e10cSrcweir
116cdf0e10cSrcweir    Out.Log("Return previous size...")
117cdf0e10cSrcweir    oObj.setSize(oSize)
118cdf0e10cSrcweir
119cdf0e10cSrcweir    Test.MethodTested("getSize()", bOK)
120cdf0e10cSrcweir    Test.MethodTested("setSize()", bOK)
121cdf0e10cSrcweir
122cdf0e10cSrcweirExit Sub
123cdf0e10cSrcweirErrHndl:
124cdf0e10cSrcweir    Test.Exception()
125cdf0e10cSrcweir    bOK = false
126cdf0e10cSrcweir    resume next
127cdf0e10cSrcweirEnd Sub
128cdf0e10cSrcweir</script:module>
129