1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="form_XChangeBroadcaster" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32***** 33'************************************************************************* 34 35 36 37' Be sure that all variables are dimensioned: 38option explicit 39 40 41 42Sub RunTest() 43 44'************************************************************************* 45' INTERFACE: 46' com.sun.star.form.XChangeBroadcaster 47'************************************************************************* 48On Error Goto ErrHndl 49 Dim list1 As Object, list2 As Object 50 Dim bOK As Boolean 51 52 53 Test.StartMethod("addChangeListener()") 54 bOK = true 55 56 57 list1 = createUnoListener("L1_", "com.sun.star.form.XChangeListener") 58 list2 = createUnoListener("L2_", "com.sun.star.form.XChangeListener") 59 60 oObj.addChangeListener(list1) 61 oObj.addChangeListener(list2) 62 63 Test.StartMethod("removeChangeListener()") 64 65 oObj.removeChangeListener(list1) 66 67 L1called = false 68 L2called = false 69 70 Out.Log("The action for listener calling must be perfomed interactively") 71 72 bOK = bOK AND L2called 73 Test.MethodTested("addChangeListener()", bOK) 74 75 bOK = bOK AND NOT L1called 76 Test.MethodTested("removeChangeListener()", bOK) 77 78Exit Sub 79ErrHndl: 80 Test.Exception() 81 bOK = false 82 resume next 83End Sub 84 85Dim L1called as Boolean 86Dim L2called as Boolean 87 88Sub L1_disposing() 89End Sub 90 91Sub L2_disposing() 92End Sub 93 94Sub L1_changed() 95 L1called = true 96 97End Sub 98 99Sub L2_changed() 100 L2called = true 101 102End Sub 103 104</script:module> 105