summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/report/XReportDefinition.idl
blob: 6c20ede01305a6217a4f9ab8bf817a5468f7be8c (plain)
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
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_report_XReportDefinition_idl__
#define __com_sun_star_report_XReportDefinition_idl__

#ifndef __com_sun_star_report_XReportComponent_idl__
#include <com/sun/star/report/XReportComponent.idl>
#endif
#ifndef __com_sun_star_report_XFunctionsSupplier_idl__
#include <com/sun/star/report/XFunctionsSupplier.idl>
#endif
#ifndef __com_sun_star_view_PaperOrientation_idl__
#include <com/sun/star/view/PaperOrientation.idl>
#endif
#ifndef __com_sun_star_container_NoSuchElementException_idl__
#include <com/sun/star/container/NoSuchElementException.idl>
#endif
#ifndef __com_sun_star_style_GraphicLocation_idl__
#include <com/sun/star/style/GraphicLocation.idl>
#endif
#ifndef __com_sun_star_view_PaperFormat_idl__
#include <com/sun/star/view/PaperFormat.idl>
#endif
#ifndef __com_sun_star_util_XClosable_idl__
#include <com/sun/star/util/XCloseable.idl>
#endif
#ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
#include <com/sun/star/ui/XUIConfigurationManagerSupplier.idl>
#endif
#ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__
#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
#endif
#ifndef __com_sun_star_frame_XModel_idl__
#include <com/sun/star/frame/XModel.idl>
#endif
#ifndef __com_sun_star_document_XViewDataSupplier_idl__
#include <com/sun/star/document/XViewDataSupplier.idl>
#endif
#ifndef __com_sun_star_frame_XLoadable_idl__
#include <com/sun/star/frame/XLoadable.idl>
#endif
#ifndef __com_sun_star_embed_XVisualObject_idl__
#include <com/sun/star/embed/XVisualObject.idl>
#endif
#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
#include <com/sun/star/document/XStorageBasedDocument.idl>
#endif
#ifndef __com_sun_star_awt_Size_idl__
#include <com/sun/star/awt/Size.idl>
#endif
#ifndef __com_sun_star_util_XModifiable2_idl__
#include <com/sun/star/util/XModifiable2.idl>
#endif
#ifndef __com_sun_star_document_XEventBroadcaster_idl__
#include <com/sun/star/document/XEventBroadcaster.idl>
#endif
#ifndef __com_sun_star_lang_DisposedException_idl__
#include <com/sun/star/lang/DisposedException.idl>
#endif
#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
#endif

