<?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="toolkit_UnoControlCheckBox" 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


' REQUIRED VARIABLES for interface/service tests:
Global oComponentInstance As Object
Global oGraphics as Object
Global oContext as Object
Global oWinpeer as Object
Global oToolkit as Object
Global oModel as Object
Global oXWindow as Object
  Global oCtrlShape as Object

Global bIL_itemStateChanged As Boolean
Global oEventItemListener As Object


Sub CreateObj()

'*************************************************************************
' COMPONENT: 
' toolkit.UnoControlCheckBox
'*************************************************************************
On Error Goto ErrHndl
    Dim bOK As Boolean
    Dim oShape1, oShape2, oShape3 As Object
    Dim oCurrCtrl As Object
    Dim oWin, oKit, oDevice As Object
    Dim oDoc2 As Object

    bOK = true

    oDoc = utils.createDocument("swriter", cObjectName)
    oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")

    oShape1 = createUnoControlShape("CheckBox", "UnoControlCheckBox")
    oShape2 = createUnoControlShape("CheckBox", "UnoControlCheckBox")
    oShape3 = createControlShape("TextField")

    ToolkitTools.addShape(oShape1)
    ToolkitTools.addShape(oShape2)
    ToolkitTools.addShape(oShape3)

    oModel = oShape1.getControl()
    oCurrCtrl = oDoc.getCurrentController()
    oWin = oCurrCtrl.getControl(oModel).getPeer()
    oKit = oWin.getToolkit()
    oDevice = oKit.createScreenCompatibleDevice(200,200)
    oGraphics = oDevice.createGraphics()

    oObj = oCurrCtrl.getControl(oModel)
    oComponentInstance = oDoc.getCurrentcontroller.getControl(oShape2.getControl())
    oContext = oDoc
    oWinpeer = oWin
    oToolkit = oKit
    oXWindow =  oDoc2.getCurrentController().getFrame().getComponentWindow()

    bIL_itemStateChanged = False
    out.log("create listener for item events")
    Dim oIListener As Object
    oIListener = createUnoListener("IL_", "com.sun.star.awt.XItemListener")
    oObj.addItemListener(oIListener)    
Exit Sub
ErrHndl:
    Test.Exception()
End Sub

Sub DisposeObj()
    'Re-open this document to close it successfully
    Dim oDoc2 As Object
    oDoc2 = utils.createDocument("swriter", cObjectName &amp; "1")
    oDoc2.Dispose()
End Sub

Sub IL_itemStateChanged(rEvent As Object)
    bIL_itemStateChanged = True
    Out.Log("CallBack for ItemListener itemStateChanged was called.")
    oEventItemListener = rEvent
End Sub

Sub IL_disposing(sEvent As Object)
End Sub
</script:module>