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