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