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="sw_SwXTextTable" script:language="StarBasic"> 4cdf0e10cSrcweir 5cdf0e10cSrcweir 6cdf0e10cSrcweir'************************************************************************* 7cdf0e10cSrcweir' 8*ce3cae9fSAndrew Rist' Licensed to the Apache Software Foundation (ASF) under one 9*ce3cae9fSAndrew Rist' or more contributor license agreements. See the NOTICE file 10*ce3cae9fSAndrew Rist' distributed with this work for additional information 11*ce3cae9fSAndrew Rist' regarding copyright ownership. The ASF licenses this file 12*ce3cae9fSAndrew Rist' to you under the Apache License, Version 2.0 (the 13*ce3cae9fSAndrew Rist' "License"); you may not use this file except in compliance 14*ce3cae9fSAndrew Rist' with the License. You may obtain a copy of the License at 15*ce3cae9fSAndrew Rist' 16*ce3cae9fSAndrew Rist' http://www.apache.org/licenses/LICENSE-2.0 17*ce3cae9fSAndrew Rist' 18*ce3cae9fSAndrew Rist' Unless required by applicable law or agreed to in writing, 19*ce3cae9fSAndrew Rist' software distributed under the License is distributed on an 20*ce3cae9fSAndrew Rist' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21*ce3cae9fSAndrew Rist' KIND, either express or implied. See the License for the 22*ce3cae9fSAndrew Rist' specific language governing permissions and limitations 23*ce3cae9fSAndrew Rist' under the License. 24cdf0e10cSrcweir' 25cdf0e10cSrcweir'************************************************************************* 26cdf0e10cSrcweir 27cdf0e10cSrcweir 28cdf0e10cSrcweir 29*ce3cae9fSAndrew Rist 30*ce3cae9fSAndrew Rist 31cdf0e10cSrcweir' Be sure that all variables are dimensioned: 32cdf0e10cSrcweiroption explicit 33cdf0e10cSrcweir 34cdf0e10cSrcweir 35cdf0e10cSrcweir 36cdf0e10cSrcweir' REQUIRED VARIABLES for interface/service tests: 37cdf0e10cSrcweir 38cdf0e10cSrcweir' Requiered for com.sun.star.lang.XComponent 39cdf0e10cSrcweir Global oComponentInstance As Object ' it will be disposed 40cdf0e10cSrcweir 41cdf0e10cSrcweir' Requiered for com.sun.star.chart.XChartData 42cdf0e10cSrcweir Global oCellToChange As Object 43cdf0e10cSrcweir 44cdf0e10cSrcweir' Requiered for com.sun.star.container.XNamed 45cdf0e10cSrcweir Global cNameToSet As String ' "fixed" if name is fixed 46cdf0e10cSrcweir 47cdf0e10cSrcweir' Requiered for com.sun.star.chart.XChartDataArray 48cdf0e10cSrcweir' Requiered for com.sun.star.text.XTextTable 49cdf0e10cSrcweir Global nTableW As Integer 50cdf0e10cSrcweir Global nTableH As Integer 51cdf0e10cSrcweir 52cdf0e10cSrcweir'Required for sheet.XCellRangeData 53cdf0e10cSrcweirGlobal newData As Variant 54cdf0e10cSrcweir 55cdf0e10cSrcweirGlobal oXTextContent as Object 56cdf0e10cSrcweirGlobal oXTextContentRange as Object 57cdf0e10cSrcweir 58cdf0e10cSrcweir 59cdf0e10cSrcweirSub CreateObj() 60cdf0e10cSrcweir 61cdf0e10cSrcweir'************************************************************************* 62cdf0e10cSrcweir' COMPONENT: 63cdf0e10cSrcweir' sw.SwXTextTable 64cdf0e10cSrcweir'************************************************************************* 65cdf0e10cSrcweirOn Error Goto ErrHndl 66cdf0e10cSrcweir Dim oCursor As Object 67cdf0e10cSrcweir Dim i As Integer 68cdf0e10cSrcweir Dim oInstance As Object 69cdf0e10cSrcweir 70cdf0e10cSrcweir oDoc = utils.createDocument("swriter", cObjectName) 71cdf0e10cSrcweir oCursor = oDoc.Text.createTextCursor() 72cdf0e10cSrcweir 73cdf0e10cSrcweir nTableH = 5 74cdf0e10cSrcweir nTableW = 7 75cdf0e10cSrcweir 76cdf0e10cSrcweir for i = 1 to 2 77cdf0e10cSrcweir oInstance = oDoc.createInstance("com.sun.star.text.TextTable") 78cdf0e10cSrcweir oInstance.initialize(nTableH, nTableW) 79cdf0e10cSrcweir oInstance.Name = "Table" + i 80cdf0e10cSrcweir ' insert created Table 81cdf0e10cSrcweir oDoc.Text.insertTextContent(oCursor, oInstance, false) 82cdf0e10cSrcweir if (i = 1) then oComponentInstance = oInstance 83cdf0e10cSrcweir next i 84cdf0e10cSrcweir 85cdf0e10cSrcweir oObj = oInstance 86cdf0e10cSrcweir oCellToChange = oObj.getCellByPosition(3, 4) 87cdf0e10cSrcweir cNameToSet = "NewTableName" 88cdf0e10cSrcweir 89cdf0e10cSrcweir 'Required for XCellRangeData 90cdf0e10cSrcweir newData() = Array(_ 91cdf0e10cSrcweir Array(2.5, 5.0, 2.5, 5.0, 3.0, 2.0, 1.0),_ 92cdf0e10cSrcweir Array(4.0, 9.0, 2.5, 5.0, 4.0, 1.0, 2.0),_ 93cdf0e10cSrcweir Array(2.5, 5.0, 2.5, 5.0, 3.0, 2.0, 1.0),_ 94cdf0e10cSrcweir Array(2.5, 5.0, 2.5, 5.0, 7.0, 7.0, 8.0),_ 95cdf0e10cSrcweir Array(4.0, 9.0, 2.5, 5.0, 4.0, 3.0, 2.0)) 96cdf0e10cSrcweir 97cdf0e10cSrcweir oXTextContent = oDoc.createInstance("com.sun.star.text.TextTable") 98cdf0e10cSrcweir oXTextContentRange = oDoc.Text.createTextCursor() 99cdf0e10cSrcweir 100cdf0e10cSrcweirExit Sub 101cdf0e10cSrcweirErrHndl: 102cdf0e10cSrcweir Test.Exception() 103cdf0e10cSrcweirEnd Sub 104cdf0e10cSrcweir 105cdf0e10cSrcweirFunction modifyDescriptor(descr As Variant) As Variant 106cdf0e10cSrcweirOn Error Goto ErrHndl 107cdf0e10cSrcweir Dim i As Integer, oCell As Object 108cdf0e10cSrcweir 109cdf0e10cSrcweir for i = 0 to nTableW - 1 110cdf0e10cSrcweir oCell = oObj.getCellByPosition(i, 0) 111cdf0e10cSrcweir oCell.String = "" + (nTableW - i) 112cdf0e10cSrcweir next i 113cdf0e10cSrcweir 114cdf0e10cSrcweir for i = 0 to ubound(descr) 115cdf0e10cSrcweir if descr(i).Name = "SortAscending" then descr(i).Value = true 116cdf0e10cSrcweir if descr(i).Name = "SortColumns" then descr(i).Value = true 117cdf0e10cSrcweir next i 118cdf0e10cSrcweir 119cdf0e10cSrcweir modifyDescriptor() = descr 120cdf0e10cSrcweirExit Function 121cdf0e10cSrcweirErrHndl: 122cdf0e10cSrcweir Out.Log("Exception in SwXTextTable.modifyDescriptor() :") 123cdf0e10cSrcweir Test.Exception() 124cdf0e10cSrcweirend Function 125cdf0e10cSrcweir 126cdf0e10cSrcweirFunction checkSort() As Boolean 127cdf0e10cSrcweirOn Error Goto ErrHndl 128cdf0e10cSrcweir Dim i As Integer, oCell As Object 129cdf0e10cSrcweir Dim bOK As Boolean 130cdf0e10cSrcweir 131cdf0e10cSrcweir bOK = true 132cdf0e10cSrcweir for i = 0 to nTableW - 1 133cdf0e10cSrcweir oCell = oObj.getCellByPosition(i, 0) 134cdf0e10cSrcweir bOK = bOK AND oCell.String = "" + (i + 1) 135cdf0e10cSrcweir next i 136cdf0e10cSrcweir 137cdf0e10cSrcweir checkSort() = bOK 138cdf0e10cSrcweirExit Function 139cdf0e10cSrcweirErrHndl: 140cdf0e10cSrcweir Out.Log("Exception in SwXTextTable.checkSort() :") 141cdf0e10cSrcweir Test.Exception() 142cdf0e10cSrcweirend Function 143cdf0e10cSrcweir</script:module> 144