'************************************************************************* ' ' 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 '************************************************************************* ' This Interface/Service test depends on the following GLOBAL variables, ' which must be specified in the object creation: ' Global oCellToChange As Object '************************************************************************* Dim nCB1Val as Integer, nCB2Val As Integer Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.chart.XChartData '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim nNumber As Double Dim oListener1 As Object Dim oListener2 As Object nCB1Val = 0 nCB2Val = 0 Test.StartMethod("getNotANumber()") bOK = true bOK = bOK AND (VarType(oObj.getNotANumber()) = 5) Test.MethodTested("getNotANumber()", bOK) Test.StartMethod("isNotANumber()") bOK = true nNumber = oObj.getNotANumber() bOK = bOK AND oObj.IsNotANumber(nNumber) bOK = bOK AND NOT oObj.IsNotANumber(nNumber + 1) Test.MethodTested("isNotANumber()", bOK) Out.Log("create listeners...") oListener1 = createUNOListener("CB1_", "com.sun.star.chart.XChartDataChangeEventListener") oListener2 = createUNOListener("CB2_", "com.sun.star.chart.XChartDataChangeEventListener") 'add listeners to object if initialized if NOT(isNull(oListener1)) then oObj.addChartDataChangeEventListener(oListener1) end if if NOT(isNull(oListener2)) then oObj.addChartDataChangeEventListener(oListener2) end if Test.StartMethod("addChartDataChangeEventListener()") bOK = true oCellToChange.Value = 100 wait 2000 bOK = bOK AND ((nCB1Val = 1) AND (nCB2Val = 1)) Test.MethodTested("addChartDataChangeEventListener()", bOK) Test.StartMethod("removeChartDataChangeEventListener()") bOK = true oObj.removeChartDataChangeEventListener(oListener2) oCellToChange.Value = 10 wait 2000 bOK = bOK AND ((nCB1Val = 2 ) AND (nCB2Val = 1)) Test.MethodTested("removeChartDataChangeEventListener()", bOK) Out.Log("Removing last listener.") oObj.removeChartDataChangeEventListener(oListener1) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub ' callback routine called chartDataChanged for listener1 Sub CB1_chartDataChanged Out.Log("CallBack for Listener 1 was called.") nCB1Val = nCB1Val + 1 End Sub ' callback routine called chartDataChanged for listener2 Sub CB2_chartDataChanged Out.Log("CallBack for Listener 2 was called.") nCB2Val = nCB2Val + 1 End Sub