module com {  module sun {  module star {  module sdbc {
published interface XConnection;
};};};};
//=============================================================================

 module com {  module sun {  module star {  module report {

     published interface XSection;
     published interface XGroups;
//=============================================================================

/** identifies a <type>XReportComponent</type> as being a (sub-) report.

    <p>This interface does not really provide an own functionality, it is only for easier
    runtime identification of report components.</p>

    <p>A report fulfills several tasks, like storing the structure of its
    report components and it provides the
    event environment for its contained elements.</p>

    @see XReportComponent
 */
published interface XReportDefinition
{
    /** allows the access to the model embedded in the database storage.
    */
    interface com::sun::star::frame::XModel;

    /** offers a simple way to initialize a component.
    */
    interface com::sun::star::frame::XLoadable;

    /** represents common visualisation functionality for the embedded report.
    */
    interface com::sun::star::embed::XVisualObject;

    /** allows to initialize the document with a storage.
    */
    interface com::sun::star::document::XStorageBasedDocument;

    /** gives access to some properties describing all open views to a document.
    */
    interface com::sun::star::document::XViewDataSupplier;

    /** allows to close the document.
    */
    interface com::sun::star::util::XCloseable;

    /** allows to retrieve the user interface configuration manager related to an object.
    */
    interface com::sun::star::ui::XUIConfigurationManagerSupplier;

    interface com::sun::star::document::XDocumentSubStorageSupplier;

    /** provides access to the collection of style families.

        <p>A spreadsheet document contains 2 families of styles:
        "PageStyles" and "CellStyles".</p>
     */
    interface com::sun::star::style::XStyleFamiliesSupplier;

    //-------------------------------------------------------------------------
    /** a storable document should provide information about his modify state

        <p>
        With this interface it's possible too, to reset the modify state.
        That can be neccessary to prevent code against problem during closing
        of the document without saving any changes.
        </p>
     */
    interface com::sun::star::util::XModifiable2;

    /** allows the creation of sub reports.
    */
    interface XReportComponent;

    /** gives access to functions defined in the report definition.
    */
    interface XFunctionsSupplier;

    /** makes it possible to register listeners which are called whenever
        a document event occurs.
        This is a workaround due to the fact that this interface can not be directly inherited from <type scope="com::sun::star::document">XEventBroadcaster</type>
        because the methods addEventListener and removeEventListener are already defined in <type scope="com::sun::star::lang">XComponent</type>.
        A queryInterface call is still supported to the <type scope="com::sun::star::document">XEventBroadcaster</type> interface.
     */
    com::sun::star::document::XEventBroadcaster getEventBroadcaster()
        raises( ::com::sun::star::lang::DisposedException,
                ::com::sun::star::uno::Exception );

    /** returns a sequence of the currently supported output formats.
    */
    sequence<string> getAvailableMimeTypes()
        raises( ::com::sun::star::lang::DisposedException,
                ::com::sun::star::uno::Exception );

    //-------------------------------------------------------------------------

    /** Represents the output format (media (mime) type) of the resulting document when executing this report.
    */
    [attribute,bound] string MimeType
    {
        set raises (com::sun::star::lang::IllegalArgumentException);
    };

    /** Represents the title of the report in print preview.
    */
    [attribute,bound] string Caption;

    /** Specifies whether groups in a multi column report are kept together.
        @see com.sun.star.report.GroupKeepTogether
    */
    [attribute,bound] short GroupKeepTogether
    {
        set raises (com::sun::star::lang::IllegalArgumentException);
    };

    /** Represents the location of the page header.
        @see ReportPrintOption
    */
    [attribute,bound] short PageHeaderOption;

    /** Represents the location of the page footer.
        @see ReportPrintOption
    */
    [attribute,bound] short PageFooterOption;


    /** is the command which should be executed, the type of command depends
    on the CommandType.
    <p>In case of a <member>CommandType</member> of <member>CommandType::COMMAND</member>,
    means in case the <member>Command</member> specifies an SQL statement, the inherited
    <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
    becomes relevant:<br/>
    It then can be to used to specify whether the SQL statement should be analyzed on the
    client side before sending it to the database server.<br/>
    The default value for <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
    is <TRUE/>. By switching it to <FALSE/>, you can pass backend-specific SQL statements,
    which are not standard SQL, to your database.</p>


    @see com::sun::star::sdb::CommandType
    */
    [attribute,bound] string Command;

    /** specifies the type of the command to be executed to retrieve a result set.

        <p><member>Command</member> needs to be interpreted depending on the value of this property.</p>

        <p>This property is only meaningfull together with the <member>Command</member>
        property, thus either <em>both</em> or <em>none</em> of them are present.</p>

        @see com::sun::star::sdb::CommandType
     */
    [attribute,bound] long CommandType;

    /** specifies an addtional filter to optinally use.

        <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>

        <p>If a <member>DataSourceName</member>, <member>Command</member> and <member>CommandType</member>
        are specified, a <type>RowSet</type> can be created with this information. If the results provided by the
        row set are to be additionally filtered, the Filter property can be used.</p>

        <p>Note that the Filter property does not make sense if a <member>ResultSet</member> has been specified
        in the DataAccessDescriptor.</p>

        @see com::sun::star::sdb::RowSet
        @see ResultSet
    */
    [attribute,bound] string Filter;

    /** specifies if the <member>Command</member> should be analyzed on the client side before sending it
        to the database server.

        <p>The default value of this property is <TRUE/>. By switching it to <FALSE/>, you can pass
        backend-specific SQL statements, which are not standard SQL, to your database.</p>

        <p>This property is usually present together with the <member>Command</member> and
        <member>CommandType</member> properties, and is evaluated if and only if <member>CommandType</member>
        equals <member>CommandType::COMMAND</member>.</p>
    */
    [attribute,bound] boolean EscapeProcessing;

    /** specifies the active connection which is used to create the resulting report.
    */
    [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection
    {
        set raises (com::sun::star::lang::IllegalArgumentException);
    };

    /** is the name of the datasource to use, this could be a named datasource
        or the URL of a data access component.
     */
    [attribute,bound] string DataSourceName;

    /** Defines that the report header is on.
        Default is <FALSE/>.
    */
    [attribute,bound] boolean ReportHeaderOn;

    /** Defines that the report footer is on.
        Default is <FALSE/>.
    */
    [attribute,bound] boolean ReportFooterOn;

    /** Defines that the page header is on.
        Default is <TRUE/>.
    */
    [attribute,bound] boolean PageHeaderOn;

    /** Defines that the page footer is on.
        Default is <TRUE/>.
    */
    [attribute,bound] boolean PageFooterOn;

    /** Represents the groups of the report.
    */
    [attribute,readonly] com::sun::star::report::XGroups Groups;

    /** returns the report header if the <member>ReportHeaderOn</member>is <TRUE/>.
        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
            If the report has the report header disabled.
        @see XSection
    */
    [attribute,readonly] com::sun::star::report::XSection ReportHeader
    {
        get raises (com::sun::star::container::NoSuchElementException);
    };

    /** returns the page header if the <member>PageHeaderOn</member>is <TRUE/>.
        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
            If the report has the page header disabled.
        @see XSection
    */
    [attribute,readonly] com::sun::star::report::XSection PageHeader
    {
        get raises (com::sun::star::container::NoSuchElementException);
    };

    /** returns the detail section.
        @see XSection
    */
    [attribute,readonly] com::sun::star::report::XSection Detail;

    /** returns the page footer if the <member>PageFooterOn</member>is <TRUE/>.
        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
            If the report has the page footer disabled.
        @see XSection
    */
    [attribute,readonly] com::sun::star::report::XSection PageFooter
    {
        get raises (com::sun::star::container::NoSuchElementException);
    };

    /** returns the report footer if the <member>ReportFooterOn</member>is <TRUE/>.
        @throws <type scope="com::sun::star::container">NullPointerException</type>
            If the report has the report footer disabled.
        @see XSection
    */
    [attribute,readonly] com::sun::star::report::XSection ReportFooter
    {
        get raises (com::sun::star::container::NoSuchElementException);
    };
};

published service ReportDefinition : XReportDefinition;
//=============================================================================

}; }; }; };

/*=============================================================================

=============================================================================*/
#endif