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_XSection_idl__
24#define __com_sun_star_report_XSection_idl__
25
26#ifndef __com_sun_star_container_XChild_idl__
27#include <com/sun/star/container/XChild.idl>
28#endif
29#ifndef __com_sun_star_drawing_XShapes_idl__
30#include <com/sun/star/drawing/XShapes.idl>
31#endif
32#ifndef __com_sun_star_container_XEnumerationAccess_idl__
33#include <com/sun/star/container/XEnumerationAccess.idl>
34#endif
35#ifndef __com_sun_star_container_XContainer_idl__
36#include <com/sun/star/container/XContainer.idl>
37#endif
38#ifndef __com_sun_star_util_Color_idl__
39#include <com/sun/star/util/Color.idl>
40#endif
41#ifndef __com_sun_star_beans_XPropertySet_idl__
42#include <com/sun/star/beans/XPropertySet.idl>
43#endif
44#ifndef __com_sun_star_report_XReportDefinition_idl__
45#include <com/sun/star/report/XReportDefinition.idl>
46#endif
47#ifndef __com_sun_star_report_XReportComponent_idl__
48#include <com/sun/star/report/XReportComponent.idl>
49#endif
50//=============================================================================
51
52 module com {  module sun {  module star {  module report {
53 published interface XGroup;
54//=============================================================================
55
56/** identifies a <type>XSection</type> inside a report.
57
58    <p>A section acts like a container of report components. This generic
59    construction allows the definition of hierarchies of reports and their
60    dependent subreports.</p>
61
62    @see XReportDefinition
63    @see XGroup
64 */
65published interface XSection
66{
67    /** allows to navigate to group or report definition.
68    */
69    interface com::sun::star::container::XChild;
70    /** allows to register listeners to be notified of changes in the container.
71    */
72    interface com::sun::star::container::XContainer;
73
74    /** gives access to the elements by index.
75    */
76    interface com::sun::star::drawing::XShapes;
77
78    /** creates an enumeration of the elements.
79    */
80    interface com::sun::star::container::XEnumerationAccess;
81
82    /** provides generic access to the instance properties
83    */
84    interface com::sun::star::beans::XPropertySet;
85
86    /** allows life-time control of sections.
87     */
88    interface com::sun::star::lang::XComponent;
89
90    //-------------------------------------------------------------------------
91
92    /** Defines if the section should be visible in report.
93    */
94    [attribute,bound] boolean Visible;
95
96    /** Defines the name of the section.
97    */
98    [attribute,bound] string Name;
99
100    /** Defines the height of the section.
101    */
102    [attribute,bound] unsigned long Height;
103
104    /** Defines the back ground color of the section.
105    */
106    [attribute,bound] com::sun::star::util::Color BackColor;
107
108    /** determines if the back ground color is set to transparent.
109     */
110    [attribute,bound] boolean BackTransparent;
111
112    /** Defines the expression which is executed before printing the section.
113        If the return value of the expression is <TRUE/> then the section will be printed.
114    */
115    [attribute,bound] string ConditionalPrintExpression;
116
117    /** Specifies wether the section is printed on a separate page.
118        <p>Not valid for page header or page footer.</p>
119        @see ForceNewPage
120    */
121    [attribute,bound] short ForceNewPage
122    {
123        set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
124        get raises ( com::sun::star::beans::UnknownPropertyException );
125    };
126
127    /** Specifies wether the section is printed in a new row or column within a multi column report.
128        <p>Not valid for page header or page footer.</p>
129        @see ForceNewPage
130    */
131    [attribute,bound] short NewRowOrCol
132    {
133        set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
134        get raises ( com::sun::star::beans::UnknownPropertyException );
135    };
136
137    /** Specifies that the section is printed on one page.
138    <p>Not valid for page header or page footer.</p>
139    */
140    [attribute,bound] boolean KeepTogether
141    {
142        set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
143        get raises ( com::sun::star::beans::UnknownPropertyException );
144    };
145
146    /** Specifies that elements with dynamic state will be expanded vertically when then content of the element is larger than it's container.
147        If this property is disabled the content will be truncated when it's size is larger than the container.
148    */
149    [attribute,bound] boolean CanGrow
150    {
151        set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
152        get raises ( com::sun::star::beans::UnknownPropertyException );
153    };
154
155/**
156  <p>Represents ...</p>
157
158 */
159    [attribute,bound] boolean CanShrink
160    {
161        set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
162        get raises ( com::sun::star::beans::UnknownPropertyException );
163    };
164
165    /** Defines that the group header should be repeated on the next page when a group spans more than one page.
166        It only applies to group headers.
167    */
168    [attribute,bound] boolean RepeatSection
169    {
170        set raises ( com::sun::star::lang::IllegalArgumentException,com::sun::star::beans::UnknownPropertyException );
171        get raises ( com::sun::star::beans::UnknownPropertyException );
172    };
173
174    /** Specifies the parent of the section if it is a group header or group footer.
175    */
176    [attribute,readonly] com::sun::star::report::XGroup Group;
177
178    /** Specifies the parent of the section if it is a page header or page footer.
179    */
180    [attribute,readonly] com::sun::star::report::XReportDefinition ReportDefinition;
181};
182
183service Section : XSection;
184//=============================================================================
185
186}; }; }; };
187
188/*=============================================================================
189
190=============================================================================*/
191#endif
192