blob: 6fc40043b7b1cdb4f396093289d199229e3684e6 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="awt_XWindow" script:language="StarBasic">
'*************************************************************************
'
' Licensed to the Apache Software Foundation (ASF) under one
' or more contributor license agreements. See the NOTICE file
' distributed with this work for additional information
' regarding copyright ownership. The ASF licenses this file
' to you under the Apache License, Version 2.0 (the
' "License"); you may not use this file except in compliance
' with the License. You may obtain a copy of the License at
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing,
' software distributed under the License is distributed on an
' "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
' KIND, either express or implied. See the License for the
' specific language governing permissions and limitations
' under the 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 oXWindow as Object
' Global oCtrlShape as Variant (could be NULL)
Dim bCB1_windowResized As Boolean
Dim bCB2_windowResized As Boolean
Dim bCB1_windowMoved As Boolean
Dim bCB2_windowMoved As Boolean
Dim bCB1_windowHidden As Boolean
Dim bCB2_windowHidden As Boolean
Dim bCB1_windowShown As Boolean
Dim bCB2_windowShown As Boolean
Dim bCB1_disposing As Boolean
Dim bCB2_disposing As Boolean
Dim bCB3_focusGained As Boolean
Dim bCB4_focusGained As Boolean
Dim bCB3_focusLost As Boolean
Dim bCB4_focusLost As Boolean
Sub RunTest()
'*************************************************************************
' INTERFACE:
' com.sun.star.awt.XWindow
'*************************************************************************
On Error Goto ErrHndl
Dim bOK As Boolean
If isNull(oXWindow) Then
Out.Log("Could not get relation 'oXWindow' !")
End If
Dim oListener1 As Object, oListener2 As Object
Dim oListener3 As Object, oListener4 As Object
Dim oListener5 As Object, oListener6 As Object
Dim oListener7 As Object, oListener8 As Object
Dim oListener9 As Object, oListener10 As Object
Dim oListener11 As Object, oListener12 As Object
Dim size As Variant, pos As Variant
bCB1_windowResized = false
bCB2_windowResized = false
bCB1_windowMoved = false
bCB2_windowMoved = false
bCB1_windowHidden = false
bCB2_windowHidden = false
bCB1_windowShown = false
bCB2_windowShown = false
bCB1_disposing = false
bCB2_disposing = false
bCB3_focusGained = false
bCB4_focusLost = false
bCB3_focusGained = false
bCB4_focusLost = false
Out.Log("create two com.sun.star.awt.XWindowListener")
oListener1 = createUNOListener("CB1_", "com.sun.star.awt.XWindowListener")
oListener2 = createUNOListener("CB2_", "com.sun.star.awt.XWindowListener")
Out.Log("create two com.sun.star.awt.XFocusListener")
oListener3 = createUNOListener("CB3_", "com.sun.star.awt.XFocusListener")
oListener4 = createUNOListener("CB4_", "com.sun.star.awt.XFocusListener")
Out.Log("create two com.sun.star.awt.XKeyListener")
oListener5 = createUNOListener("CB5_", "com.sun.star.awt.XKeyListener")
oListener6 = createUNOListener("CB6_", "com.sun.star.awt.XKeyListener")
Out.Log("create two com.sun.star.awt.XMouseListener")
oListener7 = createUNOListener("CB7_", "com.sun.star.awt.XMouseListener")
oListener8 = createUNOListener("CB8_", "com.sun.star.awt.XMouseListener")
Out.Log("create two com.sun.star.awt.XMouseMotionListener")
oListener9 = createUNOListener("CB9_", "com.sun.star.awt.XMouseMotinListener")
oListener10 = createUNOListener("CB10_", "com.sun.star.awt.XMouseMotinListener")
Out.Log("create two com.sun.star.awt.XPaintListener")
oListener11 = createUNOListener("CB11_", "com.sun.star.awt.XPaintListener")
oListener12 = createUNOListener("CB12_", "com.sun.star.awt.XPaintListener")
Test.StartMethod("setPosSize()")
bOK = true
oObj.setPosSize(250,250,250,250,com.sun.star.awt.PosSize.POSSIZE)
Out.Log("oObj.setPosSize(250,250,250,250,com.sun.star.awt.PosSize.POSSIZE")
Test.StartMethod("getPosSize()")
Dim vRectangle As Variant
vRectangle = oObj.getPosSize()
Out.Log("Returned Values: X=" + vRectangle.X + " Y=" + vRectangle.Y _
+ " WIDTH=" + vRectangle.WIDTH + " HEIGTH=" + vRectangle.HEIGHT
bOK = bOK AND vRectangle.X = 250
bOK = bOK AND vRectangle.Y = 250
bOK = bOK AND vRectangle.Width = 250
bOK = bOK AND vRectangle.Height = 250
Test.MethodTested("setPosSize()", bOK)
Test.MethodTested("getPosSize()", bOK)
Test.StartMethod("setVisible()")
bOK = true
oObj.setVisible(false)
oObj.setVisible(true)
Test.MethodTested("setVisible()", bOK)
Test.StartMethod("setEnable()")
bOK = true
oObj.setEnable(false)
oObj.setEnable(true)
Test.MethodTested("setEnable()", bOK)
Test.StartMethod("setFocus()")
bOK = true
oObj.setFocus()
oXWindow.setFocus()
oObj.setFocus()
Test.MethodTested("setFocus()", bOK)
Test.StartMethod("addWindowListener()")
bOK = true
oObj.addWindowListener(oListener1)
oObj.addWindowListener(oListener2)
oObj.setVisible(false)
oObj.setVisible(true)
if NOT isNull(oCtrlShape) then
size = oCtrlShape.Size
size.Width = size.Width + 100
size.Height = size.Height + 100
oCtrlShape.Size = size
pos = oCtrlShape.Position
pos.X = pos.X + 100
pos.Y = pos.Y + 100
oCtrlShape.Position = pos
else
Out.Log("oObj.setPosSize(300,300,300,300,com.sun.star.awt.PosSize.POSSIZE)")
oObj.setPosSize(300,300,300,300,com.sun.star.awt.PosSize.POSSIZE)
end if
wait(1000)
bOK = bOK AND bCB1_windowResized AND bCB2_windowResized AND bCB1_windowMoved AND _
bCB2_windowMoved AND bCB1_windowHidden AND bCB2_windowHidden AND _
bCB1_windowShown AND bCB2_windowShown AND NOT bCB1_disposing AND NOT _
bCB2_disposing
Test.MethodTested("addWindowListener()", bOK)
Test.StartMethod("removeWindowListener()")
bOK = true
bCB1_windowResized = false
bCB2_windowResized = false
bCB1_windowMoved = false
bCB2_windowMoved = false
bCB1_windowHidden = false
bCB2_windowHidden = false
bCB1_windowShown = false
bCB2_windowShown = false
bCB1_disposing = false
bCB2_disposing = false
oObj.removeWindowListener(oListener2)
oObj.setVisible(false)
oObj.setVisible(true)
oObj.setVisible(false)
oObj.setVisible(true)
if NOT isNull(oCtrlShape) then
size = oCtrlShape.Size
size.Width = size.Width + 100
size.Height = size.Height + 100
oCtrlShape.Size = size
pos = oCtrlShape.Position
pos.X = pos.X + 100
pos.Y = pos.Y + 100
oCtrlShape.Position = pos
else
Out.Log("oObj.setPosSize(300,300,300,300,com.sun.star.awt.PosSize.POSSIZE)")
oObj.setPosSize(301,301,301,301,com.sun.star.awt.PosSize.POSSIZE)
end if
wait(200)
bOK = bOK AND bCB1_windowResized AND NOT bCB2_windowResized AND bCB1_windowMoved AND NOT _
bCB2_windowMoved AND bCB1_windowHidden AND NOT bCB2_windowHidden AND _
bCB1_windowShown AND NOT bCB2_windowShown AND NOT bCB1_disposing AND NOT _
bCB2_disposing
oObj.removeWindowListener(oListener1)
Test.MethodTested("removeWindowListener()", bOK)
Test.StartMethod("addFocusListener()")
bOK = true
oObj.addFocusListener(oListener3)
oObj.addFocusListener(oListener4)
oObj.setFocus()
wait(200)
oXWindow.setFocus()
wait(200)
oObj.setFocus()
wait(200)
bOK = bOK AND bCB3_focusGained AND bCB4_focusLost AND bCB3_focusGained AND bCB4_focusLost
Test.MethodTested("addFocusListener()", bOK)
Test.StartMethod("removeFocusListener()")
bOK = true
bCB3_focusGained = false
bCB4_focusLost = false
bCB3_focusGained = false
bCB4_focusLost = false
oObj.removeFocusListener(oListener4)
oObj.setFocus()
wait(200)
oXWindow.setFocus()
wait(200)
oObj.setFocus()
wait(200)
bOK = bOK AND bCB3_focusGained AND NOT bCB4_focusLost AND bCB3_focusGained AND NOT bCB4_focusLost
oObj.removeFocusListener(oListener3)
Test.MethodTested("removeFocusListener()", bOK)
'***************************************************************************************
'* LISTENERS which needs interactions *
'***************************************************************************************
'*
'* The following listener tests need interactions. That means i.e. a
'* com.sun.star.awt.XKeyListener needs action from the keyboard. This is not possible in
'* the automatic API-Testing. To test the listener you can set a breakpoint at the
'* specific function call. Then do interaction which should call the listener. It must be
'* pop up a message box.
'*
'***************************************************************************************
Test.StartMethod("addKeyListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.addKeyListener(oListener5)
oObj.addKeyListener(oListener6)
bOK = bOK AND true
Test.MethodTested("addKeyListener()", bOK)
Test.StartMethod("removeKeyListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.removeKeyListener(oListener5)
bOK = bOK AND true
oObj.removeKeyListener(oListener6)
Test.MethodTested("removeKeyListener()", bOK)
Test.StartMethod("addMouseListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.addMouseListener(oListener7)
oObj.addMouseListener(oListener8)
bOK = bOK AND true
Test.MethodTested("addMouseListener()", bOK)
Test.StartMethod("removeMouseListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.removeMouseListener(oListener7)
bOK = bOK AND true
oObj.removeMouseListener(oListener8)
Test.MethodTested("removeMouseListener()", bOK)
Test.StartMethod("addMouseMotionListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.addMouseMotionListener(oListener9)
oObj.addMouseMotionListener(oListener10)
bOK = bOK AND true
Test.MethodTested("addMouseMotionListener()", bOK)
Test.StartMethod("removeMouseMotionListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.removeMouseMotionListener(oListener9)
bOK = bOK AND true
oObj.removeMouseMotionListener(oListener10)
Test.MethodTested("removeMouseMotionListener()", bOK)
Test.StartMethod("addPaintListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.addPaintListener(oListener11)
oObj.addPaintListener(oListener12)
bOK = bOK AND true
Test.MethodTested("addPaintListener()", bOK)
Test.StartMethod("removePaintListener()")
bOK = true
Out.Log("Not realy tested! Please see comments in Basic-Source.")
oObj.removePaintListener(oListener11)
bOK = bOK AND true
oObj.removePaintListener(oListener12)
Test.MethodTested("removePaintListener()", bOK)
Exit Sub
ErrHndl:
Test.Exception()
bOK = false
resume next
End Sub
' Listener call backs for com.sun.star.awt.XWindowListener
Sub CB1_windowResized
Out.Log("CallBack for Listener1 windowResized was called.")
bCB1_windowResized = true
End Sub
Sub CB2_windowResized
Out.Log("CallBack for Listener2 windowResized was called.")
bCB2_windowResized = true
End Sub
Sub CB1_windowMoved
Out.Log("CallBack for Listener1 windowMoved was called.")
bCB1_windowMoved = true
End Sub
Sub CB2_windowMoved
Out.Log("CallBack for Listener2 windowMoved was called.")
bCB2_windowMoved = true
End Sub
Sub CB1_windowHidden
Out.Log("CallBack for Listener1 windowHidden was called.")
bCB1_windowHidden = true
End Sub
Sub CB2_windowHidden
Out.Log("CallBack for Listener2 windowHidden was called.")
bCB2_windowHidden = true
End Sub
Sub CB1_windowShown
Out.Log("CallBack for Listener1 windowShown was called.")
bCB1_windowShown = true
End Sub
Sub CB2_windowShown
Out.Log("CallBack for Listener2 windowShown was called.")
bCB2_windowShown = true
End Sub
Sub CB1_disposing
Out.Log("CallBack for Listener1 disposing was called")
bCB1_disposing = true
End Sub
Sub CB2_disposing
Out.Log("CallBack for Listener2 disposing was called")
bCB2_disposing = true
End Sub
' Listener call backs for com.sun.star.awt.XFocusListener
Sub CB3_focusGained
Out.Log("CallBack for Listener3 'focusGained' was called")
bCB3_focusGained = true
End Sub
Sub CB4_focusGained
Out.Log("CallBack for Listener4 'focusGained' was called")
bCB4_focusGained = true
End Sub
Sub CB3_focusLost
Out.Log("CallBack for Listener3 'focusLost' was called")
bCB3_focusLost = true
End Sub
Sub CB4_focusLost
Out.Log("CallBack for Listener4 'focusLost' was called")
bCB4_focusLost = true
End Sub
Sub CB3_disposing
End Sub
Sub CB4_disposing
End Sub
' Listener call backs for com.sun.star.awt.XKeyListener
' They will never be called beause of no interaction in API-Testing
Sub CB5_keyPressed
MsgBox("CallBack for Listener5 'keyPressed' was called")
End Sub
Sub CB6_keyPressed
MsgBox("CallBack for Listener6 'keyPressed' was called")
End Sub
Sub CB5_keyReleased
MsgBox("CallBack for Listener5 'keyReleased' was called")
End Sub
Sub CB6_keyReleased
MsgBox("CallBack for Listener6 'keyReleased' was called")
End Sub
Sub CB5_disposing
End Sub
Sub CB6_disposing
End Sub
' Listener call backs for com.sun.star.awt.XMouseListener
' They will never be called beause of no interaction in API-Testing
Sub CB7_mousePressed
MsgBox("CallBack for Listener7 'mousePressed' was called")
End Sub
Sub CB8_mousePressed
MsgBox("CallBack for Listener8 'mousePressed' was called")
End Sub
Sub CB7_mouseReleased
MsgBox("CallBack for Listener8 'mouseReleased' was called")
End Sub
Sub CB8_mouseReleased
MsgBox("CallBack for Listener8 'mouseReleased' was called")
End Sub
Sub CB7_mouseEntered
MsgBox("CallBack for Listener7 'mouseEntered' was called")
End Sub
Sub CB8_mouseEntered
MsgBox("CallBack for Listener8 'mouseEntered' was called")
End Sub
Sub CB7_mouseExited
MsgBox("CallBack for Listener7 'mouseExited' was called")
End Sub
Sub CB8_mouseExited
MsgBox("CallBack for Listener8 'mouseExited' was called")
End Sub
Sub CB7_disposing
End Sub
Sub CB8_disposing
End Sub
' Listener call backs for com.sun.star.awt.XMouseMotionListener
' They will never be called beause of no interaction in API-Testing
Sub CB9_mouseDragged
MsgBox("CallBack for Listener9 'mouseDragged' was called")
End Sub
Sub CB10_mouseDragged
MsgBox("CallBack for Listener10 'mouseDragged' was called")
End Sub
Sub CB9_mouseMoved
MsgBox("CallBack for Listener9 'mouseMoved' was called")
End Sub
Sub CB10_mouseMoved
MsgBox("CallBack for Listener10 'mouseMoved' was called")
End Sub
Sub CB9_disposing
End Sub
Sub CB10_disposing
End Sub
' Listener call backs for com.sun.star.awt.XMouseMotionListener
' They will never be called beause of no interaction in API-Testing
Sub CB11_windowPaint
MsgBox("CallBack for Listener11 'windowPaint' was called")
End Sub
Sub CB12_windowPaint
MsgBox("CallBack for Listener12 'windowPaint' was called")
End Sub
Sub CB11_disposing
End Sub
Sub CB12_disposing
End Sub
</script:module>