1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef __com_sun_star_sdb_OfficeDatabaseDocument_idl__
#define __com_sun_star_sdb_OfficeDatabaseDocument_idl__
#include <com/sun/star/document/OfficeDocument.idl>
#include <com/sun/star/sdb/XOfficeDatabaseDocument.idl>
#include <com/sun/star/document/XDocumentEventBroadcaster.idl>
#include <com/sun/star/script/provider/XScriptProviderSupplier.idl>
#include <com/sun/star/frame/XLoadable.idl>
#include <com/sun/star/util/XCloseable.idl>
module com { module sun { module star { module sdb {
/** specifies an office database document which is a storable document.
<p>These documents contain information about forms, and reports, and the properties of a data source.</p>
<p>The database document contains no data per default. The following is stored inside the document:
<ul>
<li>forms</li>
<li>reports</li>
<li>The table settings defined in DataSettings</li>
<li>The query settings defined in DataSettings</li>
<li>All properties of the service DataSource</li>
</ul></p>
@see com::sun::star::sdb::XOfficeDatabaseDocument
@see com::sun::star::document::OfficeDocument
@since OOo 2.0
*/
service OfficeDatabaseDocument
{
/** specifies basic functionality of a document in OpenOffice.org
<p>Note that a database document actually does not support the com::sun::star::view::XPrintable interface.
The non-optional requirement of this interface in the com::sun::star::document::OfficeDocument
service is considered a documentation error.</p>
*/
service com::sun::star::document::OfficeDocument;
interface XOfficeDatabaseDocument;
/** allows access to the Basic macros and dialogs possibly embedded in the document
@since OOo 3.1
*/
interface ::com::sun::star::document::XEmbeddedScripts;
/** supplies a script provider which can be used to execute macros and scripts
embedded in the document
@since OOo 3.1
*/
interface ::com::sun::star::script::provider::XScriptProviderSupplier;
/** allows to initialize the document, either from scratch, or from a stored
database document.
<p>A newly instantiated database document cannot be operated until it is fully
initialized. There are three possible means to do this initialization:
<ul><li>calling <code>XLoadable::initNew</code></li>
<li>calling <code>XLoadable::load</code></li>
<li>calling <code>XStorable::storeAsURL</code></li>
</ul>
The third option was added for compatibility reasons, since a DatabaseDocument
in earlier versions of OpenOffice.org did not support the <code>XLoadable</code> interface,
so the usual way of creating a document from scratch was to create it, set properties as
needed, and store it.</p>
@since OOo 3.1
*/
interface ::com::sun::star::frame::XLoadable;
/** allows to register for notifications happening in the document
<p>The following events are broadcasted by a database document
<table border="1" frame="all">
<tr><td><strong>Event Name</strong></td>
<td><strong>broadcasted when</strong></td>
<td align="center"><strong>broadcasted synchronously</strong></td>
</tr>
<tr><td valign="top"><em>OnCreate</em></td>
<td>the document has been newly created. This does not imply that the document has
been loaded into a frame, it just means the initialization has been finished.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnLoadFinished</em></td>
<td>the document has been completely loaded. This does not imply that the document
has been loaded into a frame, it just means the load process has been finished.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnNew</em></td>
<td>the document has been initialized from scratch, including plugging it into a frame.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnLoad</em></td>
<td>the document has been completely loaded, including plugging it into a frame.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSave</em></td>
<td>the document is about to be saved.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnSaveDone</em></td>
<td>saving the document succeeded.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSaveFailed</em></td>
<td>saving the document failed.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSaveAs</em></td>
<td>the document is about to be saved under a new name.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnSaveAsDone</em></td>
<td>saving the document under a new name succeeded.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSaveAsFailed</em></td>
<td>saving the document under a new name failed.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSaveTo</em></td>
<td>the document is about to be saved to a location different from its
current location, but without adjusting the current location.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnSaveToDone</em></td>
<td>saving the document to a different location succeeded.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSaveToFailed</em></td>
<td>saving the document to a different location failed.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnPrepareUnload</em></td>
<td>the document is about to be closed.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnUnload</em></td>
<td>the document is being closed.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnFocus</em></td>
<td>a view to the document obtained the focus.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnUnfocus</em></td>
<td>a view to the document lost the focus.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnModifyChanged</em></td>
<td>the <em>modified</em> state of the document changed.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnViewCreated</em></td>
<td>a view to the document has been created, and attached to the document.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnPrepareViewClosing</em></td>
<td>a view to the document is about to be closed.</td>
<td align="center">yes</td>
</tr>
<tr><td valign="top"><em>OnViewClosed</em></td>
<td>a view to the document has been closed.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnTitleChanged</em></td>
<td>the title of the document changed.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSubComponentOpened</em></td>
<td>From with a view to the document, a view to a sub component (e.g. a table or a report) has been opened.</td>
<td align="center">no</td>
</tr>
<tr><td valign="top"><em>OnSubComponentClosed</em></td>
<td>From with a view to the document, a view to a sub component (e.g. a table or a report) has been closed.</td>
<td align="center">no</td>
</tr>
</table>
</p>
@since OOo 3.1
*/
interface ::com::sun::star::document::XDocumentEventBroadcaster;
/** implements life time control
<p>Whoever retrieves an OfficeDatabaseDocument should be aware of
life time issues, since a document needs to be closed when nobody needs it anymore.</p>
<p>This implies that clients of a document need to ensure that as soon as they don't
need, they invoke com::sun::star::util::XCloseable::close().</p>
<p>Since this can be done by multiple clients, every client is additionally required
to register itself as com::sun::star::util::XCloseListener at
the document, to prevent some other client closing the model while it's still needed
by the first client.</p>
*/
interface com::sun::star::util::XCloseable;
};
}; }; }; };
/*===========================================================================
===========================================================================*/
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|