1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XReportDefinition.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_report_XReportDefinition_idl__
31 #define __com_sun_star_report_XReportDefinition_idl__
33 #ifndef __com_sun_star_report_XReportComponent_idl__
34 #include
<com
/sun
/star
/report
/XReportComponent.idl
>
36 #ifndef __com_sun_star_report_XFunctionsSupplier_idl__
37 #include
<com
/sun
/star
/report
/XFunctionsSupplier.idl
>
39 #ifndef __com_sun_star_view_PaperOrientation_idl__
40 #include
<com
/sun
/star
/view
/PaperOrientation.idl
>
42 #ifndef __com_sun_star_container_NoSuchElementException_idl__
43 #include
<com
/sun
/star
/container
/NoSuchElementException.idl
>
45 #ifndef __com_sun_star_style_GraphicLocation_idl__
46 #include
<com
/sun
/star
/style
/GraphicLocation.idl
>
48 #ifndef __com_sun_star_view_PaperFormat_idl__
49 #include
<com
/sun
/star
/view
/PaperFormat.idl
>
51 #ifndef __com_sun_star_util_XClosable_idl__
52 #include
<com
/sun
/star
/util
/XCloseable.idl
>
54 #ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__
55 #include
<com
/sun
/star
/ui
/XUIConfigurationManagerSupplier.idl
>
57 #ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__
58 #include
<com
/sun
/star
/document
/XDocumentSubStorageSupplier.idl
>
60 #ifndef __com_sun_star_frame_XModel_idl__
61 #include
<com
/sun
/star
/frame
/XModel.idl
>
63 #ifndef __com_sun_star_document_XViewDataSupplier_idl__
64 #include
<com
/sun
/star
/document
/XViewDataSupplier.idl
>
66 #ifndef __com_sun_star_frame_XLoadable_idl__
67 #include
<com
/sun
/star
/frame
/XLoadable.idl
>
69 #ifndef __com_sun_star_embed_XVisualObject_idl__
70 #include
<com
/sun
/star
/embed
/XVisualObject.idl
>
72 #ifndef __com_sun_star_embed_XStorageBasedDocument_idl__
73 #include
<com
/sun
/star
/document
/XStorageBasedDocument.idl
>
75 #ifndef __com_sun_star_awt_Size_idl__
76 #include
<com
/sun
/star
/awt
/Size.idl
>
78 #ifndef __com_sun_star_util_XModifiable_idl__
79 #include
<com
/sun
/star
/util
/XModifiable.idl
>
81 #ifndef __com_sun_star_document_XEventBroadcaster_idl__
82 #include
<com
/sun
/star
/document
/XEventBroadcaster.idl
>
84 #ifndef __com_sun_star_lang_DisposedException_idl__
85 #include
<com
/sun
/star
/lang
/DisposedException.idl
>
87 #ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
88 #include
<com
/sun
/star
/style
/XStyleFamiliesSupplier.idl
>
91 module com
{ module sun
{ module star
{ module sdbc
{
92 published
interface XConnection
;
94 //=============================================================================
96 module com
{ module sun
{ module star
{ module report
{
100 //=============================================================================
102 /** identifies a <type>XReportComponent</type> as being a (sub-) report.
104 <p>This interface does not really provide an own functionality, it is only for easier
105 runtime identification of report components.</p>
107 <p>A report fulfills several tasks, like storing the structure of its
108 report components and it provides the
109 event environment for its contained elements.</p>
111 @see XReportComponent
113 interface XReportDefinition
115 /** allows the access to the model embedded in the database storage.
117 interface com
::sun
::star
::frame
::XModel
;
119 /** offers a simple way to initialize a component.
121 interface com
::sun
::star
::frame
::XLoadable
;
123 /** represents common visualisation functionality for the embedded report.
125 interface com
::sun
::star
::embed
::XVisualObject
;
127 /** allows to initialize the document with a storage.
129 interface com
::sun
::star
::document
::XStorageBasedDocument
;
131 /** gives access to some properties describing all open views to a document.
133 interface com
::sun
::star
::document
::XViewDataSupplier
;
135 /** allows to close the document.
137 interface com
::sun
::star
::util
::XCloseable
;
139 /** allows to retrieve the user interface configuration manager related to an object.
141 interface com
::sun
::star
::ui
::XUIConfigurationManagerSupplier
;
143 interface com
::sun
::star
::document
::XDocumentSubStorageSupplier
;
145 /** provides access to the collection of style families.
147 <p>A spreadsheet document contains 2 families of styles:
148 "PageStyles" and "CellStyles".</p>
150 interface com
::sun
::star
::style
::XStyleFamiliesSupplier
;
152 //-------------------------------------------------------------------------
153 /** a storable document should provide information about his modify state
156 With this interface it's possible too, to reset the modify state.
157 That can be neccessary to prevent code against problem during closing
158 of the document without saving any changes.
161 interface com
::sun
::star
::util
::XModifiable
;
163 /** allows the creation of sub reports.
165 interface XReportComponent
;
167 /** gives access to functions defined in the report definition.
169 interface XFunctionsSupplier
;
171 /** makes it possible to register listeners which are called whenever
172 a document event occurs.
173 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>
174 because the methods addEventListener and removeEventListener are already defined in <type scope="com::sun::star::lang">XComponent</type>.
175 A queryInterface call is still supported to the <type scope="com::sun::star::document">XEventBroadcaster</type> interface.
177 com
::sun
::star
::document
::XEventBroadcaster getEventBroadcaster
()
178 raises
( ::com
::sun
::star
::lang
::DisposedException
,
179 ::com
::sun
::star
::uno
::Exception
);
181 /** returns a sequence of the currently supported output formats.
183 sequence
<string> getAvailableMimeTypes
()
184 raises
( ::com
::sun
::star
::lang
::DisposedException
,
185 ::com
::sun
::star
::uno
::Exception
);
187 //-------------------------------------------------------------------------
189 /** Represents the output format (media (mime) type) of the resulting document when executing this report.
191 [attribute
,bound
] string MimeType
193 set raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
196 /** Represents the title of the report in print preview.
198 [attribute
,bound
] string Caption
;
200 /** Specifies whether groups in a multi column report are kept together.
201 @see com.sun.star.report.GroupKeepTogether
203 [attribute
,bound
] short GroupKeepTogether
205 set raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
208 /** Represents the location of the page header.
209 @see ReportPrintOption
211 [attribute
,bound
] short PageHeaderOption
;
213 /** Represents the location of the page footer.
214 @see ReportPrintOption
216 [attribute
,bound
] short PageFooterOption
;
219 /** is the command which should be executed, the type of command depends
221 <p>In case of a <member>CommandType</member> of <member>CommandType::COMMAND</member>,
222 means in case the <member>Command</member> specifies an SQL statement, the inherited
223 <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
224 becomes relevant:<br/>
225 It then can be to used to specify whether the SQL statement should be analyzed on the
226 client side before sending it to the database server.<br/>
227 The default value for <member scope="com::sun::star::sdbc">RowSet::EscapeProcessing</member>
228 is <TRUE/>. By switching it to <FALSE/>, you can pass backend-specific SQL statements,
229 which are not standard SQL, to your database.</p>
232 @see com::sun::star::sdb::CommandType
234 [attribute
,bound
] string Command
;
236 /** specifies the type of the command to be executed to retrieve a result set.
238 <p><member>Command</member> needs to be interpreted depending on the value of this property.</p>
240 <p>This property is only meaningfull together with the <member>Command</member>
241 property, thus either <em>both</em> or <em>none</em> of them are present.</p>
243 @see com::sun::star::sdb::CommandType
245 [attribute
,bound
] long CommandType
;
247 /** specifies an addtional filter to optinally use.
249 <p>The Filter string has to form a SQL WHERE-clause, <em>without</em> the WHERE-string itself.</p>
251 <p>If a <member>DataSourceName</member>, <member>Command</member> and <member>CommandType</member>
252 are specified, a <type>RowSet</type> can be created with this information. If the results provided by the
253 row set are to be additionally filtered, the Filter property can be used.</p>
255 <p>Note that the Filter property does not make sense if a <member>ResultSet</member> has been specified
256 in the DataAccessDescriptor.</p>
258 @see com::sun::star::sdb::RowSet
261 [attribute
,bound
] string Filter
;
263 /** specifies if the <member>Command</member> should be analyzed on the client side before sending it
264 to the database server.
266 <p>The default value of this property is <TRUE/>. By switching it to <FALSE/>, you can pass
267 backend-specific SQL statements, which are not standard SQL, to your database.</p>
269 <p>This property is usually present together with the <member>Command</member> and
270 <member>CommandType</member> properties, and is evaluated if and only if <member>CommandType</member>
271 equals <member>CommandType::COMMAND</member>.</p>
273 [attribute
,bound
] boolean EscapeProcessing
;
275 /** specifies the active connection which is used to create the resulting report.
277 [attribute
,bound
] com
::sun
::star
::sdbc
::XConnection ActiveConnection
279 set raises
(com
::sun
::star
::lang
::IllegalArgumentException
);
282 /** is the name of the datasource to use, this could be a named datasource
283 or the URL of a data access component.
285 [attribute
,bound
] string DataSourceName
;
287 /** Defines that the report header is on.
290 [attribute
,bound
] boolean ReportHeaderOn
;
292 /** Defines that the report footer is on.
295 [attribute
,bound
] boolean ReportFooterOn
;
297 /** Defines that the page header is on.
300 [attribute
,bound
] boolean PageHeaderOn
;
302 /** Defines that the page footer is on.
305 [attribute
,bound
] boolean PageFooterOn
;
307 /** Represents the groups of the report.
309 [attribute
,readonly] com
::sun
::star
::report
::XGroups Groups
;
311 /** returns the report header if the <member>ReportHeaderOn</member>is <TRUE/>.
312 @throws <type scope="com::sun::star::container">NoSuchElementException</type>
313 If the report has the report header disabled.
316 [attribute
,readonly] com
::sun
::star
::report
::XSection ReportHeader
318 get raises
(com
::sun
::star
::container
::NoSuchElementException
);
321 /** returns the page header if the <member>PageHeaderOn</member>is <TRUE/>.
322 @throws <type scope="com::sun::star::container">NoSuchElementException</type>
323 If the report has the page header disabled.
326 [attribute
,readonly] com
::sun
::star
::report
::XSection PageHeader
328 get raises
(com
::sun
::star
::container
::NoSuchElementException
);
331 /** returns the detail section.
334 [attribute
,readonly] com
::sun
::star
::report
::XSection Detail
;
336 /** returns the page footer if the <member>PageFooterOn</member>is <TRUE/>.
337 @throws <type scope="com::sun::star::container">NoSuchElementException</type>
338 If the report has the page footer disabled.
341 [attribute
,readonly] com
::sun
::star
::report
::XSection PageFooter
343 get raises
(com
::sun
::star
::container
::NoSuchElementException
);
346 /** returns the report footer if the <member>ReportFooterOn</member>is <TRUE/>.
347 @throws <type scope="com::sun::star::container">NullPointerException</type>
348 If the report has the report footer disabled.
351 [attribute
,readonly] com
::sun
::star
::report
::XSection ReportFooter
353 get raises
(com
::sun
::star
::container
::NoSuchElementException
);
357 service ReportDefinition
: XReportDefinition
;
358 //=============================================================================
362 /*=============================================================================
364 =============================================================================*/