/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 . */ #ifndef __com_sun_star_style_ParagraphProperties_idl__ #define __com_sun_star_style_ParagraphProperties_idl__ #include #include #include #include #include #include #include #include #include #include #include #include module com { module sun { module star { module style { /** describes the style of paragraphs. */ published service ParagraphProperties { /** determines the adjustment of a paragraph. */ [property] com::sun::star::style::ParagraphAdjust ParaAdjust; /** contains the type of the line spacing of a paragraph. */ [optional, property] com::sun::star::style::LineSpacing ParaLineSpacing; /** contains the paragraph background color. */ [optional, property] com::sun::star::util::Color ParaBackColor; /** This value is `TRUE` if the paragraph background color is set to transparent. */ [optional, property] boolean ParaBackTransparent; /** contains the value of a link for the background graphic of a paragraph. */ [optional, property] string ParaBackGraphicURL; /** contains the name of the graphic filter for the background graphic of a paragraph. */ [optional, property] string ParaBackGraphicFilter; /** contains the value for the position of a background graphic. @see com::sun::star::style::GraphicLocation */ [optional, property] com::sun::star::style::GraphicLocation ParaBackGraphicLocation; /** determines the adjustment of the last line.

It is only valid if ParagraphProperties::ParaAdjust is set to ParagraphAdjust::BLOCK.

