'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2000, 2010 Oracle and/or its affiliates. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' 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 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