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_OEditModel" 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.OEditModel
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("TextField", 1000, 1000, 2000, 1000)
70    oObj = oShape.getControl()
71    oShape = toolkittools.addControlToDefaultForm("TextField", 1000, 3000, 2000, 1000)
72    oComponentInstance = oShape.getControl()
73    oShape = toolkittools.addControlToDefaultForm("TextField", 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 = "Author"
85
86    oForm.load()
87
88    ' for XUpdateBroadcaster
89    bCustomUpdate = true
90
91Exit Sub
92ErrHndl:
93    Test.Exception()
94End Sub
95
96Global sChangedText As String
97
98' for XBoundComponent
99Sub prepareCommit()
100On Error Goto ErrHndl
101    Out.Log("prepareCommit() called.")
102    sChangedText = "_" + oObj.Text
103    oObj.Text = sChangedText
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 rowText As Variant
115
116    rowText = oForm.getString(oForm.findColumn("Author"))
117    checkCommit() = (rowText = sChangedText)
118
119    exit function
120ErrHndl:
121    Test.Exception()
122End Function
123
124' for XUpdateBroadcaster
125Sub UpdateComponent()
126    oObj.Text = "_" + oObj.Text
127    oObj.commit()
128End Sub
129</script:module>
130