/* -*- 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_BaseIndex_idl__
#define __com_sun_star_text_BaseIndex_idl__

#include <com/sun/star/util/Color.idl>
#include <com/sun/star/util/XRefreshable.idl>
#include <com/sun/star/text/XDocumentIndex.idl>
#include <com/sun/star/container/XIndexReplace.idl>
#include <com/sun/star/text/XTextColumns.idl>
#include <com/sun/star/style/GraphicLocation.idl>
#include <com/sun/star/lang/Locale.idl>
#include <com/sun/star/text/XTextSection.idl>
#include <com/sun/star/graphic/XGraphic.idl>

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

/** specifies the basic service of different indexes within a document.@see com::sun::star::text::DocumentIndex
        @see com::sun::star::text::ContentIndex
        @see com::sun::star::text::UserDefinedIndex
        @see com::sun::star::text::IllustrationsIndex
        @see com::sun::star::text::TableIndex
        @see com::sun::star::text::ObjectIndex
 */
published service BaseIndex
{
    interface com::sun::star::text::XDocumentIndex;

    /** @since LibreOffice 4.0 */
    [optional] interface com::sun::star::util::XRefreshable;

    /** contains the title of the index.*/
    [property] string Title;
    /** determines if the index is protected.*/
    [property] boolean IsProtected;
    /** contains the name of the paragraph style that is applied to the heading.*/
    [property] string ParaStyleHeading;
    /** contains the name of the paragraph style that is applied to the 1st level.*/
    [property] string ParaStyleLevel1;
    /** contains the name of the paragraph style that is applied to the 2nd level.*/
    [optional, property] string ParaStyleLevel2;
    /** contains the name of the paragraph style that is applied to the 3rd level.*/
    [optional, property] string ParaStyleLevel3;
    /** contains the name of the paragraph style that is applied to the 4th level.*/
    [optional, property] string ParaStyleLevel4;
    /** contains the name of the paragraph style that is applied to the 5th level.*/
    [optional, property] string ParaStyleLevel5;
    /** contains the name of the paragraph style that is applied to the 6th level.*/
    [optional, property] string ParaStyleLevel6;
    /** contains the name of the paragraph style that is applied to the 7th level.*/
    [optional, property] string ParaStyleLevel7;
    /** contains the name of the paragraph style that is applied to the 8th level.*/
    [optional, property] string ParaStyleLevel8;
    /** contains the name of the paragraph style that is applied to the 9th level.*/
    [optional, property] string ParaStyleLevel9;
    /** contains the name of the paragraph style that is applied to the 10th level.*/
    [optional, property] string ParaStyleLevel10;
    /** contains the name of the paragraph style that is applied to the separator level.*/
    [optional, property] string ParaStyleSeparator;
    /** contains the column interface.*/
    [property] XTextColumns TextColumns;

    /** contains the URL of a graphic file that is displayed as background graphic

        @deprecated as of LibreOffice 6.1 - use BackGraphic instead

        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 graphic and set the BackGraphic
        property.
    */
    [property] string BackGraphicURL;

    /** contains the name of the filter of the graphic file that is
         displayed as background graphic*/
    [property] string BackGraphicFilter;
    /** determines the position of the background graphic.@see GraphicLocation
     */
    [property] com::sun::star::style::GraphicLocation BackGraphicLocation;
    /** specifies the color of the background.
     */
    [property] com::sun::star::util::Color BackColor;

    /** If `TRUE`, the background color value in "BackColor" is not visible.
     */
    [property] boolean BackTransparent;

    /** returns the interface of the level format of the index.
     <p>
        The description of the format of the levels depends on the type of the document index.
     </p>
     @see DocumentIndexLevelFormat
     */
    [optional, property] com::sun::star::container::XIndexReplace LevelFormat;
    /** determines if the content of the document index is created from the
         complete document content or from the current chapter only.
     <p> It is not available in the bibliography</p>*/
    [optional, property] boolean CreateFromChapter;
    /** the text section containing the content of the index */
    [property] com::sun::star::text::XTextSection ContentSection;
    /** the text section containing the header of the index */
    [property] com::sun::star::text::XTextSection HeaderSection;

    /** contains the graphic object that is displayed as background graphic.

        @since LibreOffice 6.1
    */
    [optional, property] com::sun::star::graphic::XGraphic BackGraphic;
};


}; }; }; };

#endif


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