1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 *   Licensed to the Apache Software Foundation (ASF) under one or more
12 *   contributor license agreements. See the NOTICE file distributed
13 *   with this work for additional information regarding copyright
14 *   ownership. The ASF licenses this file to you under the Apache
15 *   License, Version 2.0 (the "License"); you may not use this file
16 *   except in compliance with the License. You may obtain a copy of
17 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef __com_sun_star_style_PageProperties_idl__
20#define __com_sun_star_style_PageProperties_idl__
21
22#include <com/sun/star/table/ShadowFormat.idl>
23#include <com/sun/star/util/Color.idl>
24#include <com/sun/star/table/BorderLine.idl>
25#include <com/sun/star/style/PageStyleLayout.idl>
26#include <com/sun/star/style/GraphicLocation.idl>
27#include <com/sun/star/awt/Size.idl>
28#include <com/sun/star/text/XText.idl>
29#include <com/sun/star/text/XTextColumns.idl>
30#include <com/sun/star/container/XNameContainer.idl>
31#include <com/sun/star/text/WritingMode2.idl>
32#include <com/sun/star/graphic/XGraphic.idl>
33
34module com {  module sun {  module star {  module style {
35
36/** describes the style of pages.
37 */
38published service PageProperties
39{
40    /** contains the background color of the page.
41     */
42    [property] com::sun::star::util::Color BackColor;
43
44    /** contains the URL of the background graphic.
45
46        @deprecated as of LibreOffice 6.1 - use BackGraphic instead
47
48        Note the new behaviour since it this was deprecated:
49        This property can only be set and only external URLs are
50        supported (no more vnd.sun.star.GraphicObject scheme). When an
51        URL is set, then it will load the graphic and set the BackGraphic
52        property.
53     */
54    [property] string BackGraphicURL;
55
56    /** contains the filter name of the background graphic.
57     */
58    [property] string BackGraphicFilter;
59
60    /** determines the location of the background graphic.
61     */
62    [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
63
64    /** determines if the background color is transparent.
65
66        <p>If this property is set to `TRUE`,
67        PageStyle::BackColor will not be used.</p>
68     */
69    [property] boolean BackTransparent;
70
71    /** determines the left margin of the page.
72     */
73    [property] long LeftMargin;
74
75    /** determines the right margin of the page.
76     */
77    [property] long RightMargin;
78
79    /** determines the top margin of the page.
80     */
81    [property] long TopMargin;
82
83    /** determines the bottom margin of the page.
84     */
85    [property] long BottomMargin;
86
87    /** determines the style of the left border line of the page.
88     */
89    [property] com::sun::star::table::BorderLine LeftBorder;
90
91    /** determines the style of the right border line of the page.
92     */
93    [property] com::sun::star::table::BorderLine RightBorder;
94
95    /** determines the style of the top border line of the page.
96     */
97    [property] com::sun::star::table::BorderLine TopBorder;
98
99    /** determines the style of the bottom border line of the page.
100     */
101    [property] com::sun::star::table::BorderLine BottomBorder;
102
103    /** determines the left border distance of the page.
104     */
105    [property] long LeftBorderDistance;
106
107    /** determines the right border distance of the page.
108     */
109    [property] long RightBorderDistance;
110
111    /** determines the top border distance of the page.
112     */
113    [property] long TopBorderDistance;
114
115    /** determines the bottom border distance of the page.
116     */
117    [property] long BottomBorderDistance;
118
119    /** determines the shadow of the page.
120     */
121    [property] com::sun::star::table::ShadowFormat ShadowFormat;
122
123    /** determines if the page format is landscape.
124     */
125    [property] boolean IsLandscape;
126
127    /** determines the default numbering type for this page.
128     */
129    [property] short NumberingType;
130
131    /** determines the layout of the page.
132     */
133    [property] com::sun::star::style::PageStyleLayout PageStyleLayout;
134
135    /** contains the name of a paper tray of the selected printer.
136     */
137    [property] string PrinterPaperTray;
138
139    /** determines if the register mode is active on that page.
140     */
141    [optional, property] boolean RegisterModeActive;
142
143    /** contains the name of the paragraph style that is used as reference of the register mode.
144     */
145    [optional, property] string RegisterParagraphStyle;
146
147    /** contains the paper size of the page.
148     */
149    [property] com::sun::star::awt::Size Size;
150
151    /** contains the width of the page.
152     */
153    [property] long Width;
154
155    /** contains the height of the page.
156     */
157    [property] long Height;
158
159    /** contains the column settings of the page.
160     */
161    [optional , property] com::sun::star::text::XTextColumns TextColumns;
162
163    /** contains user defined  attributes.
164
165        <p>This com::sun::star::container::XNameContainer
166        supports the service
167        com::sun::star::xml::AttributeContainer.</p>
168     */
169    [property] com::sun::star::container::XNameContainer UserDefinedAttributes;
170
171    /** contains the color of the background of the header.
172     */
173    [property, maybevoid] com::sun::star::util::Color HeaderBackColor;
174
175    /** contains the URL of the background graphic of the header.
176
177        @deprecated as of LibreOffice 6.1 - use HeaderBackGraphic instead
178
179        Note the new behaviour since it this was deprecated:
180        This property can only be set and only external URLs are
181        supported (no more vnd.sun.star.GraphicObject scheme). When an
182        URL is set, then it will load the graphic and set the HeaderBackGraphic
183        property.
184     */
185    [property, maybevoid] string HeaderBackGraphicURL;
186
187    /** contains the filter name of the background graphic of the header.
188     */
189    [property, maybevoid] string HeaderBackGraphicFilter;
190
191    /** determines the location of the background graphic of the header.
192     */
193    [property, maybevoid] com::sun::star::style::GraphicLocation HeaderBackGraphicLocation;
194
195    /** contains the left margin of the header.
196     */
197    [property, maybevoid] long HeaderLeftMargin;
198
199    /** contains the right margin of the header.
200     */
201    [property, maybevoid] long HeaderRightMargin;
202
203    /** determines if the background color of the header is transparent.
204
205        <p>If this property is set to `TRUE`,
206        PageStyle::HeaderBackColor will not be used.</p>
207     */
208    [property, maybevoid] boolean HeaderBackTransparent;
209
210    /** determines the style of the left border line of the header.
211     */
212    [property, maybevoid] com::sun::star::table::BorderLine HeaderLeftBorder;
213
214    /** determines the style of the right border line of the header.
215     */
216    [property, maybevoid] com::sun::star::table::BorderLine HeaderRightBorder;
217
218    /** determines the style of the top border line of the header.
219     */
220    [property, maybevoid] com::sun::star::table::BorderLine HeaderTopBorder;
221
222    /** determines the style of the bottom border line of the header.
223     */
224    [property, maybevoid] com::sun::star::table::BorderLine HeaderBottomBorder;
225
226    /** determines the left border distance of the header.
227     */
228    [property, maybevoid] long HeaderLeftBorderDistance;
229
230    /** determines the right border distance of the header.
231     */
232    [property, maybevoid] long HeaderRightBorderDistance;
233
234    /** determines the top border distance of the header.
235     */
236    [property, maybevoid] long HeaderTopBorderDistance;
237
238    /** determines the bottom border distance of the header.
239     */
240    [property, maybevoid] long HeaderBottomBorderDistance;
241
242    /** determines the shadow of the header.
243     */
244    [property, maybevoid] com::sun::star::table::ShadowFormat HeaderShadowFormat;
245
246    /** determines the distance between the header and the body text area.
247     */
248    [property, maybevoid] long HeaderBodyDistance;
249
250    /** determines if the header content on left and right pages is the same.
251     */
252    [property, maybevoid] boolean HeaderIsShared;
253
254    /** determines if the header/footer content on the first page and remaining pages is the same.
255
256        @since LibreOffice 4.0
257     */
258    [optional, property, maybevoid] boolean FirstIsShared;
259
260    /** contains the height of the header.
261     */
262    [property, maybevoid] long HeaderHeight;
263
264    /** determines if the height of the header depends on the content.
265     */
266    [property, maybevoid] boolean HeaderIsDynamicHeight;
267
268    /** determines if a header is used on the page.
269     */
270    [property] boolean HeaderIsOn;
271
272    /** contains the interface to the text of the header.
273     */
274    [optional, property, maybevoid] com::sun::star::text::XText HeaderText;
275
276    /** contains the interface to the text of the header of left pages.
277     */
278    [optional, property, maybevoid] com::sun::star::text::XText HeaderTextLeft;
279
280    /** contains the interface to the text of the header of right pages.
281     */
282    [optional, property, maybevoid] com::sun::star::text::XText HeaderTextRight;
283
284    /** contains the color of the background of the footer.
285     */
286    [property, maybevoid] com::sun::star::util::Color FooterBackColor;
287
288    /** contains the URL of the background graphic in the footer.
289
290        @deprecated as of LibreOffice 6.1 - use FooterBackGraphic
291
292        Note the new behaviour since it this was deprecated:
293        This property can only be set and only external URLs are
294        supported (no more vnd.sun.star.GraphicObject scheme). When an
295        URL is set, then it will load the graphic and set the FooterBackGraphic
296        property.
297     */
298    [property, maybevoid] string FooterBackGraphicURL;
299
300    /** contains the filter name of the background graphic in the footer.
301     */
302    [property, maybevoid] string FooterBackGraphicFilter;
303
304    /** determines the location of the background graphic in the footer.
305     */
306    [property, maybevoid] com::sun::star::style::GraphicLocation FooterBackGraphicLocation;
307
308    /** determines the left margin of the footer.
309     */
310    [property, maybevoid] long FooterLeftMargin;
311
312    /** determines the right margin of the footer.
313     */
314    [property, maybevoid] long FooterRightMargin;
315
316    /** determines if the background of the footer is transparent.
317     */
318    [property, maybevoid] boolean FooterBackTransparent;
319
320    /** contains the style of the left border line of the footer.
321     */
322    [property, maybevoid] com::sun::star::table::BorderLine FooterLeftBorder;
323
324    /** contains the style of the right border line of the footer.
325     */
326    [property, maybevoid] com::sun::star::table::BorderLine FooterRightBorder;
327
328    /** contains the style of the top border line of the footer.
329     */
330    [property, maybevoid] com::sun::star::table::BorderLine FooterTopBorder;
331
332    /** contains the style of the bottom border line of the footer.
333     */
334    [property, maybevoid] com::sun::star::table::BorderLine FooterBottomBorder;
335
336    /** contains the left border distance of the footer.
337     */
338    [property, maybevoid] long FooterLeftBorderDistance;
339
340    /** contains the right border distance of the footer.
341     */
342    [property, maybevoid] long FooterRightBorderDistance;
343
344    /** contains the top border distance of the footer.
345     */
346    [property, maybevoid] long FooterTopBorderDistance;
347
348    /** contains the bottom border distance of the footer.
349     */
350    [property, maybevoid] long FooterBottomBorderDistance;
351
352    /** determines the shadow of the footer.
353     */
354    [property, maybevoid] com::sun::star::table::ShadowFormat FooterShadowFormat;
355
356    /** determines the distance between the footer and the body text area.
357     */
358    [property, maybevoid] long FooterBodyDistance;
359
360    /** determines if the height of the footer depends on the content.
361     */
362    [property, maybevoid] boolean FooterIsDynamicHeight;
363
364    /** determines if the footer content on left and right pages is the same.
365     */
366    [property, maybevoid] boolean FooterIsShared;
367
368    /** determines the height of the footer.
369     */
370    [property, maybevoid] long FooterHeight;
371
372    /** determines if a footer is used on the page.
373     */
374    [property] boolean FooterIsOn;
375
376    /** contains the interface to the text of the footer.
377     */
378    [optional, property, maybevoid] com::sun::star::text::XText FooterText;
379
380    /** contains the interface to the text of the footer of a left page.
381     */
382    [optional, property, maybevoid] com::sun::star::text::XText FooterTextLeft;
383
384    /** contains the interface to the text of the footer of a right page.
385     */
386    [optional, property, maybevoid] com::sun::star::text::XText FooterTextRight;
387
388    /** contains the maximum height of the footnote area. If set to zero then the height
389    of the current page is used as limit.
390     */
391    [optional,property] long FootnoteHeight;
392
393    /** contains the weight of the separator line between the text and the footnote area.
394     */
395    [optional,property] short FootnoteLineWeight;
396
397    /** contains the style of the separator line between the text and the footnote area.
398
399        @see com::sun::star::style::FootnoteLineStyle
400            for the possible values.
401     */
402    [optional,property] short FootnoteLineStyle;
403
404    /** contains the color of the separator line between the text and the footnote area.
405     */
406    [optional,property] com::sun::star::util::Color FootnoteLineColor;
407
408    /** contains the relative width of the separator line between the text and the footnote area.
409     */
410    [optional,property] byte FootnoteLineRelativeWidth;
411
412    /** contains the adjustment of the separator line between the text and the footnote area.
413         <p>com::sun::star::text::HorizontalAdjusts.</p>
414     */
415    [optional,property] short FootnoteLineAdjust;
416
417    /** contains the distance between the text and the separator line between the
418     text and the footnote area.
419     */
420    [optional,property] long FootnoteLineTextDistance;
421
422    /** contains the distance between the footnote area and the separator line between
423         the text and the footnote area.
424     */
425    [optional,property] long FootnoteLineDistance;
426
427    /** contains the writing direction, as represented by the
428        com::sun::star::text::WritingMode2 constants */
429    [optional,property] short WritingMode;
430
431    /** contains the mode of the text grid (none, lines, ...), as
432        represented by com::sun::star::text::TextGridMode
433        constants */
434    [optional, property] short GridMode;
435
436    /** contains the display color of the text grid */
437    [optional, property] com::sun::star::util::Color GridColor;
438
439    /** contains the number of lines in the text grid */
440    [optional, property] short GridLines;
441
442    /** contains the height of the base text line inside the text grid */
443    [optional, property] long GridBaseHeight;
444
445    /** contains the height of the ruby text line inside the text grid */
446    [optional, property] long GridRubyHeight;
447
448    /** determines whether the text grid's ruby line is located below or
449        above the base line */
450    [optional, property] boolean GridRubyBelow;
451
452    /** determines whether the text grid lines are printed */
453    [optional, property] boolean GridPrint;
454
455    /** determines whether the text grid lines are visible or not */
456    [optional, property] boolean GridDisplay;
457
458    /** determines whether to use dynamic spacing in header or not. */
459    [optional, property, maybevoid] boolean HeaderDynamicSpacing;
460
461    /** determines whether to use dynamic spacing in footer or not. */
462    [optional, property, maybevoid] boolean FooterDynamicSpacing;
463
464    /** determines the distance of all borders of the page. */
465    [property] long BorderDistance;
466
467    /** contains the distance of all borders of the footer. */
468    [property, maybevoid] long FooterBorderDistance;
469
470    /** determines the distance of all borders of the header. */
471    [property, maybevoid] long HeaderBorderDistance;
472
473    /** contains the graphic of the background.
474
475        @since LibreOffice 6.1
476     */
477    [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
478
479    /** contains the graphic of the background of the header.
480
481        @since LibreOffice 6.1
482     */
483    [optional, property, maybevoid] com::sun::star::graphic::XGraphic HeaderBackGraphic;
484
485    /** contains the graphic of the background of the footer.
486
487        @since LibreOffice 6.1
488     */
489    [optional, property, maybevoid] com::sun::star::graphic::XGraphic FooterBackGraphic;
490
491    /** determines the gutter margin of the page.
492
493        @since LibreOffice 7.2
494     */
495    [optional, property] long GutterMargin;
496
497    /** does the background cover the full page or only inside the
498        margins?
499
500        @since LibreOffice 7.2
501     */
502    [optional, property] boolean BackgroundFullSize;
503
504    /** specifies that the page gutter shall be placed on the right side of the page.
505
506        @since LibreOffice 7.2
507     */
508    [optional, property] boolean RtlGutter;
509
510};
511
512}; }; }; };
513
514#endif
515
516/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
517