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_XFormController" 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' Be sure that all variables are dimensioned:
37option explicit
38
39'*************************************************************************
40' This Interface/Service test depends on the following GLOBAL variables,
41' which must be specified in the object creation:
42
43'     - Global otherWin As Object
44
45'*************************************************************************
46
47
48
49
50
51
52Sub RunTest()
53
54'*************************************************************************
55' INTERFACE:
56' com.sun.star.form.XFormController
57'*************************************************************************
58On Error Goto ErrHndl
59    Dim bOK As Boolean
60    Dim cntrl As Object
61    Dim list1 As Object, list2 As Object
62
63    Test.StartMethod("getCurrentControl()")
64    bOK = true
65    cntrl = oObj.getCurrentControl()
66    bOK = bOK AND NOT isNull(cntrl)
67    Test.MethodTested("getCurrentControl()", bOK)
68
69    Test.StartMethod("addActivateListener()")
70    bOK = true
71    list1 = createUnoListener("L1_", "com.sun.star.form.XFormControllerListener")
72    list2 = createUnoListener("L2_", "com.sun.star.form.XFormControllerListener")
73    oObj.addActivateListener(list1)
74    oObj.addActivateListener(list2)
75
76    Test.StartMethod("removeActivateListener()")
77    oObj.removeActivateListener(list1)
78
79    if NOT hasUnoInterfaces(cntrl, "com.sun.star.awt.XWindow") then
80        Out.Log("The oObj.getCurrentControl() return object doesn't support")
81        Out.Log("com.sun.star.awt.XWindow interface required for testing !!!")
82        Out.Log("Interface test must be redesigned thus !!!")
83    else
84        cntrl.setFocus()
85        wait(500)
86        otherWin.setFocus()
87        wait(500)
88    end if
89
90    Test.MethodTested("addActivateListener()", L2called)
91    Test.MethodTested("removeActivateListener()", _
92        L2called AND NOT L1called)
93
94Exit Sub
95ErrHndl:
96    Test.Exception()
97    bOK = false
98    resume next
99End Sub
100
101Dim L1called As Boolean
102Dim L2called As Boolean
103
104Sub L1_formActivated(ev As Object)
105    L1called = true
106    Out.Log("L1 activated Called !!!!!!!!!")
107end Sub
108
109Sub L1_formDeactivated(ev As Object)
110    L1called = true
111    Out.Log("L1 deactivated Called !!!!!!!!!")
112end Sub
113
114Sub L2_formActivated()
115    L2called = true
116    Out.Log("L2 activated Called !!!!!!!!!")
117end Sub
118
119Sub L2_formDeactivated()
120    L2called = true
121    Out.Log("L2 deactivated Called !!!!!!!!!")
122end Sub
123</script:module>
124