<?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="sw_SwXTextView" 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.
'
'*************************************************************************






' REQUIRED VARIABLES for interface/service tests:

' Requiered for XControlAccess
 Global oControlModel As Object

' Requiered for  com.sun.star.view.XSelectionSupplier
 Global SelectableObj1 As Object
 Global SelectableObj2 As Object


Sub CreateObj()

'*************************************************************************
' COMPONENT: 
' sw.SwXTextView
'*************************************************************************
On Error Goto ErrHndl

    Dim bOK As Boolean
    bOK = true

    oDoc = utils.createDocument("swriter", cObjectName)

    oCursor = oDoc.Text.createTextCursor()

    oCursor.gotoStart(false)

    oObj = oDoc.CurrentController

    oDoc.Text.String = "This is a string for " &amp; cObjectName

    SelectableObj1 = oDoc.Text.CreateTextCursor()
    SelectableObj1.goRight(5, true)

    SelectableObj2 = oDoc.Text.CreateTextCursor()
    SelectableObj2.goRight(8, false)
    SelectableObj2.goRight(10, true)


    addControl(oCursor, 2000, 4000, cObjectName)
    oControlModel = oDoc.Drawpage.Forms(0).getByName(cObjectName)


Exit Sub
ErrHndl:
    Test.Exception()
End Sub

Sub addControl( oCursor as Object, nPointX as Integer, nPointY as Integer, sName as String )

    Dim oDrawPage As Object
    Dim oForm, oForms As Object
    Dim oControl, oControlShape As Object
    Dim aSz As Variant
    Dim oText As Object

    oDrawPage = oDoc.DrawPage
    oControlShape = oDoc.createInstance( "com.sun.star.drawing.ControlShape" )
    oControl = oDoc.createInstance( "com.sun.star.form.component.CommandButton" )
    oForm = oDoc.createInstance( "com.sun.star.form.component.Form" )
    oforms = oDrawPage.Forms

    if oForms.count = 0 then
        oForms.InsertByIndex( 0, oForm )
    end if

    aSz = oControlShape.Size
    aSz.Width = 2900
    aSz.Height = 1200
    oControlShape.Size = aSz
    oControlShape.Control = oControl

    oControlShape.TextRange = oCursor.Start
    apoint = ocontrolshape.position
    apoint.x = nPointX
    aPoint.y = nPointY
    ocontrolshape.position = aPoint
    oDrawPage.add( oControlShape )
    if sName &lt;&gt; "" then
        oControl.Name = sName
    end if

End Sub
</script:module>
