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_SpreadsheetDocument_idl__
29#define __com_sun_star_sheet_SpreadsheetDocument_idl__
30
31#ifndef __com_sun_star_document_OfficeDocument_idl__
32#include <com/sun/star/document/OfficeDocument.idl>
33#endif
34
35#ifndef __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__
36#include <com/sun/star/sheet/SpreadsheetDocumentSettings.idl>
37#endif
38
39
40#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
41#include <com/sun/star/lang/XMultiServiceFactory.idl>
42#endif
43
44#ifndef __com_sun_star_frame_XModel_idl__
45#include <com/sun/star/frame/XModel.idl>
46#endif
47
48#ifndef __com_sun_star_document_XActionLockable_idl__
49#include <com/sun/star/document/XActionLockable.idl>
50#endif
51
52#ifndef __com_sun_star_document_XLinkTargetSupplier_idl__
53#include <com/sun/star/document/XLinkTargetSupplier.idl>
54#endif
55
56#ifndef __com_sun_star_util_XProtectable_idl__
57#include <com/sun/star/util/XProtectable.idl>
58#endif
59
60#ifndef __com_sun_star_sheet_XSpreadsheetDocument_idl__
61#include <com/sun/star/sheet/XSpreadsheetDocument.idl>
62#endif
63
64#ifndef __com_sun_star_sheet_XCalculatable_idl__
65#include <com/sun/star/sheet/XCalculatable.idl>
66#endif
67
68#ifndef __com_sun_star_sheet_XDocumentAuditing_idl__
69#include <com/sun/star/sheet/XDocumentAuditing.idl>
70#endif
71
72#ifndef __com_sun_star_sheet_XConsolidatable_idl__
73#include <com/sun/star/sheet/XConsolidatable.idl>
74#endif
75
76#ifndef __com_sun_star_sheet_XGoalSeek_idl__
77#include <com/sun/star/sheet/XGoalSeek.idl>
78#endif
79
80#ifndef __com_sun_star_drawing_XDrawPagesSupplier_idl__
81#include <com/sun/star/drawing/XDrawPagesSupplier.idl>
82#endif
83
84#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
85#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
86#endif
87
88#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
89#include <com/sun/star/util/XNumberFormatsSupplier.idl>
90#endif
91
92
93#ifndef __com_sun_star_sheet_XNamedRanges_idl__
94#include <com/sun/star/sheet/XNamedRanges.idl>
95#endif
96
97#ifndef __com_sun_star_sheet_XDatabaseRanges_idl__
98#include <com/sun/star/sheet/XDatabaseRanges.idl>
99#endif
100
101#ifndef __com_sun_star_sheet_XLabelRanges_idl__
102#include <com/sun/star/sheet/XLabelRanges.idl>
103#endif
104
105#ifndef __com_sun_star_container_XNameAccess_idl__
106#include <com/sun/star/container/XNameAccess.idl>
107#endif
108
109#ifndef __com_sun_star_sheet_XAreaLinks_idl__
110#include <com/sun/star/sheet/XAreaLinks.idl>
111#endif
112
113#ifndef __com_sun_star_sheet_XExternalDocLinks_idl__
114#include <com/sun/star/sheet/XExternalDocLinks.idl>
115#endif
116
117//=============================================================================
118
119module com {  module sun {  module star {  module sheet {
120
121//=============================================================================
122
123/** represents a model component which consists of some settings and
124	one or more spreadsheets.
125 */
126published service SpreadsheetDocument
127{
128	//-------------------------------------------------------------------------
129
130	/** common service for all types of documents.
131	 */
132	service com::sun::star::document::OfficeDocument;
133
134	//-------------------------------------------------------------------------
135
136	/** contributes spreadsheet document specific properties.
137
138	@deprecated
139	 */
140	[optional] service com::sun::star::sheet::SpreadsheetDocumentSettings;
141
142	//=========================================================================
143
144	/** provides methods to create instances of several spreadsheet
145		services.
146	 */
147	interface com::sun::star::lang::XMultiServiceFactory;
148
149	//-------------------------------------------------------------------------
150
151	/** provides common methods for a document model.
152
153		<p>This interface is derived from
154		<type scope="com::sun::star::lang">XComponent</type>.</p>
155	 */
156	interface com::sun::star::frame::XModel;
157
158	//-------------------------------------------------------------------------
159
160	/** provides methods to control the automatic update of cell contents.
161	 */
162	interface com::sun::star::document::XActionLockable;
163
164	//-------------------------------------------------------------------------
165
166	/** provides access to the collection of link targets available in
167		the document.
168	 */
169	interface com::sun::star::document::XLinkTargetSupplier;
170
171	//-------------------------------------------------------------------------
172
173	/** provides methods to protect and unprotect the document.
174	 */
175	interface com::sun::star::util::XProtectable;
176
177	//-------------------------------------------------------------------------
178
179	/** provides access to the collection of spreadsheets.
180	 */
181	interface com::sun::star::sheet::XSpreadsheetDocument;
182
183	//-------------------------------------------------------------------------
184
185	/** controls the recalculation settings of the document.
186	 */
187	interface com::sun::star::sheet::XCalculatable;
188
189	//-------------------------------------------------------------------------
190
191	/** provides a method to refresh all auditing arrows.
192	 */
193	interface com::sun::star::sheet::XDocumentAuditing;
194
195	//-------------------------------------------------------------------------
196
197	/** provides methods to perform a data consolidation.
198	 */
199	interface com::sun::star::sheet::XConsolidatable;
200
201	//-------------------------------------------------------------------------
202
203	/** provides a method to perform a goal seek.
204	 */
205	interface com::sun::star::sheet::XGoalSeek;
206
207	//-------------------------------------------------------------------------
208
209	/** provides access to the collection of draw pages of this document.
210	 */
211	interface com::sun::star::drawing::XDrawPagesSupplier;
212
213	//-------------------------------------------------------------------------
214
215	/** provides access to the collection of style families.
216
217		<p>A spreadsheet document contains 2 families of styles:
218		"PageStyles" and "CellStyles".</p>
219	 */
220	interface com::sun::star::style::XStyleFamiliesSupplier;
221
222	//-------------------------------------------------------------------------
223
224	/** provides access to the collection of number formats contained in
225		the document.
226	 */
227	interface com::sun::star::util::XNumberFormatsSupplier;
228
229	//=========================================================================
230
231	/** contains the collection of named ranges in the document.
232	 */
233	[readonly, property] com::sun::star::sheet::XNamedRanges NamedRanges;
234
235	//-------------------------------------------------------------------------
236
237	/** contains the collection of database ranges in the document.
238	 */
239	[readonly, property] com::sun::star::sheet::XDatabaseRanges DatabaseRanges;
240
241	//-------------------------------------------------------------------------
242
243	/** contains the collection of column label ranges in the document.
244	 */
245	[readonly, property] com::sun::star::sheet::XLabelRanges ColumnLabelRanges;
246
247	//-------------------------------------------------------------------------
248
249	/** contains the collection of row label ranges in the document.
250	 */
251	[readonly, property] com::sun::star::sheet::XLabelRanges RowLabelRanges;
252
253	//-------------------------------------------------------------------------
254
255	/** contains the collection of sheet links in the document.
256	 */
257	[readonly, property] com::sun::star::container::XNameAccess SheetLinks;
258
259	//-------------------------------------------------------------------------
260
261	/** contains the collection of area links in the document.
262	 */
263	[readonly, property] com::sun::star::sheet::XAreaLinks AreaLinks;
264
265	//-------------------------------------------------------------------------
266
267	/** contains the collection of DDE links in the document.
268	 */
269	[readonly, property] com::sun::star::container::XNameAccess DDELinks;
270
271    //-------------------------------------------------------------------------
272
273#if 0
274    /** contains the collection of external document links in the document.
275
276        @since OOo 3.1
277     */
278    [optional, readonly, property] com::sun::star::sheet::XExternalDocLinks ExternalDocLinks;
279#endif
280
281};
282
283//=============================================================================
284
285}; }; }; };
286
287#endif
288
289