'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: frame_XDispatch.xba,v $ ' ' $Revision: 1.3 $ ' ' 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 dispatchURL As String '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.frame.XDispatch '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim listener1 As Object, listener2 As Object Dim URL As New com.sun.star.util.URL URL.Complete = dispatchURL Out.Log("Dispatch URL is '" + dispatchURL + "'") if isNull(oObj) then Out.Log("Component is NULL !!!!") Test.StartMethod("addStatusListener()") listener1 = createUnoListener("SL1_", "com.sun.star.frame.XStatusListener") listener2 = createUnoListener("SL2_", "com.sun.star.frame.XStatusListener") if NOT(isNull(listener1) OR isNull(listener2)) then Out.Log("Listeners were created") else Out.Log("Listeners were NOT created !!!") EndIf oObj.addStatusListener(listener1, URL) oObj.addStatusListener(listener2, URL) Out.Log("Listeners were added") Test.StartMethod("removeStatusListener()") oObj.removeStatusListener(listener1, URL) Test.StartMethod("dispatch()") SL1Called = false SL2Called = false Out.Log("Dispatching ...") oObj.dispatch(URL, DimArray()) wait(500) Out.Log("Dispatched.") Test.MethodTested("dispatch()", true) bOK = SL2Called Test.MethodTested("addStatusListener()", bOK) bOK = bOK AND NOT SL1Called Test.MethodTested("removeStatusListener()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub Dim SL1Called As Boolean Dim SL2Called As Boolean Sub SL1_StatusChanged(ev As Variant) SL1Called = true Out.Log("SL1_StatusChanged() called.") End Sub Sub SL2_StatusChanged(ev As Variant) SL2Called = true Out.Log("SL2_StatusChanged() called.") End Sub