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
28#ifndef __com_sun_star_sheet_Spreadsheet_idl__
29#define __com_sun_star_sheet_Spreadsheet_idl__
30
31#ifndef __com_sun_star_sheet_SheetCellRange_idl__
32#include <com/sun/star/sheet/SheetCellRange.idl>
33#endif
34
35#ifndef __com_sun_star_sheet_XSpreadsheet_idl__
36#include <com/sun/star/sheet/XSpreadsheet.idl>
37#endif
38
39#ifndef __com_sun_star_container_XNamed_idl__
40#include <com/sun/star/container/XNamed.idl>
41#endif
42
43#ifndef __com_sun_star_util_XProtectable_idl__
44#include <com/sun/star/util/XProtectable.idl>
45#endif
46
47#ifndef __com_sun_star_sheet_XDataPilotTablesSupplier_idl__
48#include <com/sun/star/sheet/XDataPilotTablesSupplier.idl>
49#endif
50
51#ifndef __com_sun_star_sheet_XScenariosSupplier_idl__
52#include <com/sun/star/sheet/XScenariosSupplier.idl>
53#endif
54
55#ifndef __com_sun_star_sheet_XSheetAnnotationsSupplier_idl__
56#include <com/sun/star/sheet/XSheetAnnotationsSupplier.idl>
57#endif
58
59#ifndef __com_sun_star_drawing_XDrawPageSupplier_idl__
60#include <com/sun/star/drawing/XDrawPageSupplier.idl>
61#endif
62
63#ifndef __com_sun_star_table_XTableChartsSupplier_idl__
64#include <com/sun/star/table/XTableChartsSupplier.idl>
65#endif
66
67#ifndef __com_sun_star_sheet_XCellRangeMovement_idl__
68#include <com/sun/star/sheet/XCellRangeMovement.idl>
69#endif
70
71#ifndef __com_sun_star_sheet_XPrintAreas_idl__
72#include <com/sun/star/sheet/XPrintAreas.idl>
73#endif
74
75#ifndef __com_sun_star_sheet_XSheetPageBreak_idl__
76#include <com/sun/star/sheet/XSheetPageBreak.idl>
77#endif
78
79#ifndef __com_sun_star_sheet_XSheetOutline_idl__
80#include <com/sun/star/sheet/XSheetOutline.idl>
81#endif
82
83#ifndef __com_sun_star_sheet_XSheetAuditing_idl__
84#include <com/sun/star/sheet/XSheetAuditing.idl>
85#endif
86
87#ifndef __com_sun_star_sheet_XSheetLinkable_idl__
88#include <com/sun/star/sheet/XSheetLinkable.idl>
89#endif
90
91#ifndef __com_sun_star_sheet_Scenario_idl__
92#include <com/sun/star/sheet/Scenario.idl>
93#endif
94
95#ifndef __com_sun_star_sheet_XExternalSheetName_idl__
96#include <com/sun/star/sheet/XExternalSheetName.idl>
97#endif
98
99#include <com/sun/star/util/Color.idl>
100
101//=============================================================================
102
103module com {  module sun {  module star {  module sheet {
104
105//=============================================================================
106
107/** represents a complete spreadsheet in a spreadsheet document.
108
109	<p>This service extents the service SheetCellRange. A spreadsheet is
110	nothing else than a cell range with extended functionality.</p>
111
112	@see com::sun::star::sheet::SpreadsheetDocument
113 */
114service Spreadsheet
115{
116	//-------------------------------------------------------------------------
117
118	/** provides functionality for cell range handling.
119	 */
120	service com::sun::star::sheet::SheetCellRange;
121
122	//=========================================================================
123
124    service com::sun::star::sheet::Scenario;
125
126	//=========================================================================
127
128	/** provides methods to create a cell cursor.
129	 */
130	interface com::sun::star::sheet::XSpreadsheet;
131
132	//-------------------------------------------------------------------------
133
134	/** provides accessing the spreadsheet name.
135	 */
136	interface com::sun::star::container::XNamed;
137
138	//-------------------------------------------------------------------------
139
140	/** provides methods to protect and unprotect the sheet contents.
141	 */
142	interface com::sun::star::util::XProtectable;
143
144	//-------------------------------------------------------------------------
145
146	/** provides access to the collection of DataPilot tables.
147	 */
148	interface com::sun::star::sheet::XDataPilotTablesSupplier;
149
150	//-------------------------------------------------------------------------
151
152	/** provides access to the collection of scenarios.
153	 */
154	interface com::sun::star::sheet::XScenariosSupplier;
155
156    	//-------------------------------------------------------------------------
157
158	/** provides access to the collection of annotations.
159	 */
160	interface com::sun::star::sheet::XSheetAnnotationsSupplier;
161
162	//-------------------------------------------------------------------------
163
164	/** provides access to the draw page of this spreadsheet.
165	 */
166	interface com::sun::star::drawing::XDrawPageSupplier;
167
168	//-------------------------------------------------------------------------
169
170	/** provides access to the collection of chart objects.
171	 */
172	interface com::sun::star::table::XTableChartsSupplier;
173
174	//-------------------------------------------------------------------------
175
176	/** provides methods to move cell ranges inside the spreadsheet or to
177		other spreadsheets in this document.
178	 */
179	interface com::sun::star::sheet::XCellRangeMovement;
180
181	//-------------------------------------------------------------------------
182
183	/** provides access to the print area settings of this sheet.
184	 */
185	interface com::sun::star::sheet::XPrintAreas;
186
187	//-------------------------------------------------------------------------
188
189	/** provides access to the page breaks of this sheet.
190	 */
191	interface com::sun::star::sheet::XSheetPageBreak;
192
193	//-------------------------------------------------------------------------
194
195	/** provides access to row and column outline settings.
196	 */
197	interface com::sun::star::sheet::XSheetOutline;
198
199	//-------------------------------------------------------------------------
200
201	/** provides access to the auditing (detective) functionality.
202	 */
203	interface com::sun::star::sheet::XSheetAuditing;
204
205	//-------------------------------------------------------------------------
206
207	/** provides methods for a linked sheet.
208	 */
209	interface com::sun::star::sheet::XSheetLinkable;
210
211    //-------------------------------------------------------------------------
212
213    /** provides a method to set an external name at the sheet.
214
215        @since OOo 3.0
216     */
217    [optional] interface com::sun::star::sheet::XExternalSheetName;
218
219    //=========================================================================
220
221	/** specifies if the sheet is visible.
222	 */
223	[property] boolean IsVisible;
224
225	//-------------------------------------------------------------------------
226
227	/** specifies the page style of the sheet.
228	 */
229	[property] string PageStyle;
230
231	//-------------------------------------------------------------------------
232
233	/** specifies the direction of the columns in the spreadsheet.
234
235	    <p>Possible values are com::sun::star::text::WritingMode2::LR_TB to
236	    order the columns from left to right, and
237            com::sun::star::text::WritingMode2::RL_TB to order the columns from
238	    right to left.</p>
239
240	    @see com::sun::star::text::WritingMode2
241	 */
242	[optional, property] short TableLayout;
243
244	//-------------------------------------------------------------------------
245
246	/** specifies whether the sheet has an automatic print area.
247
248    <p> The automatic print area is used to print a sheet without
249        explicit print areas, also if other sheets have print areas.</p>
250
251    <p> If the property is true, and there are print areas on other sheets,
252        the used area of this sheet is also printed.</p>
253
254    <p> If the property is false, and there are print areas on other sheets,
255        only these specified print areas are printed.</p>
256
257    <p> If there are no print areas on the other sheets it does not matter
258        whether property is true or false.</p>
259
260	<p> This property can only be true, if there are no print areas given
261        on this sheet. If the property is set to true the print areas of
262        this sheet will be removed.</p>
263
264        @see XPrintAreas
265
266	 */
267	[optional, property] boolean AutomaticPrintArea;
268
269    /** specifies the color of the sheet tab, if any.
270     */
271    [optional, property] com::sun::star::util::Color TabColor;
272};
273
274//=============================================================================
275
276}; }; }; };
277
278#endif
279
280