/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/

#ifndef __com_sun_star_sheet_TableAutoFormat_idl__
#define __com_sun_star_sheet_TableAutoFormat_idl__

#ifndef __com_sun_star_container_XIndexAccess_idl__
#include <com/sun/star/container/XIndexAccess.idl>
#endif

#ifndef __com_sun_star_container_XEnumerationAccess_idl__
#include <com/sun/star/container/XEnumerationAccess.idl>
#endif

#ifndef __com_sun_star_container_XNamed_idl__
#include <com/sun/star/container/XNamed.idl>
#endif

#ifndef __com_sun_star_beans_XPropertySet_idl__
#include <com/sun/star/beans/XPropertySet.idl>
#endif

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

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

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

/** represents an AutoFormat, containing exactly 16 AutoFormat fields.

    <p>Each of the 16 fields contain formatting properties for a table
    cell at a specific position in the AutoFormat range. The rows of the
    range are divided into a header row, a footer row and 2 data rows
    (repeated in turn between header and footer row). The columns are
    divided similar. This results in 16 different types of cells in the
    range. The AutoFormats are numbered row by row, then column by column.</p>

    @see com::sun::star::sheet::TableAutoFormatField
 */
published service TableAutoFormat
{
    //-------------------------------------------------------------------------

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

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

    /** provides methods to access the AutoFormat fields via index.

        @see com::sun::star::sheet::TableAutoFormatField
     */
    interface com::sun::star::container::XIndexAccess;

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

    /** creates an enumeration of all 16 AutoFormat fields.

        @see com::sun::star::sheet::TableAutoFormatEnumeration
     */
    interface com::sun::star::container::XEnumerationAccess;

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

    /** provides methods to access the name of the AutoFormat.
     */
    interface com::sun::star::container::XNamed;

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

    /** specifies whether the font settings from the fields are used.
     */
    [property] boolean IncludeFont;

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

    /** specifies whether the justification settings from the fields
        are used.
     */
    [property] boolean IncludeJustify;

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

    /** specifies whether the border settings from the fields are used.
     */
    [property] boolean IncludeBorder;

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

    /** specifies whether the background settings from the fields are used.
     */
    [property] boolean IncludeBackground;

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

    /** specifies whether the number format settings from the fields
        are used.
     */
    [property] boolean IncludeNumberFormat;

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

    /** specifies whether the column widths and row heights should be
        updated after applying the format.
     */
    [property] boolean IncludeWidthAndHeight;

};

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

}; }; }; };

#endif

