'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2008 by Sun Microsystems, Inc. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' $RCSfile: frame_XModel.xba,v $ ' ' $Revision: 1.4 $ ' ' This file is part of OpenOffice.org. ' ' OpenOffice.org is free software: you can redistribute it and/or modify ' it under the terms of the GNU Lesser General Public License version 3 ' only, as published by the Free Software Foundation. ' ' OpenOffice.org is distributed in the hope that it will be useful, ' but WITHOUT ANY WARRANTY; without even the implied warranty of ' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ' GNU Lesser General Public License version 3 for more details ' (a copy is included in the LICENSE file that accompanied this code). ' ' You should have received a copy of the GNU Lesser General Public License ' version 3 along with OpenOffice.org. If not, see ' ' for a copy of the LGPLv3 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 oXModelController as Object ' - Global oXModelSel as Object ' - Global oXModelToSel as Object '************************************************************************* Sub RunTest() '************************************************************************* ' INTERFACE: ' com.sun.star.frame.XModel '************************************************************************* On Error Goto ErrHndl Dim bOK As Boolean Dim oController As Object Dim oSelection As Object Dim aArgs(0 to 0) As Variant Dim oCursor As Object Dim cURL As String Dim i As Integer Dim args1(0) As New com.sun.star.beans.PropertyValue Test.StartMethod("attachResource()") args1(0).Name = "XModel" bOK = oObj.attachResource(".component:DB/DataSourceBrowser", args1()) Test.MethodTested("attachResource()", bOK) Test.StartMethod("getURL()") bOK = true cURL = oObj.getURL() bOK = bOK AND (cURL = ".component:DB/DataSourceBrowser") Test.MethodTested("getURL()", bOK) Test.StartMethod("getArgs()") bOK = true aArgs() = oObj.Args bOK = bOK AND NOT isNull(aArgs()) '(0).Name = "XModel" Test.MethodTested("getArgs()", bOK) Test.StartMethod("getCurrentController()") bOK = true Dim oCurrCtrl As Object oCurrCtrl = oObj.getCurrentController() bOK = bOK AND isObject(oCurrCtrl) bOK = bOK AND hasUnoInterfaces(oCurrCtrl, "com.sun.star.frame.XController") Test.MethodTested("getCurrentController()", bOK) Test.StartMethod("getCurrentSelection()") bOK = true Dim oCurrSelection As Object oXModelSel.select(oXModelToSel) oCurrSelection = oObj.getCurrentSelection() bOK = bOK AND hasUnoInterfaces(oCurrSelection, "com.sun.star.uno.XInterface") Test.MethodTested("getCurrentSelection()", bOK) Test.StartMethod("hasControllersLocked()") bOK = true ' there should no controllers be locked bOK = bOK AND NOT oObj.hasControllersLocked() Test.MethodTested("hasControllersLocked()", bOK) ' now lock controllers Test.StartMethod("lockControllers()") bOK = true oObj.lockControllers() ' controllers should be locked bOK = bOK AND oObj.hasControllersLocked() Test.MethodTested("lockControllers()", bOK) ' unlock controllers and check success Test.StartMethod("unlockControllers()") bOK = true oObj.unlockControllers() bOK = bOK AND NOT oObj.hasControllersLocked() Test.MethodTested("unlockControllers()", bOK) Test.StartMethod("connectController()") oObj.connectController(oXModelController) Test.MethodTested("connectController()", bOK) Test.StartMethod("disconnectController()") oObj.disconnectController(oXModelController) oObj.connectController(oCurrCtrl) Test.MethodTested("disconnectController()", bOK) Test.StartMethod("setCurrentController()") oObj.setCurrentController(oCurrCtrl) Test.MethodTested("setCurrentController()", bOK) Exit Sub ErrHndl: Test.Exception() bOK = false resume next End Sub