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#ifndef __com_sun_star_text_GenericTextDocument_idl__
28#define __com_sun_star_text_GenericTextDocument_idl__
29
30#ifndef __com_sun_star_document_OfficeDocument_idl__
31#include <com/sun/star/document/OfficeDocument.idl>
32#endif
33
34#ifndef __com_sun_star_text_XTextDocument_idl__
35#include <com/sun/star/text/XTextDocument.idl>
36#endif
37
38#ifndef __com_sun_star_util_XSearchable_idl__
39#include <com/sun/star/util/XSearchable.idl>
40#endif
41
42#ifndef _com_sun_star_util_XRefreshable_idl_
43#include <com/sun/star/util/XRefreshable.idl>
44#endif
45
46#ifndef __com_sun_star_text_XFootnotesSupplier_idl__
47#include <com/sun/star/text/XFootnotesSupplier.idl>
48#endif
49
50#ifndef __com_sun_star_text_XEndnotesSupplier_idl__
51#include <com/sun/star/text/XEndnotesSupplier.idl>
52#endif
53
54#ifndef __com_sun_star_util_XReplaceable_idl__
55#include <com/sun/star/util/XReplaceable.idl>
56#endif
57
58#ifndef __com_sun_star_text_XPagePrintable_idl__
59#include <com/sun/star/text/XPagePrintable.idl>
60#endif
61
62#ifndef __com_sun_star_text_XReferenceMarksSupplier_idl__
63#include <com/sun/star/text/XReferenceMarksSupplier.idl>
64#endif
65
66#ifndef __com_sun_star_text_XLineNumberingSupplier_idl__
67#include <com/sun/star/text/XLineNumberingSupplier.idl>
68#endif
69
70#ifndef __com_sun_star_text_XChapterNumberingSupplier_idl__
71#include <com/sun/star/text/XChapterNumberingSupplier.idl>
72#endif
73
74#ifndef __com_sun_star_text_XTextGraphicObjectsSupplier_idl__
75#include <com/sun/star/text/XTextGraphicObjectsSupplier.idl>
76#endif
77
78#ifndef __com_sun_star_text_XTextEmbeddedObjectsSupplier_idl__
79#include <com/sun/star/text/XTextEmbeddedObjectsSupplier.idl>
80#endif
81
82#ifndef __com_sun_star_text_XTextTablesSupplier_idl__
83#include <com/sun/star/text/XTextTablesSupplier.idl>
84#endif
85
86#ifndef __com_sun_star_style_XStyleFamiliesSupplier_idl__
87#include <com/sun/star/style/XStyleFamiliesSupplier.idl>
88#endif
89
90#ifndef __com_sun_star_util_XNumberFormatsSupplier_idl__
91#include <com/sun/star/util/XNumberFormatsSupplier.idl>
92#endif
93
94#ifndef __com_sun_star_text_XBookmarksSupplier_idl__
95#include <com/sun/star/text/XBookmarksSupplier.idl>
96#endif
97
98#ifndef __com_sun_star_text_XDocumentIndexesSupplier_idl__
99#include <com/sun/star/text/XDocumentIndexesSupplier.idl>
100#endif
101
102#ifndef __com_sun_star_text_XTextFieldsSupplier_idl__
103#include <com/sun/star/text/XTextFieldsSupplier.idl>
104#endif
105
106#ifndef __com_sun_star_text_XTextFramesSupplier_idl__
107#include <com/sun/star/text/XTextFramesSupplier.idl>
108#endif
109
110#ifndef __com_sun_star_text_XTextSectionsSupplier_idl__
111#include <com/sun/star/text/XTextSectionsSupplier.idl>
112#endif
113
114#ifndef __com_sun_star_lang_XMultiServiceFactory_idl__
115#include <com/sun/star/lang/XMultiServiceFactory.idl>
116#endif
117
118#ifndef __com_sun_star_lang_Locale_idl__
119#include <com/sun/star/lang/Locale.idl>
120#endif
121
122//=============================================================================
123
124 module com {  module sun {  module star {  module text {
125
126//=============================================================================
127
128/** A text document is a model component which contains text
129	structured by paragraphs.
130
131	<p>Each paragraph and each portion of text can be fitted with
132    some attributes (technically properties).</p>
133
134    <p>Its declared as generic text document, because its function is
135    needed by different derived services (TextDocument/WebDocument/GlobalDocument).</p>
136
137	<p>In addition, all text objects can be searched.</p>
138 */
139published service GenericTextDocument
140{
141	service com::sun::star::document::OfficeDocument;
142
143	/** provides methods to create instances of several text document
144		services.
145		A text document provides several services which need the context
146		of a text document and these text document dependent services are
147		created at the text document directly and not over the global service
148		manager.
149	 */
150	interface com::sun::star::lang::XMultiServiceFactory;
151
152	interface com::sun::star::text::XTextDocument;
153
154	interface com::sun::star::util::XSearchable;
155
156	interface com::sun::star::util::XRefreshable;
157
158	[optional] interface com::sun::star::text::XFootnotesSupplier;
159
160	[optional] interface com::sun::star::text::XEndnotesSupplier;
161
162	[optional] interface com::sun::star::util::XReplaceable;
163
164	[optional] interface com::sun::star::text::XPagePrintable;
165
166	[optional] interface com::sun::star::text::XReferenceMarksSupplier;
167
168	[optional] interface com::sun::star::text::XLineNumberingSupplier;
169
170	[optional] interface com::sun::star::text::XChapterNumberingSupplier;
171
172	[optional] interface com::sun::star::beans::XPropertySet;
173
174	[optional] interface com::sun::star::text::XTextGraphicObjectsSupplier;
175
176	[optional] interface com::sun::star::text::XTextEmbeddedObjectsSupplier;
177
178	[optional] interface com::sun::star::text::XTextTablesSupplier;
179
180	[optional] interface com::sun::star::style::XStyleFamiliesSupplier;
181
182	/** @since OOo 1.1.2
183	 */
184	[optional] interface com::sun::star::text::XBookmarksSupplier;
185
186	/** @since OOo 1.1.2
187	 */
188	[optional] interface com::sun::star::text::XDocumentIndexesSupplier;
189
190	/** @since OOo 1.1.2
191	 */
192	[optional] interface com::sun::star::text::XTextFieldsSupplier;
193
194	/** @since OOo 1.1.2
195	 */
196	[optional] interface com::sun::star::text::XTextFramesSupplier;
197
198	/** @since OOo 1.1.2
199	 */
200	[optional] interface com::sun::star::text::XTextSectionsSupplier;
201
202	/** @since OOo 1.1.2
203	 */
204	[optional] interface com::sun::star::util::XNumberFormatsSupplier;
205    //-------------------------------------------------------------------------
206
207	/** contains the identifier of the default locale of the document.
208	 */
209	[optional, property] com::sun::star::lang::Locale CharLocale;
210
211	//-------------------------------------------------------------------------
212
213	/** contains the count of all characters in the document.
214	 */
215	[optional, readonly, property] long CharacterCount;
216
217
218	//-------------------------------------------------------------------------
219
220	/** contains the count of all paragraphs in the document.
221	 */
222	[optional, readonly, property] long ParagraphCount;
223
224	//-------------------------------------------------------------------------
225
226	/** contains the count of all words in the document.@see WordSeparator
227	 */
228	[optional, readonly, property] long WordCount;
229
230	//-------------------------------------------------------------------------
231
232	/** contains a string that consists of characters that mark the
233		separation of words in counting the words in a document.
234
235
236
237		<p> I.e. slash and backslash. Whitespaces (tab stop,
238		space, paragraph break, line break) always separate
239		words.</p>@see WordCount
240	 */
241	[optional, property] string WordSeparator;
242
243        //-------------------------------------------------------------------------
244        /** specifies the concordance file taken into account when
245         *  creating an index.
246         *
247         *  When no concordance file should be used the string is empty.
248         *  Used for text documents only.
249	 *
250	 *  @since OOo 1.1.2
251         */
252        [optional, property] string IndexAutoMarkFileURL;
253
254        //-------------------------------------------------------------------------
255        /** specifies if change recording is active.
256	 *
257	 *  @since OOo 1.1.2
258         */
259        [optional, property] boolean RecordChanges;
260
261        //-------------------------------------------------------------------------
262        /** specifies the first 4 digit year to be used when years
263         *  are given in 2 digits.
264         *
265         *  Example: if set to 1930
266         *    Oct-12-29 will be interpreted as Oct-12-2029
267         *    Oct-12-30 will be interpreted as Oct-12-1930
268         *    Oct-12-02 will be interpreted as Oct-12-2002
269	 *
270	 *  @since OOo 1.1.2
271         */
272        [optional, property] short TwoDigitYear;
273};
274
275//=============================================================================
276
277}; }; }; };
278
279#endif
280