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_ORadioButtonModel" 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.ORadioButtonModel 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("RadioButton", 1000, 1000, 2000, 1000) 69 oObj = oShape.getControl() 70 oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 3000, 2000, 1000) 71 oComponentInstance = oShape.getControl() 72 oShape = toolkittools.addControlToDefaultForm("RadioButton", 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 = "Custom3" 84 85 oForm.load() 86 87 ' for XUpdateBroadcaster 88 bCustomUpdate = true 89 90Exit Sub 91ErrHndl: 92 Test.Exception() 93End Sub 94 95Global aChangedVal As String 96 97' for XBoundComponent 98Sub prepareCommit() 99On Error Goto ErrHndl 100 Out.Log("prepareCommit() called.") 101 aChangedVal = 1 - oObj.State 102 oObj.State = aChangedVal 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 rowVal As Variant 114 115 rowVal = oForm.getBoolean(oForm.findColumn("Custom3")) 116 if rowVal = true then 117 checkCommit() = (aChangedVal = 1) 118 else 119 checkCommit() = (aChangedVal = 0) 120 end if 121 122 exit function 123ErrHndl: 124 Test.Exception() 125End Function 126 127' for XUpdateBroadcaster 128Sub UpdateComponent() 129 oObj.State = 1 - oObj.State 130 oObj.commit() 131End Sub 132</script:module> 133