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' Licensed to the Apache Software Foundation (ASF) under one 9' or more contributor license agreements. See the NOTICE file 10' distributed with this work for additional information 11' regarding copyright ownership. The ASF licenses this file 12' to you under the Apache License, Version 2.0 (the 13' "License"); you may not use this file except in compliance 14' with the License. You may obtain a copy of the License at 15' 16' http://www.apache.org/licenses/LICENSE-2.0 17' 18' Unless required by applicable law or agreed to in writing, 19' software distributed under the License is distributed on an 20' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 21' KIND, either express or implied. See the License for the 22' specific language governing permissions and limitations 23' under the License. 24' 25'************************************************************************* 26 27 28 29 30 31' Be sure that all variables are dimensioned: 32option explicit 33 34 35 36Sub RunTest() 37 38'************************************************************************* 39' INTERFACE: 40' com.sun.star.form.XChangeBroadcaster 41'************************************************************************* 42On Error Goto ErrHndl 43 Dim list1 As Object, list2 As Object 44 Dim bOK As Boolean 45 46 47 Test.StartMethod("addChangeListener()") 48 bOK = true 49 50 51 list1 = createUnoListener("L1_", "com.sun.star.form.XChangeListener") 52 list2 = createUnoListener("L2_", "com.sun.star.form.XChangeListener") 53 54 oObj.addChangeListener(list1) 55 oObj.addChangeListener(list2) 56 57 Test.StartMethod("removeChangeListener()") 58 59 oObj.removeChangeListener(list1) 60 61 L1called = false 62 L2called = false 63 64 Out.Log("The action for listener calling must be perfomed interactively") 65 66 bOK = bOK AND L2called 67 Test.MethodTested("addChangeListener()", bOK) 68 69 bOK = bOK AND NOT L1called 70 Test.MethodTested("removeChangeListener()", bOK) 71 72Exit Sub 73ErrHndl: 74 Test.Exception() 75 bOK = false 76 resume next 77End Sub 78 79Dim L1called as Boolean 80Dim L2called as Boolean 81 82Sub L1_disposing() 83End Sub 84 85Sub L2_disposing() 86End Sub 87 88Sub L1_changed() 89 L1called = true 90 91End Sub 92 93Sub L2_changed() 94 L2called = true 95 96End Sub 97 98</script:module> 99