xref: /trunk/main/offapi/com/sun/star/report/XGroup.idl (revision b63233d8)
1/**************************************************************
2 *
3 * Licensed to the Apache Software Foundation (ASF) under one
4 * or more contributor license agreements.  See the NOTICE file
5 * distributed with this work for additional information
6 * regarding copyright ownership.  The ASF licenses this file
7 * to you under the Apache License, Version 2.0 (the
8 * "License"); you may not use this file except in compliance
9 * with the License.  You may obtain a copy of the License at
10 *
11 *   http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing,
14 * software distributed under the License is distributed on an
15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 * KIND, either express or implied.  See the License for the
17 * specific language governing permissions and limitations
18 * under the License.
19 *
20 *************************************************************/
21
22
23#ifndef __com_sun_star_report_XGroup_idl__
24#define __com_sun_star_report_XGroup_idl__
25
26#ifndef __com_sun_star_container_NoSuchElementException_idl__
27#include <com/sun/star/container/NoSuchElementException.idl>
28#endif
29#ifndef __com_sun_star_report_XSection_idl__
30#include <com/sun/star/report/XSection.idl>
31#endif
32#ifndef __com_sun_star_report_XGroups_idl__
33#include <com/sun/star/report/XGroups.idl>
34#endif
35#include <com/sun/star/report/XFunctions.idl>
36//=============================================================================
37
38 module com {  module sun {  module star {  module report {
39
40//=============================================================================
41
42/** identifies a <type>XGroup</type>.
43    A group is always a child of the groups collection in the report.
44    @see XReportDefinition
45    @see XGroups
46 */
47published interface XGroup
48{
49    /** allows access to the groups collection of the report.
50    */
51    interface com::sun::star::container::XChild;
52
53    /** allows access to the properties of the instance.
54    */
55    interface com::sun::star::beans::XPropertySet;
56
57    /** allows life-time control of group instances.
58     */
59    interface com::sun::star::lang::XComponent;
60
61    /** gives access to functions defined in the group definition.
62    */
63    interface XFunctionsSupplier;
64
65    /** Defines if the group is sorted ascending or descending.
66        The default is <TRUE/>.
67     */
68    [attribute,bound] boolean SortAscending;
69
70    /** Defines if a group has a header.
71    */
72    [attribute,bound] boolean HeaderOn;
73
74    /** Defines if a group has a footer.
75    */
76    [attribute,bound] boolean FooterOn;
77
78    /** returns the group header.
79        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
80            If the group has the header disabled.
81        @see XSection
82    */
83
84    [attribute,readonly] XSection Header
85    {
86        get raises (com::sun::star::container::NoSuchElementException);
87    };
88
89    /** returns the group footer.
90        @throws <type scope="com::sun::star::container">NoSuchElementException</type>
91            If the group has the footer disabled.
92        @see XSection
93    */
94    [attribute,readonly,bound] XSection Footer
95    {
96        get raises (com::sun::star::container::NoSuchElementException);
97    };
98
99    /** Specifies how to group data.
100        @see GroupOn
101    */
102    [attribute,bound] short GroupOn
103    {
104        set raises (com::sun::star::lang::IllegalArgumentException);
105    };
106
107    /** Defines an interval value that rows are grouped by.
108    */
109    [attribute,bound] long GroupInterval;
110
111    /** Specifies if a group header, detail, and footer section is printed on the same page.
112        @see KeepTogether
113    */
114    [attribute,bound] short KeepTogether
115    {
116        set raises (com::sun::star::lang::IllegalArgumentException);
117    };
118
119    /** Specifies the parent of the group.
120        @see XChild
121    */
122    [attribute,readonly] com::sun::star::report::XGroups Groups;
123
124    /** Defines either a column name or a expression.
125    */
126    [attribute,bound] string Expression;
127
128    /** Specifies that the group header should always be printed on a new column.
129    */
130    [attribute,bound] boolean StartNewColumn;
131
132    /** Specifies that the group header should always be printed on a new page and the reset of the page number to zero.
133    */
134    [attribute,bound] boolean ResetPageNumber;
135};
136
137//=============================================================================
138
139}; }; }; };
140
141/*=============================================================================
142
143=============================================================================*/
144#endif
145