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