blob: 013c4b8eb5f6c687121327f8673e553b831c5b00 [file] [log] [blame]
<?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_ODateModel" 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:
' for XComponent
Global oComponentInstance As Object
' for XPersistObject
Global oPersistInstance As Object
' for XUpdateBroadcaster
Global bCustomUpdate As Boolean
Global oForm As Object
Sub CreateObj()
'*************************************************************************
' COMPONENT:
' forms.ODateModel
'*************************************************************************
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("DateField", 1000, 1000, 2000, 1000)
oObj = oShape.getControl()
oShape = toolkittools.addControlToDefaultForm("DateField", 1000, 3000, 2000, 1000)
oComponentInstance = oShape.getControl()
oShape = toolkittools.addControlToDefaultForm("DateField", 1000, 5000, 2000, 1000)
oPersistInstance = oShape.getControl()
'get control from document
oDrawPage = oDoc.DrawPage
oForm = oDrawPage.Forms.getByName("Standard")
oForm.DataSourceName = "Bibliography"
oForm.Command = "biblio"
oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
oObj.DataField = "Custom1"
oForm.load()
' for XUpdateBroadcaster
bCustomUpdate = true
Exit Sub
ErrHndl:
Test.Exception()
End Sub
Global aChangedValue As Variant
' for XBoundComponent
Sub prepareCommit()
On Error Goto ErrHndl
Dim dat As New com.sun.star.util.Date
Out.Log("prepareCommit() called.")
if NOT (isNull(oObj.Date) OR isEmpty(oObj.Date)) then
aChangedValue = oObj.Date + 1
else
aChangedValue = 1
end if
oObj.Date = 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.Date
Out.Log("Value was set to " + aChangedValue )
Out.Log("the value in current row is " + rowValue)
checkCommit() = (rowValue = aChangedValue)
exit function
ErrHndl:
Test.Exception()
End Function
' for XUpdateBroadcaster
Sub UpdateComponent()
oObj.Date = oObj.Date + 1
oObj.commit()
End Sub
</script:module>