/* -*- 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_text_NumberingLevel_idl__
#define __com_sun_star_text_NumberingLevel_idl__

#include <com/sun/star/util/Color.idl>
#include <com/sun/star/awt/Size.idl>
#include <com/sun/star/awt/FontDescriptor.idl>
#include <com/sun/star/awt/XBitmap.idl>


 module com {  module sun {  module star {  module text {


/** provides access to a numbering level as part of the Numbering Rules.
 */
published service NumberingLevel
{

    /** adjusts the numbering (HoriOrientation_LEFT/RIGHT/CENTER)

        <p>
        </p>
     */
    [property] short Adjust;


    /** number of upper levels that are included in the current numbering symbol.
     */
    [optional, property] short ParentNumbering;


    /** the prefix of the numbering symbol.
     */
    [property] string Prefix;


    /** the suffix of the numbering symbol.
     */
    [property] string Suffix;


    /** Name of the character style that is used for the numbering symbol.
     */
    [optional, property] string CharStyleName;


    /** the ID of the symbol in the given font. This is only valid if the
        numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
          @deprecated
     */
    [optional, property] short BulletId;

    /** contains the symbol in the given font. This is only valid if the
        numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
     */
    [property] string BulletChar;

    /** the name of the font for the symbol. This is only valid if the
        numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
     */
    [property] string BulletFontName;


    /** the font used to paint the bullet.
     */
    [optional, property] com::sun::star::awt::FontDescriptor BulletFont;


    /** the URL of the graphic file that is used as the numbering symbol.

        <p> This is only valid if the numbering type is
        com::sun::star::style::NumberingType::BITMAP.</p>

        @deprecated as of LibreOffice 6.1, use GraphicBitmap

        Note the new behaviour since it this was deprecated:
        This property can only be set and only external URLs are
        supported (no more vnd.sun.star.GraphicObject scheme). When an
        URL is set, then it will load the bitmap and set the GraphicBitmap
        property.
     */
    [property] string GraphicURL;


    /** the graphic file that is used as the numbering symbol.

        <p> This is only valid if the numbering type is
        com::sun::star::style::NumberingType::BITMAP.</p>
     */
    [optional, property] com::sun::star::awt::XBitmap GraphicBitmap;


    /** size of the graphic that is used as bullet.
     */
    [optional, property] com::sun::star::awt::Size    GraphicSize;


    /** contains the vertical orientation of a graphic.

        <p> It is set using com::sun::star::text::VertOrientation.</p>
     */
    [optional, property] short VertOrient;

    /** specifies the start value for the numbering.

        <p>This property is only valid if the numbering type is not
        com::sun::star::style::NumberingType::BITMAP or
        com::sun::star::style::NumberingType::CHAR_SPECIAL.</p>
     */
    [optional, property] short StartWith;


    /** specifies the left margin of the numbering
     */
    [property] long LeftMargin;


    /** specifies the distance between the numbering symbol and the text of
        the paragraph.
     */
    [optional, property] long SymbolTextDistance;


    /** specifies the offset between the beginning of the first line and
        the beginning of the following lines of the paragraph.
     */
    [property] long FirstLineOffset;


    /** specifies the type of numbering. @see com::sun::star::style::NumberingType
     */
    [property] short NumberingType;


    /** contains the name of the paragraph style that is interpreted as the
        header of this level. It is only contained in the levels of
        chapter numbering rules.
     */
    [property] string HeadingStyleName;

    /** contains the name of the paragraph style that should use this numbering.
        This is ignored for chapter numbering rules, use HeadingStyleName.

        @since LibreOffice 3.6
     */
    [optional, property] string ParagraphStyleName;

    /** contains the color for the symbol. This is only valid if the
        numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
    */
    [optional, property] com::sun::star::util::Color BulletColor;

    /** contains the size of the symbol relative to the high of the paragraph. This is only valid if the
        numbering type is com::sun::star::style::NumberingType::CHAR_SPECIAL.
    */
    [optional, property] short BulletRelSize;

        /** position and space mode

                <p>
                Specifies the position and space mode of the numbering level.
                For valid values see com::sun::star::text::PositionAndSpaceMode.
                If it equals LABEL_WIDTH_AND_POSITION, properties Adjust,
                LeftMargin, SymbolTextDistance and FirstLineOffset are used.
                If it equals LABEL_ALIGNMENT, properties Adjust, LabelFollowedBy,
                ListtabStopPosition, FirstLineIndent, IndentAt are used.
                </p>

                @since OOo 3.0
        */
        [optional, property] short PositionAndSpaceMode;

        /** character following the list label

                <p>
                Specifies the character following the list label.
                For valid values see com::sun::star::text::LabelFollow.
                Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT.
                </p>

                @since OOo 3.0
        */
        [optional, property] short LabelFollowedBy;

        /** list tab position

                <p>
                Specifies the position of the list tab stop - only non-negative
                values are allowed.
                Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT
                and LabelFollowedBy equal LABELFOLLOW_LISTTAB
                </p>

                @since OOo 3.0
        */
        [optional, property] long ListtabStopPosition;

        /** additional line indent for the first text line

                <p>
                Specifies the first line indent.
                Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT.
                </p>

                @since OOo 3.0
        */
        [optional, property] long FirstLineIndent;

        /** indentation of the text lines

                <p>
                Specifies the indent of the text lines
                Only of relevance, if PositionAndSpaceMode equals LABEL_ALIGNMENT.
                </p>

                @since OOo 3.0
        */
        [optional, property] long IndentAt;
};


}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