*/ [property] short ParaLastLineAdjust; /** determines if single words are stretched.

It is only valid if ParagraphProperties::ParaAdjust and ParagraphProperties::ParaLastLineAdjust are also valid.

*/ [optional, property] boolean ParaExpandSingleWord; /** determines the left margin of the paragraph in 100th mm. */ [property] long ParaLeftMargin; /** determines the right margin of the paragraph in 100th mm. */ [property] long ParaRightMargin; /** determines the top margin of the paragraph in 100th mm.

The distance between two paragraphs is specified by:

  • either the bottom margin of the previous paragraph.
  • or the top margin of the following paragraph.
The greater one is chosen. */ [property] long ParaTopMargin; /** determines the bottom margin of the paragraph in 100th mm.

The distance between two paragraphs is specified by:

  • either the bottom margin of the previous paragraph
  • or the top margin of the following paragraph.
The greater one is chosen. */ [property] long ParaBottomMargin; /** determines if contextual spacing is used. @since LibreOffice 3.6

If true, the top and bottom margins of the paragraph should not be applied when the previous and next paragraphs have the same style.

*/ [optional, property] boolean ParaContextMargin; /** Grab bag of paragraph properties, used as a string-any map for interim interop purposes. @since LibreOffice 4.2

This property is intentionally not handled by the ODF filter. Any member that should be handled there should be first moved out from this grab bag to a separate property.

*/ [optional, property] sequence ParaInteropGrabBag; /** determines if the paragraph is included in the line numbering. */ [optional, property] boolean ParaLineNumberCount; /** contains the start value for the line numbering. */ [optional, property] long ParaLineNumberStartValue; /** If this property is set, it creates a page break before the paragraph it belongs to and assigns the value as the name of the new page style sheet to use. */ [optional, property] string PageDescName; /** If a page break property is set at a paragraph, this property contains the new value for the page number. */ [optional, property] short PageNumberOffset; /** determines if the register mode is applied to a paragraph.

Remark: Register mode is only used if the register mode property of the page style is switched on.

*/ [optional, property] boolean ParaRegisterModeActive; /** specifies the positions and kinds of the tab stops within this paragraph. */ [optional, property] sequence ParaTabStops; /** contains the name of the current paragraph style. */ [optional, property] string ParaStyleName; /** contains the name of the current page style. */ [optional, property, maybevoid, readonly] string PageStyleName; /** specifies whether the first characters of the paragraph are displayed in capital letters and how they are formatted. */ [optional, property] com::sun::star::style::DropCapFormat DropCapFormat; /** specifies if the property DropCapFormat is applied to the whole first word. */ [optional, property] boolean DropCapWholeWord; /** Setting this property to `TRUE` prevents page or column breaks between this and the following paragraph.

This feature is useful for preventing title paragraphs to be the last line on a page or column.

*/ [optional, property] boolean ParaKeepTogether; /** Setting this property to `FALSE` prevents the paragraph from getting split into two pages or columns. */ [optional, property] boolean ParaSplit; /** specifies the numbering level of the paragraph. */ [optional, property] short NumberingLevel; /** contains the numbering rules applied to this paragraph. */ [optional, property] com::sun::star::container::XIndexReplace NumberingRules; /** specifies the start value for numbering if a new numbering starts at this paragraph. */ [optional, property] short NumberingStartValue; /** determines if the numbering rules restart, counting at the current paragraph. */ [optional, property] boolean ParaIsNumberingRestart; /** specifies the name of the style for the numbering.

The name must be one of the names which are available via XStyleFamiliesSupplier.

*/ [optional, property] string NumberingStyleName; /** specifies the minimum number of lines of the paragraph that have to be at bottom of a page if the paragraph is spread over more than one page. */ [optional, property] byte ParaOrphans; /** specifies the minimum number of lines of the paragraph that have to be at top of a page if the paragraph is spread over more than one page. */ [optional, property] byte ParaWidows; /** determines the type, color, and size of the shadow. @see com::sun::star::table::ShadowFormat */ [optional, property] com::sun::star::table::ShadowFormat ParaShadowFormat; /** contains the left border of the object. */ [property, optional] com::sun::star::table::BorderLine LeftBorder; /** contains the right border of the object. */ [property, optional] com::sun::star::table::BorderLine RightBorder; /** contains the top border of the object. */ [property, optional] com::sun::star::table::BorderLine TopBorder; /** contains the bottom border of the object. */ [property, optional] com::sun::star::table::BorderLine BottomBorder; /** contains the distance from the border to the object. */ [property, optional] long BorderDistance; /** contains the distance from the left border to the object. */ [property, optional] long LeftBorderDistance; /** contains the distance from the right border to the object. */ [property, optional] long RightBorderDistance; /** contains the distance from the top border to the object. */ [property, optional] long TopBorderDistance; /** contains the distance from the bottom border to the object. */ [property, optional] long BottomBorderDistance; /** determines the type of break that is applied at the beginning of the table. @see com::sun::star::style::BreakType */ [optional, property] com::sun::star::style::BreakType BreakType; /** specifies the character style name for drop caps. */ [optional, property] string DropCapCharStyleName; /** specifies the indent for the first line. */ [optional, property] long ParaFirstLineIndent; /** determines if the first line should be indented automatically. */ [optional, property] boolean ParaIsAutoFirstLineIndent; /** specifies if automatic hyphenation is applied. */ [property] boolean ParaIsHyphenation; /** specifies the maximum number of consecutive hyphens. */ [optional, property] short ParaHyphenationMaxHyphens; /** specifies the maximum number of characters to remain before the hyphen character (when hyphenation is applied). */ [optional, property] short ParaHyphenationMaxLeadingChars; /** specifies the maximum number of characters to remain after the hyphen character (when hyphenation is applied). */ [optional, property] short ParaHyphenationMaxTrailingChars; /** specifies the vertical alignment of a paragraph. @see com::sun::star::text::ParagraphVertAlign */ [optional, property] short ParaVertAlignment; /** this property stores xml attributes. They will be saved to and restored from automatic styles inside xml files. @see com::sun::star::xml::AttributeContainer */ [optional, property] com::sun::star::container::XNameContainer ParaUserDefinedAttributes; /** returns `FALSE` if the paragraph is part of a numbering, but has no numbering label.

A paragraph is part of a numbering, if a style for a numbering is set - see NumberingStyleName.

If the paragraph is not part of a numbering the property is void.

*/ [optional, property, maybevoid] boolean NumberingIsNumber; /** the property determines if borders set at a paragraph are merged with the next paragraph.

Borders are only merged if they are identical.

*/ [optional, property, maybevoid] boolean ParaIsConnectBorder; /** specifies the id of the list to which the paragraph belongs */ [optional, property] string ListId; /** specifies the outline level to which the paragraph belongs @since OOo 3.1

Value 0 indicates that the paragraph belongs to the body text.

Values [1..10] indicates that the paragraph belongs to the corresponding outline level.

*/ [optional, property] short OutlineLevel; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */