summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/document/Settings.idl
blob: 55ece20e57e41ec38f152af8b50a21e7b8b6ae2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */
#ifndef __com_sun_star_document_Settings_idl__
#define __com_sun_star_document_Settings_idl__

#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/i18n/XForbiddenCharacters.idl>


module com {   module sun {   module star {   module document {


/** describes properties that apply to the whole document of any
    application.

    <p>For application specific settings, please refer to the
    individual services.</p>

    @see com::sun::star::text::DocumentSettings
    @see com::sun::star::sheet::DocumentSettings
    @see com::sun::star::drawing::DocumentSettings
    @see com::sun::star::presentation::DocumentSettings
 */
published service Settings
{
    /** gives access to the properties implemented by this service.
     */
    interface com::sun::star::beans::XPropertySet;


    // Note: These settings are global.  However there is a note at
    // every property that shows which application currently makes use
    // of it.

    // Writer and Draw/Impress and Calc
    /** gives access to the set of forbidden characters.

        @return the
            com::sun::star::i18n::XForbiddenCharacters
            interface to allow retrieval and modification of the
            forbidden characters set.
    */
    [optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;

    // Writer and Calc
    /** specifies the update mode for links when loading text documents.

        <p>For supported values see the constants group
        LinkUpdateModes.</p>
    */
    [optional, property] short LinkUpdateMode;

    // Writer and Draw/Impress and Calc
    /** printer used by the document.
     */
    [property] string PrinterName;

    // Writer and Draw/Impress and Calc
    /** platform and driver dependent printer setup data.

        <p>This property serves to capture the current printer setup
        settings, such as paper tray, printer options, etc. The data
        can typically be interpreted only by the system that generated
        it. The PrinterSetup property may be used to save and restore
        the user's printer settings.</p>
    */
    [property] sequence< byte > PrinterSetup;

    // Writer and Draw/Impress and Calc
    /** specifies if kerning is applied to Asian punctuation.

        <p>Applies only if kerning is enabled.</p>
    */
    [optional, property] boolean IsKernAsianPunctuation;

    // Writer and Draw/Impress and Calc
    /** specifies the compression (character spacing) type used for
        Asian characters.

        @see com::sun::star::text::CharacterCompressionType
    */
    [optional, property] short CharacterCompressionType;

    // Writer and Draw/Impress and Calc
    /** specifies if the user-specific settings saved within a
        document should be loaded with the document.
    */
    [optional, property] boolean ApplyUserData;

    // Writer and Calc
    /** specifies if a new version is created if a document has
        been modified and you want to close it.
    */
    [optional, property] boolean SaveVersionOnClose;

    // Writer and Draw/Impress and Calc
    /** specifies if the document should be updated when the
        template it was created from changes.

        <p>Applies only for documents that were created from a template.</p>
    */
    [optional, property] boolean UpdateFromTemplate;

    // Writer
    /** specifies if fields in text documents are updated automatically.
     */
    [optional, property] boolean FieldAutoUpdate;

    // Writer
    /** The name of the globally registered
        com::sun::star::sdb::DataSource
        from which the current data is taken.

        <p>The data source can e.g. be used for feeding a form
        letter.</p>
    */
    [optional, property] string CurrentDatabaseDataSource;

    // Writer
    /** a string value, specifying the name of the object displayed
        currently (or the SQL statement used).
    */
    [optional, property] string CurrentDatabaseCommand;

    // Writer
    // Note: What is the property DataTableName?  Is this Writer-specific?
    /** determines the interpretation of the property DataTableName.

        @see com::sun::star::sdb::CommandType
    */
    [optional, property] long CurrentDatabaseCommandType;

    // Draw and Impress
    /**
     */
    [optional, property] long DefaultTabStop;

    // Draw and Impress
    /** determines if the document will be printed as a booklet
        (brochure), i.e., two document pages are put together on one
        physical page, such that you can fold the print result and get
        a booklet.

        <p>Note, that you have to print in duplex mode, if both,
        #IsPrintBookletFront and
        #IsPrintBookletBack are set to `TRUE`.</p>
     */
    [optional, property] boolean IsPrintBooklet;

    // Draw and Impress
    /** is only effective, if #IsPrintBooklet is
        `TRUE`.  If this property is also `TRUE`, only the fronts of
        the pages of your booklet are printed.

        <p>This is especially useful, if your printer does not supply
        duplex printing.</p>
     */
    [optional, property] boolean IsPrintBookletFront;

    // Draw and Impress
    /** is only effective, if #IsPrintBooklet is
        `TRUE`.  If this property is also `TRUE`, only the backs of
        the pages of your booklet are printed.

        <p>This is especially useful, if your printer does not supply
        duplex printing.</p>
     */
    [optional, property] boolean IsPrintBookletBack;

    // Draw and Impress
    /** how printing uses color.

        <ul>
        <li>0: Default</li>
        <li>1: Grayscale</li>
        <li>2: Black &amp; White (with grayscale images)</li>
        </ul>
     */
    [optional, property] long PrintQuality;

    // Draw and Impress
    /** contains the URL that points to a color table (file extension
        .soc) that will be used for showing a palette in dialogs using
        colors.
     */
    [optional, property] string ColorTableURL;

    // Draw and Impress
    /**
     */
    [optional, property] string DashTableURL;

    // Draw and Impress
    /**
     */
    [optional, property] string LineEndTableURL;

    // Draw and Impress
    /**
     */
    [optional, property] string HatchTableURL;

    // Draw and Impress
    /**
     */
    [optional, property] string GradientTableURL;

    // Draw and Impress
    /**
     */
    [optional, property] string BitmapTableURL;

    // Calc
    /**
     */
    [optional, property] boolean AutoCalculate;

    // Writer, later others
    /** forbid use of printer metrics for layout

        <p>For supported values see the constants group
        PrinterIndependentLayout.</p>
     */
    [optional, property] short PrinterIndependentLayout;

    // Writer, maybe later other applications, too
    /** layout engine should add value of a Font's "external leading"
     * attribute to the line spacing.
     */
    [optional, property] boolean AddExternalLeading;

    // Writer, maybe later others
    /**
       Whether to embed fonts used by the document (see e.g. handling
       of OOXML embedRegular etc.)
       @since LibreOffice 4.0
     */
    [optional, property] boolean EmbedFonts;
    // Writer, maybe later others
    /**
       Whether to embed also system fonts used by the document.
       Does not have any effect if EmbedFonts is false.
       @since LibreOffice 4.0
     */
    [optional, property] boolean EmbedSystemFonts;

    /** Whether to embed only the fonts that are used in the document.

        @since LibreOffice 6.2
     */
     [optional, property] boolean EmbedOnlyUsedFonts;

    /** Whether to embed Latin script fonts.

        @since LibreOffice 6.2
     */
    [optional, property] boolean EmbedLatinScriptFonts;

    /** Whether to embed Asian script fonts.

        @since LibreOffice 6.2
     */
    [optional, property] boolean EmbedAsianScriptFonts;

    /** Whether to embed Complex script fonts.

        @since LibreOffice 6.2
     */
    [optional, property] boolean EmbedComplexScriptFonts;
};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */