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