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_TextDocumentSettings_idl__
28#define __com_sun_star_text_TextDocumentSettings_idl__
29
30#ifndef __com_sun_star_beans_XPropertySet_idl__
31#include <com/sun/star/beans/XPropertySet.idl>
32#endif
33
34#ifndef __com_sun_star_document_Settings_idl__
35#include <com/sun/star/document/Settings.idl>
36#endif
37
38#ifndef __com_sun_star_text_PrintSettings_idl__
39#include <com/sun/star/text/PrintSettings.idl>
40#endif
41
42#ifndef __com_sun_star_text_PrintPreviewSettings_idl__
43#include <com/sun/star/text/PrintPreviewSettings.idl>
44#endif
45
46//=============================================================================
47
48module com { module sun { module star { module text {
49
50//=============================================================================
51
52/** describes properties that apply to the whole text document.
53 */
54published service DocumentSettings
55{
56    service com::sun::star::document::Settings;
57
58    [optional] service com::sun::star::text::PrintSettings;
59
60    [optional] service com::sun::star::text::PrintPreviewSettings;
61
62    //-------------------------------------------------------------------------
63    /** gives access to the properties implemented by this service.
64     */
65    interface com::sun::star::beans::XPropertySet;
66
67    //-------------------------------------------------------------------------
68
69    /** specifies if charts in text documents are updated automatically.
70
71        This has no effect if 'FieldAutoUpdate' is <FALSE/>.
72    */
73    [optional, property] boolean ChartAutoUpdate;
74
75    /** specifies if spacing between paragraphs and tables is to be
76        added.
77
78        <p>If between two paragraphs, two tables, or a paragraph and a
79        table, you have defined spacing above and below each object,
80        usually only the larger one of the two spaces is used.  If the
81        spacing between hte objects are to be added this property has
82        to be <TRUE/>.</p>
83    */
84    [optional, property] boolean AddParaTableSpacing;
85
86    /** specifies if top paragraph spacing is applied to paragraphs
87        on the first page of text documents.
88
89        <p>If <TRUE/>, the paragraph or table spacing to the top will
90        also be effective at the beginning of a page or column if the
91        paragraph or table is positioned on the first page of the
92        document.  The same applies for a page break.</p>
93    */
94    [optional, property] boolean AddParaTableSpacingAtStart;
95
96    /** specifies the alignment of tab stops in text documents.
97
98        <p>If <TRUE/> centered and right-aligned paragraphs containing
99        tabs are formatted as a whole in the center or aligned to the
100        right. If <FALSE/>, only the text to the right of the last
101        tab, for example, is aligned to the right, while the text to
102        the left remains where it is.</p>
103    */
104    [optional, property] boolean AlignTabStopPosition;
105
106    // ------------------------------------------------------------
107    /** specifies if the contents of links in the global document
108        are saved or not.
109
110        <p>This property applies only for master documents.</p>
111
112        <p><em>Note</em>: This name is a bit misleading, it should be
113        something like <code>SaveLinkedDocumentContent</code>.</p>
114    */
115    [optional, property] boolean SaveGlobalDocumentLinks;
116    // ------------------------------------------------------------
117    /** specifies if the document has been created as a label document.
118
119        <p>This property indicates that the document contains multiple text frames
120        and that the content of one frame is duplicated into the other frames
121        by internally linked text sections.</p>
122
123    */
124    [optional, property] boolean IsLabelDocument;
125    // ------------------------------------------------------------
126    /** specifies if the former (till OpenOffice.org 1.1) or the new
127        line spacing formatting is applied.
128
129        <p>This property controls how a set line spacing at a paragraph
130        influences the formatting of the text lines and the spacing between
131        paragraphs.
132        If <TRUE/>, the formatting till OpenOffice.org 1.1 is
133        applied. This means, that a proportional line spacing is applied
134        above and below a text line and that the maximum of the line spacing
135        value between two paragraph is added respectively reckoned up with the
136        paragraph spacing (adding or reckoning up is controlled by document
137        option AddParaTableSpacing).
138        If <FALSE/> (default for documents since OpenOffice.org 2.0),
139        a proportional line spacing is only applied below a text line and
140        it's always added to the paragraph spacing between two paragraphs.</p>
141
142        @since OOo 2.0
143    */
144    [optional, property] boolean UseFormerLineSpacing;
145    // ------------------------------------------------------------
146    /** specifies if paragraph and table spacing is added at the
147        bottom of table cells
148
149        <p>This property controls, if the spacing of the last paragraph
150        respectively table of a table cell is added at the bottom of this
151        table cells
152        If <TRUE/> (default for documents since OpenOffice.org 2.0),
153        the spacing of the last paragraph respectively table of a table
154        cell is added at the bottom of this table cell.
155        If <FALSE/> (typically for documents till OpenOffice.org 1.1),
156        the spacing of the last paragraph respectively table of a table
157        cell isn't added at the bottom of this table cell.</p>
158
159        @since OOo 2.0
160    */
161    [optional, property] boolean AddParaSpacingToTableCells;
162    // ------------------------------------------------------------
163    /** specifies if the former (till OpenOffice.org 1.1) or the new
164        object positioning is applied.
165
166        <p>This property controls how floating screen objects (Writer
167        fly frames and drawing objects are positioned.
168        If <TRUE/>, the object positioning till OpenOffice.org 1.1 is
169        applied. This means, that the top of a paragraph, at which a
170        floating screen object orients its vertical position, includes
171        the lower spacing and the line spacing of the previous paragraph.
172        If <FALSE/> (default for documents since OpenOffice.org 2.0),
173        the top of a paragraph, at which a floating screen object orients
174        its vertical position, doesn't include the lower spacing and the
175        line spacing of the previous paragraph.</p>
176
177        @since OOo 2.0
178    */
179    [optional, property] boolean UseFormerObjectPositioning;
180
181    // ------------------------------------------------------------
182    /** specifies if the text wrap of floating screen objects are
183        considered in a specified way in the positioning algorithm.
184
185        <p>This property controls how floating screen objects (Writer
186        fly frames and drawing objects) are positioned.
187        If <TRUE/>, the object positioning algorithm will consider
188        the text wrap style, set at the floating screen object.
189        The attribute <member>BaseFrameProperties::WrapInfluenceOnPosition</member>
190        specifies how the text wrap is considered.
191        If <FALSE/> (default value), the former object positioning
192        algorithm (known from OpenOffice.org 1.1) is applied.</p>
193
194        @since OOo 2.0
195    */
196    [optional, property] boolean ConsiderTextWrapOnObjPos;
197
198    // ------------------------------------------------------------
199    /** specifies if Math objects should automatically vertically aligned to
200        match the baseline of the surrounding text.
201
202        <p>If activated formula object that are anchored 'As Character' will be
203        vertically aligned to have their baseline match with the one from the text.</p>
204
205        @since OOo 3.4
206    */
207    [optional, property] boolean MathBaselineAlignment;
208};
209
210//=============================================================================
211
212}; }; }; };
213
214#endif