xref: /aoo42x/main/offapi/com/sun/star/report/XGroup.idl (revision cdf0e10c)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_report_XGroup_idl__
28#define __com_sun_star_report_XGroup_idl__
29
30#ifndef __com_sun_star_container_NoSuchElementException_idl__
31#include <com/sun/star/container/NoSuchElementException.idl>
32#endif
33#ifndef __com_sun_star_report_XSection_idl__
34#include <com/sun/star/report/XSection.idl>
35#endif
36#ifndef __com_sun_star_report_XGroups_idl__
37#include <com/sun/star/report/XGroups.idl>
38#endif
39#include <com/sun/star/report/XFunctions.idl>
40//=============================================================================
41
42 module com {  module sun {  module star {  module report {
43
44//=============================================================================
45
46/** identifies a <type>XGroup</type>.
47    A group is always a child of the groups collection in the report.
48    @see XReportDefinition
49    @see XGroups
50 */
51published interface XGroup
52{
53    /** allows access to the groups collection of the report.
54    */
55    interface com::sun::star::container::XChild;
56
57    /** allows access to the properties of the instance.
58    */
59    interface com::sun::star::beans::XPropertySet;
60
61    /** allows life-time control of group instances.
62     */
63    interface com::sun::star::lang::XComponent;
64
65    /** gives access to functions defined in the group definition.
66    */
67    interface XFunctionsSupplier;
68
69    /** Defines if the group is sorted ascending or descending.
70        The default is <TRUE/>.
71     */
72    [attribute,bound] boolean SortAscending;
73
74    /** Defines if a group has a header.
75    */
76    [attribute,bound] boolean HeaderOn;
77
78    /** Defines if a group has a footer.
79    */
80    [attribute,bound] boolean FooterOn;
81
82    /** returns the group header.
83        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
84            If the group has the header disabled.
85        @see XSection
86    */
87
88    [attribute,readonly] XSection Header
89    {
90        get raises (com::sun::star::container::NoSuchElementException);
91    };
92
93    /** returns the group footer.
94        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
95            If the group has the footer disabled.
96        @see XSection
97    */
98    [attribute,readonly,bound] XSection Footer
99    {
100        get raises (com::sun::star::container::NoSuchElementException);
101    };
102
103    /** Specifies how to group data.
104        @see GroupOn
105    */
106    [attribute,bound] short GroupOn
107    {
108        set raises (com::sun::star::lang::IllegalArgumentException);
109    };
110
111    /** Defines an interval value that rows are grouped by.
112    */
113    [attribute,bound] long GroupInterval;
114
115    /** Specifies if a group header, detail, and footer section is printed on the same page.
116        @see KeepTogether
117    */
118    [attribute,bound] short KeepTogether
119    {
120        set raises (com::sun::star::lang::IllegalArgumentException);
121    };
122
123    /** Specifies the parent of the group.
124        @see XChild
125    */
126    [attribute,readonly] com::sun::star::report::XGroups Groups;
127
128    /** Defines either a column name or a expression.
129    */
130    [attribute,bound] string Expression;
131
132    /** Specifies that the group header should always be printed on a new column.
133    */
134    [attribute,bound] boolean StartNewColumn;
135
136    /** Specifies that the group header should always be printed on a new page and the reset of the page number to zero.
137    */
138    [attribute,bound] boolean ResetPageNumber;
139};
140
141service Group : XGroup;
142//=============================================================================
143
144}; }; }; };
145
146/*=============================================================================
147
148=============================================================================*/
149#endif
150