/************************************************************** * * 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 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ #ifndef __com_sun_star_style_ParagraphProperties_idl__ #define __com_sun_star_style_ParagraphProperties_idl__ #ifndef __com_sun_star_style_ParagraphAdjust_idl__ #include <com/sun/star/style/ParagraphAdjust.idl> #endif #ifndef __com_sun_star_util_Color_idl__ #include <com/sun/star/util/Color.idl> #endif #ifndef __com_sun_star_style_LineSpacing_idl__ #include <com/sun/star/style/LineSpacing.idl> #endif #ifndef __com_sun_star_style_GraphicLocation_idl__ #include <com/sun/star/style/GraphicLocation.idl> #endif #ifndef __com_sun_star_style_TabStop_idl__ #include <com/sun/star/style/TabStop.idl> #endif #ifndef __com_sun_star_style_DropCapFormat_idl__ #include <com/sun/star/style/DropCapFormat.idl> #endif #ifndef __com_sun_star_container_XIndexReplace_idl__ #include <com/sun/star/container/XIndexReplace.idl> #endif #ifndef __com_sun_star_table_ShadowFormat_idl__ #include <com/sun/star/table/ShadowFormat.idl> #endif #ifndef __com_sun_star_table_BorderLine_idl__ #include <com/sun/star/table/BorderLine.idl> #endif #ifndef __com_sun_star_style_BreakType_idl__ #include <com/sun/star/style/BreakType.idl> #endif #ifndef __com_sun_star_container_XNameContainer_idl__ #include <com/sun/star/container/XNameContainer.idl> #endif //============================================================================= 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. <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member> is set to <const>ParagraphAdjust::BLOCK</const>.</p> */ [property] short ParaLastLineAdjust; //------------------------------------------------------------------------- /** determines if single words are stretched. <p>It is only valid if <member>ParagraphProperties::ParaAdjust</member> and <member>ParagraphProperties::ParaLastLineAdjust</member> are also valid.</p> */ [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. <p>The distance between two paragraphs is specified by:</p> <ul> <li>either the bottom margin of the previous paragraph.</li> <li>or the top margin of the following paragraph.</li> </ul> The greater one is chosen. */ [property] long ParaTopMargin; //------------------------------------------------------------------------- /** determines the bottom margin of the paragraph in 100th mm. <p>The distance between two paragraphs is specified by:</p> <ul> <li>either the bottom margin of the previous paragraph </li> <li>or the top margin of the following paragraph. </li> </ul> The greater one is chosen. */ [property] long ParaBottomMargin; //------------------------------------------------------------------------- /** 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. <p>Remark: Register mode is only used if the register mode property of the page style is switched on.</p> */ [optional, property] boolean ParaRegisterModeActive; //------------------------------------------------------------------------- /** specifies the positions and kinds of thei tab stops within this paragraph. */ [optional, property] sequence<com::sun::star::style::TabStop> 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 <var>DropCapFormat</var> 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. <p>This feature is useful for preventing title paragraphs to be the last line on a page or column.</p> */ [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. <p>The name must be one of the names which are available via <type>XStyleFamiliesSupplier</type>.</p> */ [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; //------------------------------------------------------------------------- /** determins 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. <p>A paragraph is part of a numbering, if a style for a numbering is set - see NumberingStyleName.</p> <p>If the paragraph is not part of a numbering the property is void.</p> */ [optional, property, maybevoid] boolean NumberingIsNumber; //------------------------------------------------------------------------- /** the property determines if borders set at a paragraph are merged with the next paragraph. <p>Borders are only merged if they are identical.</p> */ [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 OpenOffice 3.1 <p>Value 0 indicates that the paragraph belongs to the body text.</p> <p>Values [1..10] indicates that the paragraph belongs to the corresponding outline level.</p> */ [optional, property] short OutlineLevel; }; //============================================================================= }; }; }; }; #endif