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
24#ifndef __com_sun_star_sheet_XPrintAreas_idl__
25#define __com_sun_star_sheet_XPrintAreas_idl__
26
27#ifndef __com_sun_star_uno_XInterface_idl__
28#include <com/sun/star/uno/XInterface.idl>
29#endif
30
31#ifndef __com_sun_star_table_CellRangeAddress_idl__
32#include <com/sun/star/table/CellRangeAddress.idl>
33#endif
34
35//=============================================================================
36
37module com {  module sun {  module star {  module sheet {
38
39//=============================================================================
40
41/** represents a sheet which has print areas.
42 */
43published interface XPrintAreas: com::sun::star::uno::XInterface
44{
45	//-------------------------------------------------------------------------
46
47	/** returns a sequence containing all print areas of the sheet.
48	 */
49	sequence< com::sun::star::table::CellRangeAddress > getPrintAreas();
50
51	//-------------------------------------------------------------------------
52
53	/** sets the print areas of the sheet.
54
55		<p>If none of the sheets in a document have print areas,
56		the whole sheets are printed. If any sheet contains print areas,
57		other sheets without print areas are not printed.</p>
58
59		@param aPrintAreas
60			a sequence containing all print areas for this sheet.
61	 */
62	void setPrintAreas( [in] sequence< com::sun::star::table::CellRangeAddress > aPrintAreas );
63
64	//-------------------------------------------------------------------------
65
66	/** returns, whether the title columns are repeated on all subsequent
67		print pages to the right.
68	 */
69	boolean getPrintTitleColumns();
70
71	//-------------------------------------------------------------------------
72
73	/** specifies whether the title columns are repeated on all subsequent
74		print pages to the right.
75
76		@param bPrintTitleColumns
77			if <TRUE/>, title columns are repeated on each page.
78	 */
79	void setPrintTitleColumns( [in] boolean bPrintTitleColumns );
80
81	//-------------------------------------------------------------------------
82
83	/** returns the range that is specified as title columns range.
84
85		<p>Title columns can be automatically repeated on all subsequent
86		print pages to the right, using
87		<member>XPrintAreas::setPrintTitleColumns</member>.</p>
88
89		@returns
90			the range of columns that is specified as title columns range.
91	 */
92	com::sun::star::table::CellRangeAddress getTitleColumns();
93
94	//-------------------------------------------------------------------------
95
96	/** specifies a range of columns as title columns range.
97
98		<p>The rows of the passed range are ignored.</p>
99
100		<p>Title columns can be automatically repeated on all subsequent
101		print pages to the right, using
102		<member>XPrintAreas::setPrintTitleColumns</member>.</p>
103
104		@param aTitleColumns
105			the title columns range.
106	 */
107	void setTitleColumns( [in] com::sun::star::table::CellRangeAddress aTitleColumns );
108
109	//-------------------------------------------------------------------------
110
111	/** returns, whether the title rows are repeated on all subsequent
112		print pages to the bottom.
113	 */
114	boolean getPrintTitleRows();
115
116	//-------------------------------------------------------------------------
117
118	/** specifies whether the title rows are repeated on all subsequent
119		print pages to the bottom.
120
121		@param bPrintTitleRows
122			if <TRUE/>, title rows are repeated on each page.
123	 */
124	void setPrintTitleRows( [in] boolean bPrintTitleRows );
125
126	//-------------------------------------------------------------------------
127
128	/** returns the range that is specified as title rows range.
129
130		<p>Title rows can be automatically repeated on all subsequent
131		print pages to the bootom, using
132		<member>XPrintAreas::setPrintTitleRows</member>.</p>
133
134		@returns
135			the range of rows that is specified as title rows range.
136	 */
137	com::sun::star::table::CellRangeAddress getTitleRows();
138
139	//-------------------------------------------------------------------------
140
141	/** specifies a range of rows as title rows range.
142
143		<p>The columns of the passed range are ignored.</p>
144
145		<p>Title rows can be automatically repeated on all subsequent
146		print pages to the bottom, using
147		<member>XPrintAreas::setPrintTitleRows</member>.</p>
148
149		@param aTitleRows
150			the title rows range.
151	 */
152	void setTitleRows( [in] com::sun::star::table::CellRangeAddress aTitleRows );
153
154};
155
156//=============================================================================
157
158}; }; }; };
159
160#endif
161
162