diff options
Diffstat (limited to 'qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba')
-rw-r--r-- | qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba b/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba new file mode 100644 index 000000000000..5090eed34f13 --- /dev/null +++ b/qadevOOo/tests/basic/mod/forms/OTimeModel/forms_OTimeModel.xba @@ -0,0 +1,216 @@ +<?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="forms_OTimeModel" script:language="StarBasic"> + + +'************************************************************************* +'* +'* $RCSfile: forms_OTimeModel.xba,v $ +'* +'* $Revision: 1.1 $ +'* +'* last change:$Date: 2003-01-27 17:57:39 $ +'* +'* The Contents of this file are made available subject to the terms of +'* either of the following licenses +'* +'* - GNU Lesser General Public License Version 2.1 +'* - Sun Industry Standards Source License Version 1.1 +'* +'* Sun Microsystems Inc., October, 2000 +'* +'* GNU Lesser General Public License Version 2.1 +'* ============================================= +'* Copyright 2000 by Sun Microsystems, Inc. +'* 901 San Antonio Road, Palo Alto, CA 94303, USA +'* +'* This library is free software; you can redistribute it and/or +'* modify it under the terms of the GNU Lesser General Public +'* License version 2.1, as published by the Free Software Foundation. +'* +'* This library 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 for more details. +'* +'* You should have received a copy of the GNU Lesser General Public +'* License along with this library; if not, write to the Free Software +'* Foundation, Inc., 59 Temple Place, Suite 330, Boston, +'* MA 02111-1307 USA +'* +'* +'* Sun Industry Standards Source License Version 1.1 +'* ================================================= +'* The contents of this file are subject to the Sun Industry Standards +'* Source License Version 1.1 (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.openoffice.org/license.html. +'* +'* Software provided under this License is provided on an "AS IS" basis, +'* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, +'* WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, +'* MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. +'* See the License for the specific provisions governing your rights and +'* obligations concerning the Software. +'* +'* The Initial Developer of the Original Code is: Sun Microsystems, Inc. +'* +'* Copyright: 2000 by Sun Microsystems, Inc. +'* +'* All Rights Reserved. +'* +'* Contributor(s): _______________________________________ +'* +'* +'************************************************************************* +'************************************************************************* + + + +' Be sure that all variables are dimensioned: +option explicit + + + +' REQUIRED VARIABLES for interface/service tests: + +' for XComponent +Global oComponentInstance As Object + +' for XPersistObject +Global oPersistInstance As Object + +' for XUpdateBroadcaster +Global bCustomUpdate As Boolean + +Global oForm As Object + +Global oConnection As Object + + +Sub CreateObj() + +'************************************************************************* +' COMPONENT: +' forms.OTimeModel +'************************************************************************* +On Error Goto ErrHndl + + Dim bOK As Boolean + Dim oShape As Object, oDrawPage As Object + + bOK = true + ' --- create a document if needed + + oDoc = utils.createDocument("swriter", cObjectName) + + oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 1000, 2000, 1000) + oObj = oShape.getControl() + oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 3000, 2000, 1000) + oComponentInstance = oShape.getControl() + oShape = toolkittools.addControlToDefaultForm("TimeField", 1000, 5000, 2000, 1000) + oPersistInstance = oShape.getControl() + + 'get control from document + oDrawPage = oDoc.DrawPage + oForm = oDrawPage.Forms.getByName("Standard") + + Dim oRowSet As Object, facc As Object, dbSource As Object + Dim srcFile As String, dstFile As String, dbSrcURL As String + + ' Copying DB file to temp location + srcFile = utils.Path2URL(cTestDocsDir) + "TestDB/testDB.dbf" + dstFile = utils.getTempFileURL("OTimeModelDB.dbf") + dbSrcURL = "sdbc:dbase:" + gsub(dstFile, "/OTimeModelDB.dbf", "") + + facc = createUnoService("com.sun.star.ucb.SimpleFileAccess") + if (facc.exists(dstFile)) then facc.kill(dstFile) + facc.copy(srcFile, dstFile) + + dbtools.RegisterDataSource("DBTest", dbSrcURL) + + oForm.DataSourceName = "DBTest" + oForm.Command = "OTimeModelDB" + oForm.CommandType = com.sun.star.sdb.CommandType.TABLE + + oObj.DataField = "_DOUBLE" + + oForm.load() + + oConnection = oForm.ActiveConnection + + ' for XUpdateBroadcaster + bCustomUpdate = true + +Exit Sub +ErrHndl: + Test.Exception() +End Sub + +Global aChangedValue As Variant + +' for XBoundComponent +Sub prepareCommit() +On Error Goto ErrHndl + + Out.Log("prepareCommit() called.") + if NOT (isNull(oObj.Time) OR isEmpty(oObj.Time)) then + Out.Log("The old value was: " + oObj.Time) + aChangedValue = oObj.Time + 150000 ' adding 15 minutes + else + aChangedValue = 150000 ' setting to 0:15 + end if + oObj.Time = aChangedValue + + exit sub +ErrHndl: + Test.Exception() +End Sub + +' for XBoundComponent +Function checkCommit() As Boolean +On Error Goto ErrHndl + Out.Log("checkCommit() called.") + Dim rowValue As Variant + + oForm.updateRow() + oForm.reload() + rowValue = oObj.Time + Out.Log("Value was set to " + aChangedValue ) + Out.Log("the value in current row is " + rowValue) + checkCommit() = abs(rowValue - aChangedValue) < 100 + + exit function +ErrHndl: + Test.Exception() + checkCommit() = false +End Function + +' for XUpdateBroadcaster +Sub UpdateComponent() + Out.Log("UpdateComponent() called.") + if NOT (isNull(oObj.Time) OR isEmpty(oObj.Time)) then + oObj.Time = oObj.Time + 150000 + else + oObj.Time = 150000 + end if + oObj.commit() + + exit sub +ErrHndl: + Test.Exception() +End Sub + +Sub DisposeObj() +On Error Goto ErrHndl + Out.Log("Closing DB connection ...") + oConnection.close() + + Out.Log("Revoking 'DBTest' datasource ...") + dbtools.RevokeDB("DBTest") +Exit Sub +ErrHndl: + Test.Exception() + resume next +End Sub +</script:module> |