/* -*- 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_sheet_SpreadsheetDocumentSettings_idl__
#define __com_sun_star_sheet_SpreadsheetDocumentSettings_idl__

#include <com/sun/star/beans/XPropertySet.idl>
#include <com/sun/star/util/Date.idl>
#include <com/sun/star/i18n/XForbiddenCharacters.idl>
#include <com/sun/star/lang/Locale.idl>
#include <com/sun/star/awt/XDevice.idl>


module com {  module sun {  module star {  module sheet {


/** contributes properties to control the configuration which is global
    for all views of a spreadsheet document.

    @deprecated

    @see com::sun::star::sheet::SpreadsheetDocument
 */
published service SpreadsheetDocumentSettings
{

//!published service PropertySet
    /** provides access to the properties.
     */
    interface com::sun::star::beans::XPropertySet;


    /** enables iterated calculation of circular references.
     */
    [property] boolean IsIterationEnabled;


    /** specifies how many iterations are carried out.

        <p>This setting is only used, if iteration is enabled using
        SpreadsheetDocumentSettings::IsIterationEnabled.</p>
     */
    [property] long IterationCount;


    /** specifies the point at which a change in results will stop
        the iteration.

        <p>More exactly it specifies a difference in the change of the
        result between two iterations. If the result difference
        is less than or equal to this epsilon-value, the iteration
        is stopped.</p>

        <p>This setting is only used, if iteration is enabled using
        SpreadsheetDocumentSettings::IsIterationEnabled.</p>
     */
    [property] double IterationEpsilon;


    /** specifies the number of decimals in the default number format.
     */
    [property] short StandardDecimals;


    /** specifies the date that is represented by the value zero.
     */
    [property] com::sun::star::util::Date NullDate;


    /** specifies the width of default tabulators.
     */
    [property] short DefaultTabStop;


    /** specifies whether upper and lower cases are treated as equal
        when comparing cells.
     */
    [property] boolean IgnoreCase;


    /** specifies whether calculations are performed with the rounded
        values displayed in cells (set to `TRUE`) instead of the
        internal values (set to `FALSE`).
     */
    [property] boolean CalcAsShown;


    /** specifies whether filter criteria must match entire cell contents.
     */
    [property] boolean MatchWholeCell;


    /** enables online spell checking.
     */
    [property] boolean SpellOnline;


    /** specifies whether column or row labels are looked up from
        anywhere on the sheet.

        <p>Explicitly defined label ranges are used even if this property
        is set to `FALSE`.</p>

        @see com::sun::star::sheet::LabelRanges
     */
    [property] boolean LookUpLabels;


    /** specifies whether regular expressions in formulas are enabled,
        e.g., for functions which look up spreadsheet contents.

        <p>RegularExpressions and Wildcards are mutually exclusive, only
        one can have the value `TRUE`. If both are set to `TRUE` via API
        calls then the last one set takes precedence.</p>
     */
    [property] boolean RegularExpressions;


    /** contains the interface XForbiddenCharacters.
     */
    [readonly, optional, property] com::sun::star::i18n::XForbiddenCharacters ForbiddenCharacters;


    /** If this property is set the document has DrawPages. Use this
        property to find out, whether the document has DrawPages or not,
        because the getDrawPage method on the XDrawPageSupplier and the
        getDrawPages method on the XDrawPagesSupplier always creates the
        DrawPages if there are none; and this is very slow and needs more
        memory.
     */
    [readonly, optional, property] boolean HasDrawPages;


    /** contains the standard document language for Western text.
     */
    [optional, property] com::sun::star::lang::Locale CharLocale;


    /** contains the standard document language for Asian text.
     */
    [optional, property] com::sun::star::lang::Locale CharLocaleAsian;


    /** contains the standard document language for Complex text.
     */
    [optional, property] com::sun::star::lang::Locale CharLocaleComplex;


    /** specifies whether the document data are already loaded.

        @since OOo 3.0
     */
    [optional, property] boolean IsLoaded;


    /** specifies whether the undo command is enabled.

        @since OOo 3.0
     */
    [optional, property] boolean IsUndoEnabled;


    /** specifies whether the automatic adjustment of the row height is
        enabled.

        </p>This boolean is actually a counter internally, of the number of times
        something has locked the height, so setting it to false will only perform one
        unlock operation, and might leave it still locked</p>

        @since OOo 3.0
     */
    [optional, property] boolean IsAdjustHeightEnabled;


    /** specifies whether the automatic execution of links is enabled.

        @since OOo 3.0
     */
    [optional, property] boolean IsExecuteLinkEnabled;


    /** contains the reference device used for formatting the document.

        @since OOo 3.0
     */
    [readonly, optional, property] com::sun::star::awt::XDevice ReferenceDevice;

    /** specifies whether changes record is enabled.

        <p>No modification applied if the record changes protection is activated
        information given by SpreadsheetDocumentSettings::IsRecordChangesProtected</p>

        @since LibreOffice 5.0
     */
    [optional, property] boolean RecordChanges;

    /** specifies whether changes record is protected.

        @since LibreOffice 5.0
     */
    [readonly,optional, property] boolean IsRecordChangesProtected;


    /** specifies whether wildcards in formulas are enabled,
        e.g., for functions which look up spreadsheet contents.

        <p>Wildcards and RegularExpressions are mutually exclusive, only
        one can have the value `TRUE`. If both are set to `TRUE` via API
        calls then the last one set takes precedence.</p>

        @since LibreOffice 5.2
     */
    [optional, property] boolean Wildcards;

};


}; }; }; };

#endif

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