xref: /AOO41X/main/offapi/com/sun/star/style/ParagraphProperties.idl (revision 96af39f745f380c70aec9fab3a79dc8b37f680ac)
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_style_ParagraphProperties_idl__
24#define __com_sun_star_style_ParagraphProperties_idl__
25
26#ifndef __com_sun_star_style_ParagraphAdjust_idl__
27#include <com/sun/star/style/ParagraphAdjust.idl>
28#endif
29
30#ifndef __com_sun_star_util_Color_idl__
31#include <com/sun/star/util/Color.idl>
32#endif
33
34#ifndef __com_sun_star_style_LineSpacing_idl__
35#include <com/sun/star/style/LineSpacing.idl>
36#endif
37
38#ifndef __com_sun_star_style_GraphicLocation_idl__
39#include <com/sun/star/style/GraphicLocation.idl>
40#endif
41
42#ifndef __com_sun_star_style_TabStop_idl__
43#include <com/sun/star/style/TabStop.idl>
44#endif
45
46#ifndef __com_sun_star_style_DropCapFormat_idl__
47#include <com/sun/star/style/DropCapFormat.idl>
48#endif
49
50#ifndef __com_sun_star_container_XIndexReplace_idl__
51#include <com/sun/star/container/XIndexReplace.idl>
52#endif
53#ifndef __com_sun_star_table_ShadowFormat_idl__
54#include <com/sun/star/table/ShadowFormat.idl>
55#endif
56#ifndef __com_sun_star_table_BorderLine_idl__
57#include <com/sun/star/table/BorderLine.idl>
58#endif
59#ifndef __com_sun_star_style_BreakType_idl__
60#include <com/sun/star/style/BreakType.idl>
61#endif
62#ifndef __com_sun_star_container_XNameContainer_idl__
63#include <com/sun/star/container/XNameContainer.idl>
64#endif
65
66//=============================================================================
67
68 module com {  module sun {  module star {  module style {
69
70//=============================================================================
71
72/** describes the style of paragraphs.
73 */
74published service ParagraphProperties
75{
76    //-------------------------------------------------------------------------
77
78    /** determines the adjustment of a paragraph.
79     */
80    [property] com::sun::star::style::ParagraphAdjust ParaAdjust;
81
82    //-------------------------------------------------------------------------
83
84    /** contains the type of the line spacing of a paragraph.
85     */
86    [optional, property] com::sun::star::style::LineSpacing ParaLineSpacing;
87
88    //-------------------------------------------------------------------------
89
90    /** contains the paragraph background color.
91     */
92    [optional, property] com::sun::star::util::Color ParaBackColor;
93
94    //-------------------------------------------------------------------------
95
96    /** This value is <TRUE/> if the paragraph background color
97        is set to transparent.
98     */
99    [optional, property] boolean ParaBackTransparent;
100
101    //-------------------------------------------------------------------------
102
103    /** contains the value of a link for the background graphic of a paragraph.
104     */
105    [optional, property] string ParaBackGraphicURL;
106
107    //-------------------------------------------------------------------------
108
109    /** contains the name of the graphic filter for the background graphic of a paragraph.
110     */
111    [optional, property] string ParaBackGraphicFilter;
112
113    //-------------------------------------------------------------------------
114
115    /** contains the value for the position of a background graphic.
116
117        @see com::sun::star::style::GraphicLocation
118     */
119    [optional, property] com::sun::star::style::GraphicLocation ParaBackGraphicLocation;
120
121    //-------------------------------------------------------------------------
122
123    /** determines the adjustment of the last line.
124        <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member>
125        is set to <const>ParagraphAdjust::BLOCK</const>.</p>
126     */
127    [property] short ParaLastLineAdjust;
128
129    //-------------------------------------------------------------------------
130
131    /** determines if single words are stretched.
132
133        <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member> and
134        <member>ParagraphProperties::ParaLastLineAdjust</member> are also valid.</p>
135     */
136    [optional, property] boolean ParaExpandSingleWord;
137
138    //-------------------------------------------------------------------------
139
140    /** determines the left margin of the paragraph in 100th mm.
141     */
142    [property] long ParaLeftMargin;
143
144    //-------------------------------------------------------------------------
145
146    /** determines the right margin of the paragraph in 100th mm.
147     */
148    [property] long ParaRightMargin;
149
150    //-------------------------------------------------------------------------
151
152    /** determines the top margin of the paragraph in 100th mm.
153
154        <p>The distance between two paragraphs is specified by:</p>
155        <ul>
156        <li>either the bottom margin of the previous paragraph.</li>
157        <li>or the top margin of the following paragraph.</li>
158        </ul>
159        The greater one is chosen.
160     */
161    [property] long ParaTopMargin;
162
163    //-------------------------------------------------------------------------
164
165    /** determines the bottom margin of the paragraph in 100th mm.
166
167        <p>The distance between two paragraphs is specified by:</p>
168        <ul>
169        <li>either the bottom margin of the previous paragraph
170        </li>
171        <li>or the top margin of the following paragraph.
172        </li>
173        </ul>
174        The greater one is chosen.
175     */
176    [property] long ParaBottomMargin;
177
178    //-------------------------------------------------------------------------
179
180    /** determines if the paragraph is included in the
181        line numbering.
182     */
183    [optional, property] boolean ParaLineNumberCount;
184
185    //-------------------------------------------------------------------------
186
187    /** contains the start value for the line numbering.
188     */
189    [optional, property] long ParaLineNumberStartValue;
190
191    //-------------------------------------------------------------------------
192
193    /** If this property is set, it creates a page break before the
194        paragraph it belongs to and assigns the value as the name
195        of the new page style sheet to use.
196     */
197    [optional, property] string PageDescName;
198
199    //-------------------------------------------------------------------------
200
201    /** If a page break property is set at a paragraph, this property contains the new value for the page number.
202     */
203    [optional, property] short PageNumberOffset;
204
205    //-------------------------------------------------------------------------
206
207    /** determines if the register mode is applied to a
208        paragraph.
209
210
211
212        <p>Remark: Register mode is only used if the register
213        mode property of the page style is switched on.</p>
214     */
215    [optional, property] boolean ParaRegisterModeActive;
216
217    //-------------------------------------------------------------------------
218
219    /** specifies the positions and kinds of thei tab stops within this
220                paragraph.
221     */
222    [optional, property] sequence<com::sun::star::style::TabStop> ParaTabStops;
223
224    //-------------------------------------------------------------------------
225
226    /** contains the name of the current paragraph style.
227     */
228    [optional, property] string ParaStyleName;
229
230        //-------------------------------------------------------------------------
231
232        /** contains the name of the current page style.
233         */
234        [optional, property, maybevoid, readonly] string PageStyleName;
235
236        //-------------------------------------------------------------------------
237
238    /** specifies whether the first characters of the
239        paragraph are displayed in capital letters and how they are
240        formatted.
241     */
242    [optional, property] com::sun::star::style::DropCapFormat DropCapFormat;
243
244    //-------------------------------------------------------------------------
245
246    /** specifies if the property <var>DropCapFormat</var>
247        is applied to the whole first word.
248     */
249    [optional, property] boolean DropCapWholeWord;
250
251    //-------------------------------------------------------------------------
252
253    /** Setting this property to <TRUE/> prevents page or column
254        breaks between this and the following paragraph.
255
256
257        <p>This feature is useful for preventing title paragraphs to be
258        the last line on a page or column.</p>
259     */
260    [optional, property] boolean ParaKeepTogether;
261
262    //-------------------------------------------------------------------------
263
264    /** Setting this property to <FALSE/> prevents the paragraph from
265        getting split into two pages or columns.
266     */
267    [optional, property] boolean ParaSplit;
268
269    //-------------------------------------------------------------------------
270
271    /** specifies the numbering level of the    paragraph.
272     */
273    [optional, property] short NumberingLevel;
274
275    //-------------------------------------------------------------------------
276    /** contains the numbering rules applied to this paragraph.
277     */
278        [optional, property] com::sun::star::container::XIndexReplace NumberingRules;
279
280    //-------------------------------------------------------------------------
281
282    /** specifies the start value for numbering if a new numbering starts at this paragraph.
283     */
284    [optional, property] short NumberingStartValue;
285
286    //-------------------------------------------------------------------------
287    /** determines if the numbering rules restart, counting at the current paragraph.
288     */
289    [optional, property] boolean ParaIsNumberingRestart;
290    //-------------------------------------------------------------------------
291
292    /** specifies the name of the style for the numbering.
293
294
295        <p>The name must be one of the names which are available via
296        <type>XStyleFamiliesSupplier</type>.</p>
297     */
298    [optional, property] string NumberingStyleName;
299    //-------------------------------------------------------------------------
300
301    /** specifies the minimum number of lines of the paragraph that have
302        to be at bottom of a page if the paragraph is spread over more than
303        one page.
304     */
305    [optional, property] byte ParaOrphans;
306    //-------------------------------------------------------------------------
307
308    /** specifies the minimum number of lines of the paragraph that have
309        to be at top of a page if the paragraph is spread over more than
310        one page.
311     */
312    [optional, property] byte ParaWidows;
313    //-------------------------------------------------------------------------
314    /** determines the type, color, and size of the shadow.
315     @see com.sun.star.table.ShadowFormat
316     */
317    [optional, property] com::sun::star::table::ShadowFormat ParaShadowFormat;
318    //-------------------------------------------------------------------------
319    /** contains the left border of the object.
320     */
321        [property, optional] com::sun::star::table::BorderLine LeftBorder;
322
323    //-------------------------------------------------------------------------
324    /** contains the right border of the object.
325     */
326        [property, optional] com::sun::star::table::BorderLine RightBorder;
327
328    //-------------------------------------------------------------------------
329    /** contains the top border of the object.
330     */
331        [property, optional] com::sun::star::table::BorderLine TopBorder;
332
333    //-------------------------------------------------------------------------
334    /** contains the bottom border of the object.
335     */
336        [property, optional] com::sun::star::table::BorderLine BottomBorder;
337
338    //-------------------------------------------------------------------------
339    /** contains the distance from the border to the object.
340     */
341        [property, optional] long BorderDistance;
342
343    //-------------------------------------------------------------------------
344    /** contains the distance from the left border to the object.
345     */
346        [property, optional] long LeftBorderDistance;
347
348    //-------------------------------------------------------------------------
349    /** contains the distance from the right border to the object.
350     */
351        [property, optional] long RightBorderDistance;
352
353    //-------------------------------------------------------------------------
354    /** contains the distance from the top border to the object.
355     */
356        [property, optional] long TopBorderDistance;
357
358    //-------------------------------------------------------------------------
359    /** contains the distance from the bottom border to the object.
360     */
361        [property, optional] long BottomBorderDistance;
362
363    //-------------------------------------------------------------------------
364        /** determins the type of break that is applied at the beginning of the table.
365            @see com.sun.star.style.BreakType
366         */
367        [optional, property] com::sun::star::style::BreakType BreakType;
368
369        //-------------------------------------------------------------------------
370        /** specifies the character style name for drop caps.
371         */
372        [optional, property] string DropCapCharStyleName;
373
374        //-------------------------------------------------------------------------
375        /** specifies the indent for the first line.
376         */
377        [optional, property] long ParaFirstLineIndent;
378
379        //-------------------------------------------------------------------------
380        /** determines if the first line should be indented automatically.
381         */
382        [optional, property] boolean ParaIsAutoFirstLineIndent;
383
384        //-------------------------------------------------------------------------
385        /** specifies if automatic hyphenation is applied.
386         */
387        [property] boolean ParaIsHyphenation;
388
389        //-------------------------------------------------------------------------
390        /** specifies the maximum number of consecutive hyphens.
391         */
392        [optional, property] short ParaHyphenationMaxHyphens;
393
394        //-------------------------------------------------------------------------
395        /** specifies the maximum number of characters to remain before the
396            hyphen character (when hyphenation is applied).
397         */
398        [optional, property] short ParaHyphenationMaxLeadingChars;
399
400        //-------------------------------------------------------------------------
401        /** specifies the maximum number of characters to remain after the
402            hyphen character (when hyphenation is applied).
403         */
404        [optional, property] short ParaHyphenationMaxTrailingChars;
405
406        //-------------------------------------------------------------------------
407        /** specifies the vertical alignment of a paragraph.
408
409            @see com::sun::star::text::ParagraphVertAlign
410         */
411        [optional, property] short ParaVertAlignment;
412
413        //-------------------------------------------------------------------------
414        /** this property stores xml attributes.
415            They will be saved to and restored from automatic styles inside xml files.
416
417            @see com::sun::star::xml::AttributeContainer
418         */
419        [optional, property] com::sun::star::container::XNameContainer ParaUserDefinedAttributes;
420
421        //-------------------------------------------------------------------------
422        /** returns <FALSE/> if the paragraph is part of a numbering, but has no
423            numbering label.
424
425            <p>A paragraph is part of a numbering, if a style for a numbering is
426            set - see NumberingStyleName.</p>
427            <p>If the paragraph is not part of a numbering the property is void.</p>
428         */
429        [optional, property, maybevoid] boolean NumberingIsNumber;
430
431        //-------------------------------------------------------------------------
432        /** the property determines if borders set at a paragraph are merged with the
433         next paragraph.
434         <p>Borders are only merged if they are identical.</p>
435         */
436        [optional, property, maybevoid] boolean ParaIsConnectBorder;
437
438        //-------------------------------------------------------------------------
439        /** specifies the id of the list to which the paragraph belongs
440
441         */
442        [optional, property] string ListId;
443
444        //-------------------------------------------------------------------------
445        /** specifies the outline level to which the paragraph belongs
446
447            @since OpenOffice 3.1
448
449            <p>Value 0 indicates that the paragraph belongs to the body text.</p>
450            <p>Values [1..10] indicates that the paragraph belongs to the corresponding outline level.</p>
451         */
452        [optional, property] short OutlineLevel;
453};
454
455//=============================================================================
456
457}; }; }; };
458
459#endif
460