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
37' Be sure that all variables are dimensioned:
38option explicit
39
40
41' REQUIRED VARIABLES for interface/service tests:
42
43' for XComponent
44Global oComponentInstance As Object
45
46' for XPersistObject
47Global oPersistInstance As Object
48
49' for XUpdateBroadcaster
50Global bCustomUpdate As Boolean
51
52Global oForm As Object
53
54
55Sub CreateObj()
56
57'*************************************************************************
58' COMPONENT:
59' forms.ORadioButtonModel
60'*************************************************************************
61On Error Goto ErrHndl
62    Dim bOK As Boolean
63    Dim oShape As Object, oDrawPage As Object
64
65    bOK = true
66
67    oDoc = utils.createDocument("swriter", cObjectName)
68
69    oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 1000, 2000, 1000)
70    oObj = oShape.getControl()
71    oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 3000, 2000, 1000)
72    oComponentInstance = oShape.getControl()
73    oShape = toolkittools.addControlToDefaultForm("RadioButton", 1000, 5000, 2000, 1000)
74    oPersistInstance = oShape.getControl()
75
76    'get control from document
77    oDrawPage = oDoc.DrawPage
78    oForm = oDrawPage.Forms.getByName("Standard")
79
80	oForm.DataSourceName = "Bibliography"
81	oForm.Command = "biblio"
82	oForm.CommandType = com.sun.star.sdb.CommandType.TABLE
83
84    oObj.DataField = "Custom3"
85
86    oForm.load()
87
88    ' for XUpdateBroadcaster
89    bCustomUpdate = true
90
91Exit Sub
92ErrHndl:
93    Test.Exception()
94End Sub
95
96Global aChangedVal As String
97
98' for XBoundComponent
99Sub prepareCommit()
100On Error Goto ErrHndl
101    Out.Log("prepareCommit() called.")
102    aChangedVal = 1 - oObj.State
103    oObj.State = aChangedVal
104
105    exit sub
106ErrHndl:
107    Test.Exception()
108End Sub
109
110' for XBoundComponent
111Function checkCommit() As Boolean
112On Error Goto ErrHndl
113    Out.Log("checkCommit() called.")
114    Dim rowVal As Variant
115
116    rowVal = oForm.getBoolean(oForm.findColumn("Custom3"))
117    if rowVal = true then
118        checkCommit() = (aChangedVal = 1)
119    else
120        checkCommit() = (aChangedVal = 0)
121    end if
122
123    exit function
124ErrHndl:
125    Test.Exception()
126End Function
127
128' for XUpdateBroadcaster
129Sub UpdateComponent()
130    oObj.State = 1 - oObj.State
131    oObj.commit()
132End Sub
133</script:module>
134