'************************************************************************* ' ' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. ' ' Copyright 2000, 2010 Oracle and/or its affiliates. ' ' OpenOffice.org - a multi-platform office productivity suite ' ' 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 ' REQUIRED VARIABLES for interface/service tests: Global cancelButton As Object Global queryWindow As Object Sub CreateObj() '************************************************************************* ' COMPONENT: ' dbaccess.TableWindowAccessibility '************************************************************************* On Error Goto ErrHndl Dim oMSF As Object, oWin As Object Dim thRunner As Object, xRoot As Object Dim tk As Object Dim dbSource As Object dbSource = createUnoService("com.sun.star.sdb.DataSource") Dim info(2) As new com.sun.star.beans.PropertyValue info(0).Name = "JavaDriverClass" info(0).Value = "org.gjt.mm.mysql.Driver" info(1).Name = "user" info(1).Value = jdbcUser info(2).Name = "password" info(2).Value = jdbcPassword dbSource.info = info() dbSource.URL = jdbcUrl Dim dbContext As Object dbContext = createUnoService("com.sun.star.sdb.DatabaseContext") Dim sourceName As String sourceName = "AAADBSource for dbu-accessibility" if dbContext.hasByName(sourceName) then dbContext.revokeObject(sourceName) endif dbContext.registerObject(sourceName, dbSource) Dim connection As Object connection = dbSource.getIsolatedConnection(jdbcUser, jdbcPassword) Dim statement As Object statement = connection.createStatement() statement.executeUpdate("drop table if exists tst_table1") statement.executeUpdate("drop table if exists tst_table2") statement.executeUpdate("create table tst_table1 (id1 int)") statement.executeUpdate("create table tst_table2 (id2 int)") Dim defContainer As Object defContainer = dbSource.getQueryDefinitions() Dim newQuery As Object newQuery = createUnoService("com.sun.star.sdb.QueryDefinition") newQuery.Command = "select * from tst_table1, tst_table2 where " + _ "tst_table1.id1=tst_table2.id2" defContainer.insertByName("Query1", newQuery) oMSF = getProcessServiceManager() thRunner = oMSF.createInstance("basichelper.ThreadRunner") tk = createUNOService("com.sun.star.awt.Toolkit") wait(500) thRunner.initialize(Array("ExecuteDialog", "com.sun.star.sdb.DatasourceAdministrationDialog")) wait(3000) oWin = tk.getActiveTopWindow() xRoot = utils.at_getAccessibleObject(oWin) Dim pageTabList As Object pageTabList = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PAGE_TAB_LIST) pageTabList.selectAccessibleChild(3) wait(500) Dim editQueryButton As Object editQueryButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Edit Query") cancelButton = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PUSH_BUTTON, "Cancel") editQueryButton.doAccessibleAction(0) wait(1000) oWin = tk.getActiveTopWindow() queryWindow = oWin xRoot = utils.at_getAccessibleObject(oWin) oObj = utils.at_getAccessibleObjectForRole(xRoot, com.sun.star.accessibility.AccessibleRole.PANEL) Exit Sub ErrHndl: Test.Exception() End Sub Sub DisposeObj() utils.closeObject(queryWindow) if NOT isNull(cancelButton) then cancelButton.doAccessibleAction(0) wait(1000) End If End Sub Sub fireEvent() End Sub