blob: 684f11576aef86e308851b0384e073ca7debc480 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="sc_ScCellCursorObj" script:language="StarBasic">
'*************************************************************************
'
' 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.
'
'*************************************************************************
' Be sure that all variables are dimensioned:
option explicit
' REQUIRED VARIABLES for interface/service tests:
Global nCellCursorCol As Long
Global nCellCursorRow As Long
' Required for com.sun.star.chart.XChartData
Global oCellToChange As Object
'com.sun.star.sheet.XCellSeries
Global aCellSeries(2) as Integer
' com.sun.star.sheet.XCellRangeData
Global newData As Variant
Global oSheet as Object
Sub CreateObj()
'*************************************************************************
' COMPONENT:
' sc.ScCellCursorObj
'*************************************************************************
On Error Goto ErrHndl
Dim oSheetCursor as Object, oRange As Object
Dim n as Integer, m As Integer
oDoc = utils.createDocument("scalc", cObjectName)
oSheet = oDoc.Sheets(0)
oCellToChange = oSheet.getCellByPosition(2, 3)
oRange = oSheet.getCellRangeByName("$A$1:$D$4")
oSheetCursor = oSheet.createCursorByRange(oRange)
For m = 1 to 2
For n = 10 to 15
oSheet.getCellByPosition(m,n).setValue(n)
Next n
Next m
'XSheetCellCursor::colapseToCurrentRegion() :
nCellCursorRow = 12
nCellCursorCol 2
aCellSeries(0) = 3
aCellSeries(1) = 3
'Required for XCellRangeData
newData = Array(_
Array(2.5, 5.0, 2.5, 5.0),_
Array(4.0, 9.0, 2.5, 5.0),_
Array(2.5, 5.0, 2.5, 5.0),_
Array(4.0, 9.0, 2.5, 5.0))_
oObj = oSheetCursor
Exit Sub
ErrHndl:
Test.Exception()
End Sub
Function modifyDescriptor(descr As Variant) As Variant
On Error Goto ErrHndl
Dim i As Integer, n as Integer
Dim oCell As Object
Dim vFields(0) as new com.sun.star.table.TableSortField
for i = 0 to aCellSeries(0) - 1
oCell = oSheet.getCellByPosition(0, i)
oCell.String = "" + (aCellSeries(0) - i)
oCell.setFormula(aCellSeries(0) - i)
next i
'ShowNameValuePair(descr)
vFields(0).IsCaseSensitive = false
vFields(0).IsAscending = true
vFields(0).FieldType = com.sun.star.table.TableSortFieldType.ALPHANUMERIC
for i = 0 to ubound(descr)
if descr(i).Name = "IsSortColumns" then descr(i).Value = false
if descr(i).Name = "SortFields" then descr(i).Value = vFields()
next i
modifyDescriptor() = descr
Exit Function
ErrHndl:
Out.Log("Exception in ScCellCursorObj.modifyDescriptor() :")
Test.Exception()
end Function
Function checkSort() As Boolean
On Error Goto ErrHndl
Dim i As Integer, oCell As Object
Dim bOK As Boolean
bOK = true
for i = 0 to aCellSeries(0) - 1
oCell = oSheet.getCellByPosition(0,i)
bOK = bOK AND oCell.String = "" + (i + 1)
out.dbg(oCell.String + ":" + (i+1))
next i
checkSort() = bOK
Exit Function
ErrHndl:
Out.Log("Exception in ScCellCursorObj.checkSort() :")
Test.Exception()
end Function
</script:module>