/************************************************************** * * 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 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_report_XReportDefinition_idl__ #define __com_sun_star_report_XReportDefinition_idl__ #ifndef __com_sun_star_report_XReportComponent_idl__ #include #endif #ifndef __com_sun_star_report_XFunctionsSupplier_idl__ #include #endif #ifndef __com_sun_star_view_PaperOrientation_idl__ #include #endif #ifndef __com_sun_star_container_NoSuchElementException_idl__ #include #endif #ifndef __com_sun_star_style_GraphicLocation_idl__ #include #endif #ifndef __com_sun_star_view_PaperFormat_idl__ #include #endif #ifndef __com_sun_star_util_XClosable_idl__ #include #endif #ifndef __com_sun_star_ui_XUIConfigurationManagerSupplier_idl__ #include #endif #ifndef __com_sun_star_document_XDocumentSubStorageSupplier_idl__ #include #endif #ifndef __com_sun_star_frame_XModel_idl__ #include #endif #ifndef __com_sun_star_document_XViewDataSupplier_idl__ #include #endif #ifndef __com_sun_star_frame_XLoadable_idl__ #include #endif #ifndef __com_sun_star_embed_XVisualObject_idl__ #include #endif #ifndef __com_sun_star_embed_XStorageBasedDocument_idl__ #include #endif #ifndef __com_sun_star_awt_Size_idl__ #include #endif #ifndef __com_sun_star_util_XModifiable2_idl__ #include #endif #ifndef __com_sun_star_document_XEventBroadcaster_idl__ #include #endif #ifndef __com_sun_star_lang_DisposedException_idl__ #include #endif #ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__ #include #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 XReportComponent as being a (sub-) report.

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

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

@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.

A spreadsheet document contains 2 families of styles: "PageStyles" and "CellStyles".

*/ interface com::sun::star::style::XStyleFamiliesSupplier; //------------------------------------------------------------------------- /** a storable document should provide information about his modify state

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.

*/ 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 XEventBroadcaster because the methods addEventListener and removeEventListener are already defined in XComponent. A queryInterface call is still supported to the 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 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.

In case of a CommandType of CommandType::COMMAND, means in case the Command specifies an SQL statement, the inherited RowSet::EscapeProcessing becomes relevant:
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.
The default value for RowSet::EscapeProcessing is . By switching it to , you can pass backend-specific SQL statements, which are not standard SQL, to your database.

@see com::sun::star::sdb::CommandType */ [attribute,bound] string Command; /** specifies the type of the command to be executed to retrieve a result set.

Command needs to be interpreted depending on the value of this property.

This property is only meaningfull together with the Command property, thus either both or none of them are present.

@see com::sun::star::sdb::CommandType */ [attribute,bound] long CommandType; /** specifies an addtional filter to optinally use.

The Filter string has to form a SQL WHERE-clause, without the WHERE-string itself.

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.

Note that the Filter property does not make sense if a ResultSet has been specified in the DataAccessDescriptor.

@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.

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

This property is usually present together with the Command and CommandType properties, and is evaluated if and only if CommandType equals CommandType::COMMAND.

*/ [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 . */ [attribute,bound] boolean ReportHeaderOn; /** Defines that the report footer is on. Default is . */ [attribute,bound] boolean ReportFooterOn; /** Defines that the page header is on. Default is . */ [attribute,bound] boolean PageHeaderOn; /** Defines that the page footer is on. Default is . */ [attribute,bound] boolean PageFooterOn; /** Represents the groups of the report. */ [attribute,readonly] com::sun::star::report::XGroups Groups; /** returns the report header if the ReportHeaderOnis . @throws 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 PageHeaderOnis . @throws 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 PageFooterOnis . @throws 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 ReportFooterOnis . @throws 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); }; }; published service ReportDefinition : XReportDefinition; //============================================================================= }; }; }; }; /*============================================================================= =============================================================================*/ #endif