/* -*- 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_TextSection_idl__
#define __com_sun_star_text_TextSection_idl__

#include <com/sun/star/text/TextContent.idl>
#include <com/sun/star/text/XTextSection.idl>
#include <com/sun/star/container/XNamed.idl>
#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/beans/XPropertyState.idl>
#include <com/sun/star/text/SectionFileLink.idl>
#include <com/sun/star/style/GraphicLocation.idl>
#include <com/sun/star/text/XTextColumns.idl>
#include <com/sun/star/xml/UserDefinedAttributesSupplier.idl>



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

/** A TextSection is a range of complete paragraphs within a text.

    <p>The content of the section may be the content of a link into another
    document, a link from the same document, or the result of a DDE
    operation.

    <p>TextSection instances can be linked from and to other
    texts.

*/
published service TextSection
{
    service com::sun::star::text::TextContent;

    [optional] service com::sun::star::xml::UserDefinedAttributesSupplier;

    interface com::sun::star::text::XTextSection;
    interface com::sun::star::container::XNamed;
    interface com::sun::star::beans::XPropertySet;
    interface com::sun::star::beans::XPropertyState;

    /**  This property contains a conditional expression.

    <p>If the result of the conditional expression is `TRUE` and the property
    TextSection::IsVisible is `FALSE`, then the section is hidden.</p>
    */
    [property] string Condition;

    /** If this property is `FALSE`, the text section is hidden.
    */
    [property] boolean IsVisible;

    /** If this property is `TRUE`, the text section is protected
        and cannot be modified from the user interface.
    */
    [property] boolean IsProtected;

    /** If this property is set, then the content of the section is read
        from the specified document.

    */
    [property] com::sun::star::text::SectionFileLink FileLink;

    /**  specifies the source of a file link in the document that is
    specified in TextSection::FileLink.

    <p>The source may be a text section or a bookmark.
    If TextSection::FileLink is empty, then the
    current document is searched for the source. If this property
    is empty and TextSection::FileLink is set,
    then the complete document content is linked into this section.</p>
    */
    [property] string LinkRegion;

    /**  specifies the type of the command string for a DDE operation.
     <p>The type can be the name of the application that provides a DDE source.</p>
    */
    [property] string DDECommandType;

    /**  specifies the source file name of the command string for a DDE operation.
    */
    [property] string DDECommandFile;

    /**  specifies the source element of the command string for a DDE operation.
     <p>The element can be i.e. a name of a cell in a sheet or a bookmark.</p>
    */
    [property] string DDECommandElement;

    /**  contains the URL for the background graphic.
    */
    [property] string BackGraphicURL;

    /**  contains the name of the file filter for the background graphic.
    */
    [property] string BackGraphicFilter;

    /** determines the position of the background graphic.

        @see GraphicLocation
    */
    [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
    /** determines whether footnotes inside the section are displayed at the end of the
     section text.
    */
    [property] boolean FootnoteIsCollectAtTextEnd;
    /** determines whether the footnotes numbering restarts within the section.
     This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
    */
    [property] boolean FootnoteIsRestartNumbering;
    /** determines at which number the footnote numbering inside of the section starts.
     This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
    */
    [property] short FootnoteRestartNumberingAt;
    /** determines whether the footnotes within the section use an own numbering format.
     This is only valid if <code>FootnoteIsRestartNumbering</code> is set.
    */
    [property] boolean FootnoteIsOwnNumbering;
    /** determines the numbering type of the footnote numbering as a value of
     com::sun::star::style::NumberingType.
     This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
    */
    [property] short FootnoteNumberingType;
    /** determines the prefix that is display before the footnote number.
     This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
    */
    [property] string FootnoteNumberingPrefix;
    /** determines the suffix that is display after of the footnote number.
     This is only valid if <code>FootnoteIsOwnNumbering</code> is set.
    */
    [property] string FootnoteNumberingSuffix;
    /** determines whether endnotes inside the section are displayed at the end of the
     section text.
    */
    [property] boolean EndnoteIsCollectAtTextEnd;
    /** determines whether the endnotes numbering restarts within the section.
     This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
    */
    [property] boolean EndnoteIsRestartNumbering;
    /** determines at which number the endnote numbering inside of the section starts.
     This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
    */
    [property] short EndnoteRestartNumberingAt;
    /** determines whether the endnotes within the section use an own numbering format.
     This is only valid if <code>EndnoteIsRestartNumbering</code> is set.
    */
    [property] boolean EndnoteIsOwnNumbering;
    /** determines the numbering type of the endnote numbering as a value of
     com::sun::star::style::NumberingType.
     This is only valid if <code>EndoteIsOwnNumbering</code> is set.
    */
    [property] short EndnoteNumberingType;
    /** determines the prefix that is display before the endnote number.
     This is only valid if <code>EndnoteIsOwnNumbering</code> is set.
    */
    [property] string EndnoteNumberingPrefix;
    /** determines the suffix that is display after the endnote number.
     This is only valid if <code>EndnoteIsOwnNumbering</code> is set.
    */
    [property] string EndnoteNumberingSuffix;
    /** determines if a DDE link is updated automatically.
    */
    [property] boolean IsAutomaticUpdate;
    /** allows columns to be set into the text section
    */
    [property] com::sun::star::text::XTextColumns TextColumns;
    /** determines the left margin of the section
     */
    [optional, property] long SectionLeftMargin;
    /** determines the left margin of the section
     */
    [optional, property] long SectionRightMargin;
};


}; }; }; };

#endif

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