summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/report/XReportDefinition.idl
blob: cf412e96e608e72cb0ef06924137dda06d68f577 (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
/* -*- 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_report_XReportDefinition_idl__
#define __com_sun_star_report_XReportDefinition_idl__

#include <com/sun/star/report/XReportComponent.idl>
#include <com/sun/star/report/XFunctionsSupplier.idl>
#include <com/sun/star/view/PaperOrientation.idl>
#include <com/sun/star/container/NoSuchElementException.idl>
#include <com/sun/star/style/GraphicLocation.idl>
#include <com/sun/star/view/PaperFormat.idl>
#include <com/sun/star/util/XCloseable.idl>
#include <com/sun/star/ui/XUIConfigurationManagerSupplier.idl>
#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
#include <com/sun/star/frame/XModel.idl>
#include <com/sun/star/document/XViewDataSupplier.idl>
#include <com/sun/star/frame/XLoadable.idl>
#include <com/sun/star/embed/XVisualObject.idl>
#include <com/sun/star/document/XStorageBasedDocument.idl>
#include <com/sun/star/awt/Size.idl>
#include <com/sun/star/util/XModifiable2.idl>
#include <com/sun/star/document/XEventBroadcaster.idl>
#include <com/sun/star/lang/DisposedException.idl>
#include <com/sun/star/style/XStyleFamiliesSupplier.idl>

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

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

     interface XSection;
     interface XGroups;

/** identifies a XReportComponent 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
 */
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 visualization 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 necessary 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 com::sun::star::document::XEventBroadcaster
        because the methods addEventListener and removeEventListener are already defined in com::sun::star::lang::XComponent.
        A queryInterface call is still supported to the com::sun::star::document::XEventBroadcaster 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 #CommandType of CommandType::COMMAND,
    means in case the #Command specifies an SQL statement, the inherited
    com::sun::star::sdbc::RowSet::EscapeProcessing
    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 com::sun::star::sdbc::RowSet::EscapeProcessing
    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>#Command needs to be interpreted depending on the value of this property.</p>

        <p>This property is only meaningful together with the #Command
        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 additional filter to optionally use.

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

        <p>If a #DataSourceName, #Command and #CommandType
        are specified, a RowSet 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 ResultSet has been specified
        in the DataAccessDescriptor.</p>

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

    /** specifies if the #Command 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 #Command and
        #CommandType properties, and is evaluated if and only if #CommandType
        equals CommandType::COMMAND.</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 #ReportHeaderOn is `TRUE`.
        @throws com::sun::star::container::NoSuchElementException
            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 #PageHeaderOn is `TRUE`.
        @throws com::sun::star::container::NoSuchElementException
            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 #PageFooterOn is `TRUE`.
        @throws com::sun::star::container::NoSuchElementException
            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 #ReportFooterOn is `TRUE`.
        @throws com::sun::star::container::NullPointerException
            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);
    };
};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */