/**************************************************************
 * 
 * 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_ParagraphStyle_idl__
#define __com_sun_star_style_ParagraphStyle_idl__

#ifndef __com_sun_star_style_ParagraphProperties_idl__
#include <com/sun/star/style/ParagraphProperties.idl>
#endif

#ifndef __com_sun_star_style_Style_idl__
#include <com/sun/star/style/Style.idl>
#endif

#ifndef _com_sun_star_xml_ParaUserDefinedAttributesSupplier_idl_
#include <com/sun/star/xml/ParaUserDefinedAttributesSupplier.idl>
#endif

//=============================================================================

 module com {  module sun {  module star {  module style {

//=============================================================================

/** specifies a stylesheet for paragraphs within a
	<type scope="com::sun::star::text">Text</type>.
 */
published service ParagraphStyle
{
	//-------------------------------------------------------------------------
	/// specifies administrative properties.
	service Style;

    //-------------------------------------------------------------------------
    /** contains user defined attributes for paragraphs.

        @see    <type scope="com::sun::star::xml">ParaUserDefinedAttributesSupplier</type>
     */
    [optional] service com::sun::star::xml::ParaUserDefinedAttributesSupplier;
    
	//-------------------------------------------------------------------------
	/// specifies the style properties.
	service ParagraphProperties;

	/** determines the left margin of the paragraph relative to the ParaLeftMargin
		of the parent style.

		<p> If the value of ParaLeftMarginRelative is 100 the current
		ParaLeftMargin value is used. </p>
	 */
	[property] long ParaLeftMarginRelative;

	//-------------------------------------------------------------------------

	/** determines the right margin of the paragraph relative to the ParaRightMargin
		of the parent style.

		<p> If the value of ParaRightMarginRelative is 100 the current
		ParaRightMargin value is used. </p>
	 */
	[property] long ParaRightMarginRelative;

	//-------------------------------------------------------------------------

	/** determines the top margin of the paragraph relative to the ParaTopMargin
		of the parent style.

		<p> If the value of ParaTopMarginRelative is 100 the current
		ParaTopMargin value is used. </p>
	 */
	[property] long ParaTopMarginRelative;

	//-------------------------------------------------------------------------

	/** determines the Bottom margin of the paragraph relative to the ParaBottomMargin
		of the parent style.

		<p> If the value of ParaBottomMarginRelative is 100 the current
		ParaBottomMargin value is used. </p>
	 */
	[property] long ParaBottomMarginRelative;
	//-------------------------------------------------------------------------

	/** determines the category of a paragraph style.@see com.sun.star.style.ParagraphStyleCategory
	 */
	[property] short Category;
    //-------------------------------------------------------------------------

    [property] float CharDiffHeight;
    //-------------------------------------------------------------------------

	/** This value contains the character height as percentage value relative to the height of
	 the character in the parent style.
	 */
	[property] short CharPropHeight;
    //-------------------------------------------------------------------------

	/** This value contains the character height as difference in point to the height of
	 the character in the parent style in Asian text.
	 */
	[property] float CharDiffHeightAsian;
    //-------------------------------------------------------------------------

	/** This value contains the character height as percentage value relative to the height of
	 the character in the parent style in Asian text.
	 */
	[property] short CharPropHeightAsian;
    //-------------------------------------------------------------------------

	/** This value contains the character height as difference in point to the height of
	 the character in the parent style in complex text.
	 */
	[property] float CharDiffHeightComplex;
    //-------------------------------------------------------------------------

	/** This value contains the character height as percentage value relative to the height of
	 the character in the parent style in complex text.
	 */
	[property] short CharPropHeightComplex;
    //-------------------------------------------------------------------------

    /** returns the name of the page style in use

        <P>For setting the page style you have to use the 
        <member scope="com::sun::star::text">PageDescName</member> 
        properties.
        </P>
    */
    [optional, readonly, property] string PageStyleName;
};

//=============================================================================

}; }; }; };

/*=============================================================================

=============================================================================*/
#endif