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 /** determines 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