1<?xml version="1.0" encoding="UTF-8"?> 2<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> 3<script:module xmlns:script="http://openoffice.org/2000/script" script:name="forms_OPatternModel" script:language="StarBasic"> 4 5 6'************************************************************************* 7' 8' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9' 10' Copyright 2000, 2010 Oracle and/or its affiliates. 11' 12' OpenOffice.org - a multi-platform office productivity suite 13' 14' This file is part of OpenOffice.org. 15' 16' OpenOffice.org is free software: you can redistribute it and/or modify 17' it under the terms of the GNU Lesser General Public License version 3 18' only, as published by the Free Software Foundation. 19' 20' OpenOffice.org is distributed in the hope that it will be useful, 21' but WITHOUT ANY WARRANTY; without even the implied warranty of 22' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23' GNU Lesser General Public License version 3 for more details 24' (a copy is included in the LICENSE file that accompanied this code). 25' 26' You should have received a copy of the GNU Lesser General Public License 27' version 3 along with OpenOffice.org. If not, see 28' <http://www.openoffice.org/license.html> 29' for a copy of the LGPLv3 License. 30' 31'************************************************************************* 32'************************************************************************* 33 34 35 36' Be sure that all variables are dimensioned: 37option explicit 38 39 40' REQUIRED VARIABLES for interface/service tests: 41 42' for XComponent 43Global oComponentInstance As Object 44 45' for XPersistObject 46Global oPersistInstance As Object 47 48' for XUpdateBroadcaster 49Global bCustomUpdate As Boolean 50 51Global oForm As Object 52 53 54Sub CreateObj() 55 56'************************************************************************* 57' COMPONENT: 58' forms.OPatternModel 59'************************************************************************* 60On Error Goto ErrHndl 61 Dim bOK As Boolean 62 Dim oShape As Object, oDrawPage As Object 63 64 bOK = true 65 66 oDoc = utils.createDocument("swriter", cObjectName) 67 68 oShape = toolkittools.addControlToDefaultForm("PatternField", 1000, 1000, 2000, 1000) 69 oObj = oShape.getControl() 70 oShape = toolkittools.addControlToDefaultForm("PatternField", 1000, 3000, 2000, 1000) 71 oComponentInstance = oShape.getControl() 72 oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 5000, 2000, 1000) 73 oPersistInstance = oShape.getControl() 74 75 'get control from document 76 oDrawPage = oDoc.DrawPage 77 oForm = oDrawPage.Forms.getByName("Standard") 78 79 oForm.DataSourceName = "Bibliography" 80 oForm.Command = "biblio" 81 oForm.CommandType = com.sun.star.sdb.CommandType.TABLE 82 83 oObj.DataField = "Author" 84 85 oForm.load() 86 87 ' for XUpdateBroadcaster 88 bCustomUpdate = true 89 90Exit Sub 91ErrHndl: 92 Test.Exception() 93End Sub 94 95Global sChangedText As String 96 97' for XBoundComponent 98Sub prepareCommit() 99On Error Goto ErrHndl 100 Out.Log("prepareCommit() called.") 101 sChangedText = "_" + oObj.Text 102 oObj.Text = sChangedText 103 104 exit sub 105ErrHndl: 106 Test.Exception() 107End Sub 108 109' for XBoundComponent 110Function checkCommit() As Boolean 111On Error Goto ErrHndl 112 Out.Log("checkCommit() called.") 113 Dim rowText As Variant 114 115 rowText = oForm.getString(oForm.findColumn("Author")) 116 checkCommit() = (rowText = sChangedText) 117 118 exit function 119ErrHndl: 120 Test.Exception() 121End Function 122 123' for XUpdateBroadcaster 124Sub UpdateComponent() 125 oObj.Text = "_" + oObj.Text 126 oObj.commit() 127End Sub 128</script:module> 129