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_document_Settings_idl__
24#define __com_sun_star_document_Settings_idl__
25
26#ifndef __com_sun_star_beans_XPropertySet_idl__
27#include <com/sun/star/beans/XPropertySet.idl>
28#endif
29#ifndef __com_sun_star_i18n_XForbiddenCharacters_idl__
30#include <com/sun/star/i18n/XForbiddenCharacters.idl>
31#endif
32
33//=============================================================================
34
35module com {   module sun {   module star {   module document {
36
37//=============================================================================
38
39/** describes properties that apply to the whole document of any
40    application.
41
42    <p>For application specific settings, please refer to the
43    individual services.</p>
44
45    @see com::sun::star::text::DocumentSettings
46    @see com::sun::star::sheet::DocumentSettings
47    @see com::sun::star::drawing::DocumentSettings
48    @see com::sun::star::presentation::DocumentSettings
49 */
50published service Settings
51{
52    /** gives access to the properties implemented by this service.
53     */
54	interface com::sun::star::beans::XPropertySet;
55
56    //-------------------------------------------------------------------------
57
58    // Note: These settings are global.  However there is a note at
59    // every property that shows which application currently makes use
60    // of it.
61
62    // Writer and Draw/Impress and Calc
63    //-------------------------------------------------------------------------
64    /** gives access to the set of forbidden characters.
65
66        @return the
67            <type scope="com::sun::star::i18n">XForbiddenCharacters</type>
68            interface to allow retreival and modification of the
69            forbidden characters set.
70    */
71    [optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;
72
73    // Writer and Calc
74    //-------------------------------------------------------------------------
75    /** specifies the update mode for links when loading text documents.
76
77        <p>For supported values see the constants group
78        <type>LinkUpdateModes</type>.</p>
79    */
80    [optional, property] short LinkUpdateMode;
81
82    // Writer and Draw/Impress and Calc
83    //-------------------------------------------------------------------------
84    /** printer used by the document.
85     */
86    [property] string PrinterName;
87
88    // Writer and Draw/Impress and Calc
89    //-------------------------------------------------------------------------
90    /** platform and driver dependent printer setup data.
91
92        <p>This property serves to capture the current printer setup
93        settings, such as paper tray, printer options, etc. The data
94        can typically be interpreted only by the system that generated
95        it. The PrinterSetup property may be used to save and restore
96        the user's printer settings.</p>
97    */
98    [property] sequence< byte > PrinterSetup;
99
100    // Writer and Draw/Impress and Calc
101    //-------------------------------------------------------------------------
102    /** specifies if kerning is applied to Asian punctuation.
103
104        <p>Applies only if kerning is enabled.</p>
105    */
106    [optional, property] boolean IsKernAsianPunctuation;
107
108    // Writer and Draw/Impress and Calc
109    //-------------------------------------------------------------------------
110    /** specifies the compression (character spacing) type used for
111        Asian characters.
112
113        @see com::sun::star::text::CharacterCompressionType
114    */
115    [optional, property] short CharacterCompressionType;
116
117    // Writer and Draw/Impress and Calc
118    //-------------------------------------------------------------------------
119    /** specifies if the user-specific settings saved within a
120        document should be loaded with the document.
121    */
122    [optional, property] boolean ApplyUserData;
123
124    // Writer and Calc
125    //-------------------------------------------------------------------------
126    /** specifies if a new version is created if a document has
127        been modified and you want to close it.
128    */
129    [optional, property] boolean SaveVersionOnClose;
130
131    // Writer and Draw/Impress and Calc
132    //-------------------------------------------------------------------------
133    /** specifies if the document should be updated when the
134        template it was created from changes.
135
136        <p>Applies only for documents that were created from a template.</p>
137    */
138    [optional, property] boolean UpdateFromTemplate;
139
140    // Writer
141    //-------------------------------------------------------------------------
142    /** specifies if fields in text documents are updated automatically.
143     */
144    [optional, property] boolean FieldAutoUpdate;
145
146    // Writer
147    //-------------------------------------------------------------------------
148    /** The name of the globally registered
149        <type scope="com::sun::star::sdb">DataSource</type>
150        from which the current data is taken.
151
152        <p>The data source can e.g. be used for feeding a form
153        letter.</p>
154    */
155    [optional, property] string CurrentDatabaseDataSource;
156
157    // Writer
158    //-------------------------------------------------------------------------
159    /** a string value, specifying the name of the object displayed
160        currently (or the SQL statement used).
161    */
162    [optional, property] string CurrentDatabaseCommand;
163
164    // Writer
165    //-------------------------------------------------------------------------
166    // Note: What is the property DataTableName?  Is this Writer-specific?
167    /** determines the interpretation of the property DataTableName.
168
169        @see com::sun::star::sdb::CommandType
170    */
171    [optional, property] long CurrentDatabaseCommandType;
172
173    // Draw and Impress
174    //-------------------------------------------------------------------------
175    /**
176     */
177    [optional, property] long DefaultTabStop;
178
179    // Draw and Impress
180    //-------------------------------------------------------------------------
181    /** determines if the document will be printed as a booklet
182        (brochure), i.e., two document pages are put together on one
183        physical page, such that you can fold the print result and get
184        a booklet.
185
186        <p>Note, that you have to print in duplex mode, if both,
187        <member>IsPrintBookletFront</member> and
188        <member>IsPrintBookletBack</member> are set to <TRUE/>.</p>
189     */
190    [optional, property] boolean IsPrintBooklet;
191
192    // Draw and Impress
193    //-------------------------------------------------------------------------
194    /** is only effective, if <member>IsPrintBooklet</member> is
195        <TRUE/>.  If this property is also <TRUE/>, only the fronts of
196        the pages of your booklet are printed.
197
198        <p>This is especially useful, if your printer does not supply
199        duplex printing.</p>
200     */
201    [optional, property] boolean IsPrintBookletFront;
202
203    // Draw and Impress
204    //-------------------------------------------------------------------------
205    /** is only effective, if <member>IsPrintBooklet</member> is
206        <TRUE/>.  If this property is also <TRUE/>, only the backs of
207        the pages of your booklet are printed.
208
209        <p>This is especially useful, if your printer does not supply
210        duplex printing.</p>
211     */
212    [optional, property] boolean IsPrintBookletBack;
213
214    // Draw and Impress
215    //-------------------------------------------------------------------------
216    // Note: Define a constant group for that?
217    /**
218     */
219    [optional, property] long PrintQuality;
220
221    // Draw and Impress
222    //-------------------------------------------------------------------------
223    /** contains the URL that points to a color table (file extension
224        .soc) that will be used for showing a palette in dialogs using
225        colors.
226     */
227    [optional, property] string ColorTableURL;
228
229    // Draw and Impress
230    //-------------------------------------------------------------------------
231    /**
232     */
233    [optional, property] string DashTableURL;
234
235    // Draw and Impress
236    //-------------------------------------------------------------------------
237    /**
238     */
239    [optional, property] string LineEndTableURL;
240
241    // Draw and Impress
242    //-------------------------------------------------------------------------
243    /**
244     */
245    [optional, property] string HatchTableURL;
246
247    // Draw and Impress
248    //-------------------------------------------------------------------------
249    /**
250     */
251    [optional, property] string GradientTableURL;
252
253    // Draw and Impress
254    //-------------------------------------------------------------------------
255    /**
256     */
257    [optional, property] string BitmapTableURL;
258
259    // Calc
260    //-------------------------------------------------------------------------
261    /**
262     */
263    [optional, property] boolean AutoCalculate;
264
265    // Writer, later others
266    //-------------------------------------------------------------------------
267    /** forbid use of printer metrics for layout
268
269        <p>For supported values see the constants group
270        <type>PrinterIndependentLayout</type>.</p>
271     */
272    [optional, property] short PrinterIndependentLayout;
273
274    // Writer, maybe later other applications, too
275    //-------------------------------------------------------------------------
276    /** layout engine should add value of a Font's 'external leading'
277     * attribute to the line spacing.
278     */
279    [optional, property] boolean AddExternalLeading;
280
281};
282
283//=============================================================================
284
285}; }; }; };
286
287#endif
288