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