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