1*d1766043SAndrew Rist/**************************************************************
2*d1766043SAndrew Rist *
3*d1766043SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*d1766043SAndrew Rist * or more contributor license agreements.  See the NOTICE file
5*d1766043SAndrew Rist * distributed with this work for additional information
6*d1766043SAndrew Rist * regarding copyright ownership.  The ASF licenses this file
7*d1766043SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*d1766043SAndrew Rist * "License"); you may not use this file except in compliance
9*d1766043SAndrew Rist * with the License.  You may obtain a copy of the License at
10*d1766043SAndrew Rist *
11*d1766043SAndrew Rist *   http://www.apache.org/licenses/LICENSE-2.0
12*d1766043SAndrew Rist *
13*d1766043SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*d1766043SAndrew Rist * software distributed under the License is distributed on an
15*d1766043SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*d1766043SAndrew Rist * KIND, either express or implied.  See the License for the
17*d1766043SAndrew Rist * specific language governing permissions and limitations
18*d1766043SAndrew Rist * under the License.
19*d1766043SAndrew Rist *
20*d1766043SAndrew Rist *************************************************************/
21*d1766043SAndrew Rist
22*d1766043SAndrew Rist
23cdf0e10cSrcweir#ifndef __com_sun_star_report_XReportDefinition_idl__
24cdf0e10cSrcweir#define __com_sun_star_report_XReportDefinition_idl__
25cdf0e10cSrcweir
26cdf0e10cSrcweir#ifndef __com_sun_star_report_XReportComponent_idl__
27cdf0e10cSrcweir#include <com/sun/star/report/XReportComponent.idl>
28cdf0e10cSrcweir#endif
29cdf0e10cSrcweir#ifndef __com_sun_star_report_XFunctionsSupplier_idl__
30cdf0e10cSrcweir#include <com/sun/star/report/XFunctionsSupplier.idl>
31cdf0e10cSrcweir#endif
32cdf0e10cSrcweir#ifndef __com_sun_star_view_PaperOrientation_idl__
33cdf0e10cSrcweir#include <com/sun/star/view/PaperOrientation.idl>
34cdf0e10cSrcweir#endif
35cdf0e10cSrcweir#ifndef __com_sun_star_container_NoSuchElementException_idl__
36cdf0e10cSrcweir#include <com/sun/star/container/NoSuchElementException.idl>
37cdf0e10cSrcweir#endif
38cdf0e10cSrcweir#ifndef __com_sun_star_style_GraphicLocation_idl__
39cdf0e10cSrcweir#include <com/sun/star/style/GraphicLocation.idl>
40cdf0e10cSrcweir#endif
41cdf0e10cSrcweir#ifndef __com_sun_star_view_PaperFormat_idl__
42cdf0e10cSrcweir#include <com/sun/star/view/PaperFormat.idl>
43cdf0e10cSrcweir#endif
44cdf0e10cSrcweir#ifndef __com_sun_star_util_XClosable_idl__
45cdf0e10cSrcweir#include <com/sun/star/util/XCloseable.idl>
46cdf0e10cSrcweir#endif
47cdf0e10cSrcweir#ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
48cdf0e10cSrcweir#include <com/sun/star/ui/XUIConfigurationManagerSupplier.idl>
49cdf0e10cSrcweir#endif
50cdf0e10cSrcweir#ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__
51cdf0e10cSrcweir#include <com/sun/star/document/XDocumentSubStorageSupplier.idl>
52cdf0e10cSrcweir#endif
53cdf0e10cSrcweir#ifndef __com_sun_star_frame_XModel_idl__
54cdf0e10cSrcweir#include <com/sun/star/frame/XModel.idl>
55cdf0e10cSrcweir#endif
56cdf0e10cSrcweir#ifndef __com_sun_star_document_XViewDataSupplier_idl__
57cdf0e10cSrcweir#include <com/sun/star/document/XViewDataSupplier.idl>
58cdf0e10cSrcweir#endif
59cdf0e10cSrcweir#ifndef __com_sun_star_frame_XLoadable_idl__
60cdf0e10cSrcweir#include <com/sun/star/frame/XLoadable.idl>
61cdf0e10cSrcweir#endif
62cdf0e10cSrcweir#ifndef __com_sun_star_embed_XVisualObject_idl__
63cdf0e10cSrcweir#include <com/sun/star/embed/XVisualObject.idl>
64cdf0e10cSrcweir#endif
65cdf0e10cSrcweir#ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
66cdf0e10cSrcweir#include <com/sun/star/document/XStorageBasedDocument.idl>
67cdf0e10cSrcweir#endif
68cdf0e10cSrcweir#ifndef __com_sun_star_awt_Size_idl__
69cdf0e10cSrcweir#include <com/sun/star/awt/Size.idl>
70cdf0e10cSrcweir#endif
71cdf0e10cSrcweir#ifndef __com_sun_star_util_XModifiable2_idl__
72cdf0e10cSrcweir#include <com/sun/star/util/XModifiable2.idl>
73cdf0e10cSrcweir#endif
74cdf0e10cSrcweir#ifndef __com_sun_star_document_XEventBroadcaster_idl__
75cdf0e10cSrcweir#include <com/sun/star/document/XEventBroadcaster.idl>
76cdf0e10cSrcweir#endif
77cdf0e10cSrcweir#ifndef __com_sun_star_lang_DisposedException_idl__
78cdf0e10cSrcweir#include <com/sun/star/lang/DisposedException.idl>
79cdf0e10cSrcweir#endif
80cdf0e10cSrcweir#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
81cdf0e10cSrcweir#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
82cdf0e10cSrcweir#endif
83cdf0e10cSrcweir
84cdf0e10cSrcweirmodule com {  module sun {  module star {  module sdbc {
85cdf0e10cSrcweirpublished interface XConnection;
86cdf0e10cSrcweir};};};};
87cdf0e10cSrcweir//=============================================================================
88cdf0e10cSrcweir
89cdf0e10cSrcweir module com {  module sun {  module star {  module report {
90cdf0e10cSrcweir
91cdf0e10cSrcweir     published interface XSection;
92cdf0e10cSrcweir     published interface XGroups;
93cdf0e10cSrcweir//=============================================================================
94cdf0e10cSrcweir
95cdf0e10cSrcweir/** identifies a <type>XReportComponent</type> as being a (sub-) report.
96cdf0e10cSrcweir
97cdf0e10cSrcweir    <p>This interface does not really provide an own functionality, it is only for easier
98cdf0e10cSrcweir    runtime identification of report components.</p>
99cdf0e10cSrcweir
100cdf0e10cSrcweir    <p>A report fulfills several tasks, like storing the structure of its
101cdf0e10cSrcweir    report components and it provides the
102cdf0e10cSrcweir    event environment for its contained elements.</p>
103cdf0e10cSrcweir
104cdf0e10cSrcweir    @see XReportComponent
105cdf0e10cSrcweir */
106cdf0e10cSrcweirpublished interface XReportDefinition
107cdf0e10cSrcweir{
108cdf0e10cSrcweir    /** allows the access to the model embedded in the database storage.
109cdf0e10cSrcweir    */
110cdf0e10cSrcweir    interface com::sun::star::frame::XModel;
111cdf0e10cSrcweir
112cdf0e10cSrcweir    /** offers a simple way to initialize a component.
113cdf0e10cSrcweir    */
114cdf0e10cSrcweir    interface com::sun::star::frame::XLoadable;
115cdf0e10cSrcweir
116cdf0e10cSrcweir    /** represents common visualisation functionality for the embedded report.
117cdf0e10cSrcweir    */
118cdf0e10cSrcweir    interface com::sun::star::embed::XVisualObject;
119cdf0e10cSrcweir
120cdf0e10cSrcweir    /** allows to initialize the document with a storage.
121cdf0e10cSrcweir    */
122cdf0e10cSrcweir    interface com::sun::star::document::XStorageBasedDocument;
123cdf0e10cSrcweir
124cdf0e10cSrcweir    /** gives access to some properties describing all open views to a document.
125cdf0e10cSrcweir    */
126cdf0e10cSrcweir    interface com::sun::star::document::XViewDataSupplier;
127cdf0e10cSrcweir
128cdf0e10cSrcweir    /** allows to close the document.
129cdf0e10cSrcweir    */
130cdf0e10cSrcweir    interface com::sun::star::util::XCloseable;
131cdf0e10cSrcweir
132cdf0e10cSrcweir    /** allows to retrieve the user interface configuration manager related to an object.
133cdf0e10cSrcweir    */
134cdf0e10cSrcweir    interface com::sun::star::ui::XUIConfigurationManagerSupplier;
135cdf0e10cSrcweir
136cdf0e10cSrcweir    interface com::sun::star::document::XDocumentSubStorageSupplier;
137cdf0e10cSrcweir
138cdf0e10cSrcweir    /** provides access to the collection of style families.
139cdf0e10cSrcweir
140cdf0e10cSrcweir        <p>A spreadsheet document contains 2 families of styles:
141cdf0e10cSrcweir        "PageStyles" and "CellStyles".</p>
142cdf0e10cSrcweir     */
143cdf0e10cSrcweir    interface com::sun::star::style::XStyleFamiliesSupplier;
144cdf0e10cSrcweir
145cdf0e10cSrcweir    //-------------------------------------------------------------------------
146cdf0e10cSrcweir    /** a storable document should provide information about his modify state
147cdf0e10cSrcweir
148cdf0e10cSrcweir        <p>
149cdf0e10cSrcweir        With this interface it's possible too, to reset the modify state.
150cdf0e10cSrcweir        That can be neccessary to prevent code against problem during closing
151cdf0e10cSrcweir        of the document without saving any changes.
152cdf0e10cSrcweir        </p>
153cdf0e10cSrcweir     */
154cdf0e10cSrcweir    interface com::sun::star::util::XModifiable2;
155cdf0e10cSrcweir
156cdf0e10cSrcweir    /** allows the creation of sub reports.
157cdf0e10cSrcweir    */
158cdf0e10cSrcweir    interface XReportComponent;
159cdf0e10cSrcweir
160cdf0e10cSrcweir    /** gives access to functions defined in the report definition.
161cdf0e10cSrcweir    */
162cdf0e10cSrcweir    interface XFunctionsSupplier;
163cdf0e10cSrcweir
164cdf0e10cSrcweir    /** makes it possible to register listeners which are called whenever
165cdf0e10cSrcweir        a document event occurs.
166cdf0e10cSrcweir        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>
167cdf0e10cSrcweir        because the methods addEventListener and removeEventListener are already defined in <type scope="com::sun::star::lang">XComponent</type>.
168cdf0e10cSrcweir        A queryInterface call is still supported to the <type scope="com::sun::star::document">XEventBroadcaster</type> interface.
169cdf0e10cSrcweir     */
170cdf0e10cSrcweir    com::sun::star::document::XEventBroadcaster getEventBroadcaster()
171cdf0e10cSrcweir        raises( ::com::sun::star::lang::DisposedException,
172cdf0e10cSrcweir                ::com::sun::star::uno::Exception );
173cdf0e10cSrcweir
174cdf0e10cSrcweir    /** returns a sequence of the currently supported output formats.
175cdf0e10cSrcweir    */
176cdf0e10cSrcweir    sequence<string> getAvailableMimeTypes()
177cdf0e10cSrcweir        raises( ::com::sun::star::lang::DisposedException,
178cdf0e10cSrcweir                ::com::sun::star::uno::Exception );
179cdf0e10cSrcweir
180cdf0e10cSrcweir    //-------------------------------------------------------------------------
181cdf0e10cSrcweir
182cdf0e10cSrcweir    /** Represents the output format (media (mime) type) of the resulting document when executing this report.
183cdf0e10cSrcweir    */
184cdf0e10cSrcweir    [attribute,bound] string MimeType
185cdf0e10cSrcweir    {
186cdf0e10cSrcweir        set raises (com::sun::star::lang::IllegalArgumentException);
187cdf0e10cSrcweir    };
188cdf0e10cSrcweir
189cdf0e10cSrcweir    /** Represents the title of the report in print preview.
190cdf0e10cSrcweir    */
191cdf0e10cSrcweir    [attribute,bound] string Caption;
192cdf0e10cSrcweir
193cdf0e10cSrcweir    /** Specifies whether groups in a multi column report are kept together.
194cdf0e10cSrcweir        @see com.sun.star.report.GroupKeepTogether
195cdf0e10cSrcweir    */
196cdf0e10cSrcweir    [attribute,bound] short GroupKeepTogether
197cdf0e10cSrcweir    {
198cdf0e10cSrcweir        set raises (com::sun::star::lang::IllegalArgumentException);
199cdf0e10cSrcweir    };
200cdf0e10cSrcweir
201cdf0e10cSrcweir    /** Represents the location of the page header.
202cdf0e10cSrcweir        @see ReportPrintOption
203cdf0e10cSrcweir    */
204cdf0e10cSrcweir    [attribute,bound] short PageHeaderOption;
205cdf0e10cSrcweir
206cdf0e10cSrcweir    /** Represents the location of the page footer.
207cdf0e10cSrcweir        @see ReportPrintOption
208cdf0e10cSrcweir    */
209cdf0e10cSrcweir    [attribute,bound] short PageFooterOption;
210cdf0e10cSrcweir
211cdf0e10cSrcweir
212cdf0e10cSrcweir    /** is the command which should be executed, the type of command depends
213cdf0e10cSrcweir    on the CommandType.
214cdf0e10cSrcweir    <p>In case of a <member>CommandType</member> of <member>CommandType::COMMAND</member>,
215cdf0e10cSrcweir    means in case the <member>Command</member> specifies an SQL statement, the inherited
216cdf0e10cSrcweir    <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
217cdf0e10cSrcweir    becomes relevant:<br/>
218cdf0e10cSrcweir    It then can be to used to specify whether the SQL statement should be analyzed on the
219cdf0e10cSrcweir    client side before sending it to the database server.<br/>
220cdf0e10cSrcweir    The default value for <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
221cdf0e10cSrcweir    is <TRUE/>. By switching it to <FALSE/>, you can pass backend-specific SQL statements,
222cdf0e10cSrcweir    which are not standard SQL, to your database.</p>
223cdf0e10cSrcweir
224cdf0e10cSrcweir
225cdf0e10cSrcweir    @see com::sun::star::sdb::CommandType
226cdf0e10cSrcweir    */
227cdf0e10cSrcweir    [attribute,bound] string Command;
228cdf0e10cSrcweir
229cdf0e10cSrcweir    /** specifies the type of the command to be executed to retrieve a result set.
230cdf0e10cSrcweir
231cdf0e10cSrcweir        <p><member>Command</member> needs to be interpreted depending on the value of this property.</p>
232cdf0e10cSrcweir
233cdf0e10cSrcweir        <p>This property is only meaningfull together with the <member>Command</member>
234cdf0e10cSrcweir        property, thus either <em>both</em> or <em>none</em> of them are present.</p>
235cdf0e10cSrcweir
236cdf0e10cSrcweir        @see com::sun::star::sdb::CommandType
237cdf0e10cSrcweir     */
238cdf0e10cSrcweir    [attribute,bound] long CommandType;
239cdf0e10cSrcweir
240cdf0e10cSrcweir    /** specifies an addtional filter to optinally use.
241cdf0e10cSrcweir
242cdf0e10cSrcweir        <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
243cdf0e10cSrcweir
244cdf0e10cSrcweir        <p>If a <member>DataSourceName</member>, <member>Command</member> and <member>CommandType</member>
245cdf0e10cSrcweir        are specified, a <type>RowSet</type> can be created with this information. If the results provided by the
246cdf0e10cSrcweir        row set are to be additionally filtered, the Filter property can be used.</p>
247cdf0e10cSrcweir
248cdf0e10cSrcweir        <p>Note that the Filter property does not make sense if a <member>ResultSet</member> has been specified
249cdf0e10cSrcweir        in the DataAccessDescriptor.</p>
250cdf0e10cSrcweir
251cdf0e10cSrcweir        @see com::sun::star::sdb::RowSet
252cdf0e10cSrcweir        @see ResultSet
253cdf0e10cSrcweir    */
254cdf0e10cSrcweir    [attribute,bound] string Filter;
255cdf0e10cSrcweir
256cdf0e10cSrcweir    /** specifies if the <member>Command</member> should be analyzed on the client side before sending it
257cdf0e10cSrcweir        to the database server.
258cdf0e10cSrcweir
259cdf0e10cSrcweir        <p>The default value of this property is <TRUE/>. By switching it to <FALSE/>, you can pass
260cdf0e10cSrcweir        backend-specific SQL statements, which are not standard SQL, to your database.</p>
261cdf0e10cSrcweir
262cdf0e10cSrcweir        <p>This property is usually present together with the <member>Command</member> and
263cdf0e10cSrcweir        <member>CommandType</member> properties, and is evaluated if and only if <member>CommandType</member>
264cdf0e10cSrcweir        equals <member>CommandType::COMMAND</member>.</p>
265cdf0e10cSrcweir    */
266cdf0e10cSrcweir    [attribute,bound] boolean EscapeProcessing;
267cdf0e10cSrcweir
268cdf0e10cSrcweir    /** specifies the active connection which is used to create the resulting report.
269cdf0e10cSrcweir    */
270cdf0e10cSrcweir    [attribute,bound] com::sun::star::sdbc::XConnection ActiveConnection
271cdf0e10cSrcweir    {
272cdf0e10cSrcweir        set raises (com::sun::star::lang::IllegalArgumentException);
273cdf0e10cSrcweir    };
274cdf0e10cSrcweir
275cdf0e10cSrcweir    /** is the name of the datasource to use, this could be a named datasource
276cdf0e10cSrcweir        or the URL of a data access component.
277cdf0e10cSrcweir     */
278cdf0e10cSrcweir    [attribute,bound] string DataSourceName;
279cdf0e10cSrcweir
280cdf0e10cSrcweir    /** Defines that the report header is on.
281cdf0e10cSrcweir        Default is <FALSE/>.
282cdf0e10cSrcweir    */
283cdf0e10cSrcweir    [attribute,bound] boolean ReportHeaderOn;
284cdf0e10cSrcweir
285cdf0e10cSrcweir    /** Defines that the report footer is on.
286cdf0e10cSrcweir        Default is <FALSE/>.
287cdf0e10cSrcweir    */
288cdf0e10cSrcweir    [attribute,bound] boolean ReportFooterOn;
289cdf0e10cSrcweir
290cdf0e10cSrcweir    /** Defines that the page header is on.
291cdf0e10cSrcweir        Default is <TRUE/>.
292cdf0e10cSrcweir    */
293cdf0e10cSrcweir    [attribute,bound] boolean PageHeaderOn;
294cdf0e10cSrcweir
295cdf0e10cSrcweir    /** Defines that the page footer is on.
296cdf0e10cSrcweir        Default is <TRUE/>.
297cdf0e10cSrcweir    */
298cdf0e10cSrcweir    [attribute,bound] boolean PageFooterOn;
299cdf0e10cSrcweir
300cdf0e10cSrcweir    /** Represents the groups of the report.
301cdf0e10cSrcweir    */
302cdf0e10cSrcweir    [attribute,readonly] com::sun::star::report::XGroups Groups;
303cdf0e10cSrcweir
304cdf0e10cSrcweir    /** returns the report header if the <member>ReportHeaderOn</member>is <TRUE/>.
305cdf0e10cSrcweir        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
306cdf0e10cSrcweir            If the report has the report header disabled.
307cdf0e10cSrcweir        @see XSection
308cdf0e10cSrcweir    */
309cdf0e10cSrcweir    [attribute,readonly] com::sun::star::report::XSection ReportHeader
310cdf0e10cSrcweir    {
311cdf0e10cSrcweir        get raises (com::sun::star::container::NoSuchElementException);
312cdf0e10cSrcweir    };
313cdf0e10cSrcweir
314cdf0e10cSrcweir    /** returns the page header if the <member>PageHeaderOn</member>is <TRUE/>.
315cdf0e10cSrcweir        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
316cdf0e10cSrcweir            If the report has the page header disabled.
317cdf0e10cSrcweir        @see XSection
318cdf0e10cSrcweir    */
319cdf0e10cSrcweir    [attribute,readonly] com::sun::star::report::XSection PageHeader
320cdf0e10cSrcweir    {
321cdf0e10cSrcweir        get raises (com::sun::star::container::NoSuchElementException);
322cdf0e10cSrcweir    };
323cdf0e10cSrcweir
324cdf0e10cSrcweir    /** returns the detail section.
325cdf0e10cSrcweir        @see XSection
326cdf0e10cSrcweir    */
327cdf0e10cSrcweir    [attribute,readonly] com::sun::star::report::XSection Detail;
328cdf0e10cSrcweir
329cdf0e10cSrcweir    /** returns the page footer if the <member>PageFooterOn</member>is <TRUE/>.
330cdf0e10cSrcweir        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
331cdf0e10cSrcweir            If the report has the page footer disabled.
332cdf0e10cSrcweir        @see XSection
333cdf0e10cSrcweir    */
334cdf0e10cSrcweir    [attribute,readonly] com::sun::star::report::XSection PageFooter
335cdf0e10cSrcweir    {
336cdf0e10cSrcweir        get raises (com::sun::star::container::NoSuchElementException);
337cdf0e10cSrcweir    };
338cdf0e10cSrcweir
339cdf0e10cSrcweir    /** returns the report footer if the <member>ReportFooterOn</member>is <TRUE/>.
340cdf0e10cSrcweir        @throws <type scope="com::sun::star::container">NullPointerException</type>
341cdf0e10cSrcweir            If the report has the report footer disabled.
342cdf0e10cSrcweir        @see XSection
343cdf0e10cSrcweir    */
344cdf0e10cSrcweir    [attribute,readonly] com::sun::star::report::XSection ReportFooter
345cdf0e10cSrcweir    {
346cdf0e10cSrcweir        get raises (com::sun::star::container::NoSuchElementException);
347cdf0e10cSrcweir    };
348cdf0e10cSrcweir};
349cdf0e10cSrcweir
350cdf0e10cSrcweirpublished service ReportDefinition : XReportDefinition;
351cdf0e10cSrcweir//=============================================================================
352cdf0e10cSrcweir
353cdf0e10cSrcweir}; }; }; };
354cdf0e10cSrcweir
355cdf0e10cSrcweir/*=============================================================================
356cdf0e10cSrcweir
357cdf0e10cSrcweir=============================================================================*/
358cdf0e10cSrcweir#endif
359