1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: ParagraphProperties.idl,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_style_ParagraphProperties_idl__
31 #define __com_sun_star_style_ParagraphProperties_idl__
33 #ifndef __com_sun_star_style_ParagraphAdjust_idl__
34 #include
<com
/sun
/star
/style
/ParagraphAdjust.idl
>
37 #ifndef __com_sun_star_util_Color_idl__
38 #include
<com
/sun
/star
/util
/Color.idl
>
41 #ifndef __com_sun_star_style_LineSpacing_idl__
42 #include
<com
/sun
/star
/style
/LineSpacing.idl
>
45 #ifndef __com_sun_star_style_GraphicLocation_idl__
46 #include
<com
/sun
/star
/style
/GraphicLocation.idl
>
49 #ifndef __com_sun_star_style_TabStop_idl__
50 #include
<com
/sun
/star
/style
/TabStop.idl
>
53 #ifndef __com_sun_star_style_DropCapFormat_idl__
54 #include
<com
/sun
/star
/style
/DropCapFormat.idl
>
57 #ifndef __com_sun_star_container_XIndexReplace_idl__
58 #include
<com
/sun
/star
/container
/XIndexReplace.idl
>
60 #ifndef __com_sun_star_table_ShadowFormat_idl__
61 #include
<com
/sun
/star
/table
/ShadowFormat.idl
>
63 #ifndef __com_sun_star_table_BorderLine_idl__
64 #include
<com
/sun
/star
/table
/BorderLine.idl
>
66 #ifndef __com_sun_star_style_BreakType_idl__
67 #include
<com
/sun
/star
/style
/BreakType.idl
>
69 #ifndef __com_sun_star_container_XNameContainer_idl__
70 #include
<com
/sun
/star
/container
/XNameContainer.idl
>
73 //=============================================================================
75 module com
{ module sun
{ module star
{ module style
{
77 //=============================================================================
79 /** describes the style of paragraphs.
81 published service ParagraphProperties
83 //-------------------------------------------------------------------------
85 /** determines the adjustment of a paragraph.
87 [property
] com
::sun
::star
::style
::ParagraphAdjust ParaAdjust
;
89 //-------------------------------------------------------------------------
91 /** contains the type of the line spacing of a paragraph.
93 [optional, property
] com
::sun
::star
::style
::LineSpacing ParaLineSpacing
;
95 //-------------------------------------------------------------------------
97 /** contains the paragraph background color.
99 [optional, property
] com
::sun
::star
::util
::Color ParaBackColor
;
101 //-------------------------------------------------------------------------
103 /** This value is <TRUE/> if the paragraph background color
104 is set to transparent.
106 [optional, property
] boolean ParaBackTransparent
;
108 //-------------------------------------------------------------------------
110 /** contains the value of a link for the background graphic of a paragraph.
112 [optional, property
] string ParaBackGraphicURL
;
114 //-------------------------------------------------------------------------
116 /** contains the name of the graphic filter for the background graphic of a paragraph.
118 [optional, property
] string ParaBackGraphicFilter
;
120 //-------------------------------------------------------------------------
122 /** contains the value for the position of a background graphic.
124 @see com::sun::star::style::GraphicLocation
126 [optional, property
] com
::sun
::star
::style
::GraphicLocation ParaBackGraphicLocation
;
128 //-------------------------------------------------------------------------
130 /** determines the adjustment of the last line.
131 <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member>
132 is set to <const>ParagraphAdjust::BLOCK</const>.</p>
134 [property
] short ParaLastLineAdjust
;
136 //-------------------------------------------------------------------------
138 /** determines if single words are stretched.
140 <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member> and
141 <member>ParagraphProperties::ParaLastLineAdjust</member> are also valid.</p>
143 [optional, property
] boolean ParaExpandSingleWord
;
145 //-------------------------------------------------------------------------
147 /** determines the left margin of the paragraph in 100th mm.
149 [property
] long ParaLeftMargin
;
151 //-------------------------------------------------------------------------
153 /** determines the right margin of the paragraph in 100th mm.
155 [property
] long ParaRightMargin
;
157 //-------------------------------------------------------------------------
159 /** determines the top margin of the paragraph in 100th mm.
161 <p>The distance between two paragraphs is specified by:</p>
163 <li>either the bottom margin of the previous paragraph.</li>
164 <li>or the top margin of the following paragraph.</li>
166 The greater one is chosen.
168 [property
] long ParaTopMargin
;
170 //-------------------------------------------------------------------------
172 /** determines the bottom margin of the paragraph in 100th mm.
174 <p>The distance between two paragraphs is specified by:</p>
176 <li>either the bottom margin of the previous paragraph
178 <li>or the top margin of the following paragraph.
181 The greater one is chosen.
183 [property
] long ParaBottomMargin
;
185 //-------------------------------------------------------------------------
187 /** determines if the paragraph is included in the
190 [optional, property
] boolean ParaLineNumberCount
;
192 //-------------------------------------------------------------------------
194 /** contains the start value for the line numbering.
196 [optional, property
] long ParaLineNumberStartValue
;
198 //-------------------------------------------------------------------------
200 /** If this property is set, it creates a page break before the
201 paragraph it belongs to and assigns the value as the name
202 of the new page style sheet to use.
204 [optional, property
] string PageDescName
;
206 //-------------------------------------------------------------------------
208 /** If a page break property is set at a paragraph, this property contains the new value for the page number.
210 [optional, property
] short PageNumberOffset
;
212 //-------------------------------------------------------------------------
214 /** determines if the register mode is applied to a
219 <p>Remark: Register mode is only used if the register
220 mode property of the page style is switched on.</p>
222 [optional, property
] boolean ParaRegisterModeActive
;
224 //-------------------------------------------------------------------------
226 /** specifies the positions and kinds of thei tab stops within this
229 [optional, property
] sequence
<com
::sun
::star
::style
::TabStop
> ParaTabStops
;
231 //-------------------------------------------------------------------------
233 /** contains the name of the current paragraph style.
235 [optional, property
] string ParaStyleName
;
237 //-------------------------------------------------------------------------
239 /** contains the name of the current page style.
241 [optional, property
, maybevoid
, readonly] string PageStyleName
;
243 //-------------------------------------------------------------------------
245 /** specifies whether the first characters of the
246 paragraph are displayed in capital letters and how they are
249 [optional, property
] com
::sun
::star
::style
::DropCapFormat DropCapFormat
;
251 //-------------------------------------------------------------------------
253 /** specifies if the property <var>DropCapFormat</var>
254 is applied to the whole first word.
256 [optional, property
] boolean DropCapWholeWord
;
258 //-------------------------------------------------------------------------
260 /** Setting this property to <TRUE/> prevents page or column
261 breaks between this and the following paragraph.
264 <p>This feature is useful for preventing title paragraphs to be
265 the last line on a page or column.</p>
267 [optional, property
] boolean ParaKeepTogether
;
269 //-------------------------------------------------------------------------
271 /** Setting this property to <FALSE/> prevents the paragraph from
272 getting split into two pages or columns.
274 [optional, property
] boolean ParaSplit
;
276 //-------------------------------------------------------------------------
278 /** specifies the numbering level of the paragraph.
280 [optional, property
] short NumberingLevel
;
282 //-------------------------------------------------------------------------
283 /** contains the numbering rules applied to this paragraph.
285 [optional, property
] com
::sun
::star
::container
::XIndexReplace NumberingRules
;
287 //-------------------------------------------------------------------------
289 /** specifies the start value for numbering if a new numbering starts at this paragraph.
291 [optional, property
] short NumberingStartValue
;
293 //-------------------------------------------------------------------------
294 /** determines if the numbering rules restart, counting at the current paragraph.
296 [optional, property
] boolean ParaIsNumberingRestart
;
297 //-------------------------------------------------------------------------
299 /** specifies the name of the style for the numbering.
302 <p>The name must be one of the names which are available via
303 <type>XStyleFamiliesSupplier</type>.</p>
305 [optional, property
] string NumberingStyleName
;
306 //-------------------------------------------------------------------------
308 /** specifies the minimum number of lines of the paragraph that have
309 to be at bottom of a page if the paragraph is spread over more than
312 [optional, property
] byte ParaOrphans
;
313 //-------------------------------------------------------------------------
315 /** specifies the minimum number of lines of the paragraph that have
316 to be at top of a page if the paragraph is spread over more than
319 [optional, property
] byte ParaWidows
;
320 //-------------------------------------------------------------------------
321 /** determines the type, color, and size of the shadow.
322 @see com.sun.star.table.ShadowFormat
324 [optional, property
] com
::sun
::star
::table
::ShadowFormat ParaShadowFormat
;
325 //-------------------------------------------------------------------------
326 /** contains the left border of the object.
328 [property
, optional] com
::sun
::star
::table
::BorderLine LeftBorder
;
330 //-------------------------------------------------------------------------
331 /** contains the right border of the object.
333 [property
, optional] com
::sun
::star
::table
::BorderLine RightBorder
;
335 //-------------------------------------------------------------------------
336 /** contains the top border of the object.
338 [property
, optional] com
::sun
::star
::table
::BorderLine TopBorder
;
340 //-------------------------------------------------------------------------
341 /** contains the bottom border of the object.
343 [property
, optional] com
::sun
::star
::table
::BorderLine BottomBorder
;
345 //-------------------------------------------------------------------------
346 /** contains the distance from the border to the object.
348 [property
, optional] long BorderDistance
;
350 //-------------------------------------------------------------------------
351 /** contains the distance from the left border to the object.
353 [property
, optional] long LeftBorderDistance
;
355 //-------------------------------------------------------------------------
356 /** contains the distance from the right border to the object.
358 [property
, optional] long RightBorderDistance
;
360 //-------------------------------------------------------------------------
361 /** contains the distance from the top border to the object.
363 [property
, optional] long TopBorderDistance
;
365 //-------------------------------------------------------------------------
366 /** contains the distance from the bottom border to the object.
368 [property
, optional] long BottomBorderDistance
;
370 //-------------------------------------------------------------------------
371 /** determins the type of break that is applied at the beginning of the table.
372 @see com.sun.star.style.BreakType
374 [optional, property
] com
::sun
::star
::style
::BreakType BreakType
;
376 //-------------------------------------------------------------------------
377 /** specifies the character style name for drop caps.
379 [optional, property
] string DropCapCharStyleName
;
381 //-------------------------------------------------------------------------
382 /** specifies the indent for the first line.
384 [optional, property
] long ParaFirstLineIndent
;
386 //-------------------------------------------------------------------------
387 /** determines if the first line should be indented automatically.
389 [optional, property
] boolean ParaIsAutoFirstLineIndent
;
391 //-------------------------------------------------------------------------
392 /** specifies if automatic hyphenation is applied.
394 [property
] boolean ParaIsHyphenation
;
396 //-------------------------------------------------------------------------
397 /** specifies the maximum number of consecutive hyphens.
399 [optional, property
] short ParaHyphenationMaxHyphens
;
401 //-------------------------------------------------------------------------
402 /** specifies the maximum number of characters to remain before the
403 hyphen character (when hyphenation is applied).
405 [optional, property
] short ParaHyphenationMaxLeadingChars
;
407 //-------------------------------------------------------------------------
408 /** specifies the maximum number of characters to remain after the
409 hyphen character (when hyphenation is applied).
411 [optional, property
] short ParaHyphenationMaxTrailingChars
;
413 //-------------------------------------------------------------------------
414 /** specifies the vertical alignment of a paragraph.
416 @see com::sun::star::text::ParagraphVertAlign
418 [optional, property
] short ParaVertAlignment
;
420 //-------------------------------------------------------------------------
421 /** this property stores xml attributes.
422 They will be saved to and restored from automatic styles inside xml files.
424 @see com::sun::star::xml::AttributeContainer
426 [optional, property
] com
::sun
::star
::container
::XNameContainer ParaUserDefinedAttributes
;
428 //-------------------------------------------------------------------------
429 /** returns <FALSE/> if the paragraph is part of a numbering, but has no
432 <p>A paragraph is part of a numbering, if a style for a numbering is
433 set - see NumberingStyleName.</p>
434 <p>If the paragraph is not part of a numbering the property is void.</p>
436 [optional, property
, maybevoid
] boolean NumberingIsNumber
;
438 //-------------------------------------------------------------------------
439 /** the property determines if borders set at a paragraph are merged with the
441 <p>Borders are only merged if they are identical.</p>
443 [optional, property
, maybevoid
] boolean ParaIsConnectBorder
;
445 //-------------------------------------------------------------------------
446 /** specifies the id of the list to which the paragraph belongs
449 [optional, property
] string ListId
;
451 //-------------------------------------------------------------------------
452 /** specifies the outline level to which the paragraph belongs
456 <p>Value 0 indicates that the paragraph belongs to the body text.</p>
457 <p>Values [1..10] indicates that the paragraph belongs to the corresponding outline level.</p>
459 [optional, property
] short OutlineLevel
;
462 //=============================================================================