'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: chart_XChartDataArray.xba,v $ ' ' $Revision: 1.3 $ ' ' 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. ' '************************************************************************* '************************************************************************* ' Be sure that all variables are dimensioned: option explicit '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' Global nTableH As Integer ' Global nTableW As Integer '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.chart.XChartDataArray '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim i As Integer, j As Integer Dim objRowDsc As Variant, objColDsc As Variant Dim objEl As Variant, newEl As Variant Dim chData As Variant Out.Log("Object is '" + cObjectName + "'") if (cObjectName = "sw.SwXTextTable") then Out.Log("Object is 'SwXTextTable'. First, remove labels.") oObj.setPropertyValue("ChartRowAsLabel", false) oObj.setPropertyValue("ChartColumnAsLabel", false) end if Test.StartMethod("getData()") bOK = true Dim oData As Object oData = oObj.getData() bOK = bOK AND NOT isNULL(oData) Test.MethodTested("getData()", bOK) Test.StartMethod("setData()") bOK = true Dim newData(nTableH - 1) As Variant Dim a(nTableW - 1) As Double for i = 0 to nTableH - 1 ReDim a(nTableW - 1) As Double for j = 0 to nTableW - 1 a(j) = ((nTableW * 4) / (i + 2) + j * 2) + 16 next j newData(i) = a() next i oObj.setData(newData()) chData = oObj.getData() bOK = bOK AND ubound(oObj.getRowDescriptions()) = nTableH - 1 bOK = bOK AND ubound(oObj.getColumnDescriptions()) = nTableW - 1 for i = 0 to nTableH - 1 objEl = chData(i) newEl = newData(i) for j = 0 to nTableW - 1 bOK = bOK AND objEl(j) = newEl(j) next j next i Test.MethodTested("setData()", bOK) if (cObjectName = "sw.SwXTextTable") then Out.Log("Object is 'SwXTextTable'. Initialize labels.") oObj.setPropertyValue("ChartRowAsLabel", true) oObj.setPropertyValue("ChartColumnAsLabel", true) end if Test.StartMethod("getRowDescriptions()") bOK = true Dim oRowDsc() As String oRowDsc = oObj.getRowDescriptions() bOK = bOK AND NOT isNULL(oRowDsc) Test.MethodTested("getRowDescriptions()", bOK) Test.StartMethod("setRowDescriptions()") bOK = true Dim newRowDsc(nTableH - 2) As String for i = 0 to nTableH - 2 ' -1 for 0-index and -1 for columns labels newRowDsc(i) = "RowDsc " + i next i oObj.setRowDescriptions(newRowDsc()) objRowDsc = oObj.getRowDescriptions() for i = 0 to nTableH - 2 bOK = bOK AND newRowDsc(i) = objRowDsc(i) next i Test.MethodTested("setRowDescriptions()", bOK) Test.StartMethod("getColumnDescriptions()") bOK = true bOK = bOK AND NOT isNULL(oObj.getColumnDescriptions()) Test.MethodTested("getColumnDescriptions()", bOK) Test.StartMethod("setColumnDescriptions()") bOK = true Dim newColDsc(nTableW - 2) As String for i = 0 to nTableW - 2 newColDsc(i) = "ColDsc " + i next i oObj.setColumnDescriptions(newColDsc()) objColDsc = oObj.getColumnDescriptions() for i = 0 to nTableW - 2 bOK = bOK AND newColDsc(i) = objColDsc(i) next i if (cObjectName = "sw.SwXTextTable") then Out.Log("Object is 'SwXTextTable'. Remove labels finally.") oObj.setPropertyValue("ChartRowAsLabel", false) oObj.setPropertyValue("ChartColumnAsLabel", false) end if Test.MethodTested("setColumnDescriptions()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub