/* -*- 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_AccessibleHeaderFooterView_idl__
#define __com_sun_star_text_AccessibleHeaderFooterView_idl__

#include <com/sun/star/accessibility/XAccessibleContext.idl>
#include <com/sun/star/accessibility/XAccessibleComponent.idl>
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>



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


/** The accessible view of headers and footers.

     @since OOo 1.1.2

 */
service AccessibleHeaderFooterView
{
    /** This interface gives access to any paragraph and table that is
          contained in the header and footer and is at least partially visible
        on the screen.

        <ul>
            <li>The parent returned by
                ::com::sun::star::accessibility::XAccessibleContext::getAccessibleParent()
                is either the accessible view of a text document,
                a page of the accessible page preview of a text document,
                or the accessible page preview of a spreadsheet document.
            <li>The children returned by
                ::com::sun::star::accessibility::XAccessibleContext::getAccessibleChild()
                all support the interface XAccessible. Calling
                ::com::sun::star::accessibility::XAccessible::getAccessibleContext()
                for these children returns
                an object that supports one of the following services.
                <ul>
                    <li>::com::sun::star::text::AccessibleParagraphView:
                        A child of this kind is returned for every paragraph
                        that is contained in the document body and
                        is at least partially visible. The child always
                        represents a whole paragraph (and not a fragment only),
                        because there are no page breaks within headers and
                        footers.
                    <li>::com::sun::star::table::AccessibleTableView:
                        A child of this kind is returned for every table
                        that is contained in the document body
                        and is at least partially visible. The child always
                        represents a whole table (and not a fragment only),
                        because there are no page breaks within headers and
                        footers.
                </ul>
            <p>The logical order of paragraphs and tables is never changed.
            <li>The role is either
                ::com::sun::star::accessibility::AccessibleRole::HEADER or
                ::com::sun::star::accessibility::AccessibleRole::FOOTER.
            <li>The name is "header" or "footer" (or the equivalent term
                in application's language) with a number appended.
            <li>The description is "header" or "footer" (or the equivalent term
                in application's language) with the page number appended in
                the format that is specified in the page's style.
            <li>There are no relations.
            <li>The following states might be contained in the state set
                returned by
                ::com::sun::star::accessibility::XAccessibleContext::getAccessibleStateSet():
                <ul>
                    <li>::com::sun::star::accessibility::AccessibleStateType::DEFUNC
                        (indicates that
                        the document window has been closed or the header or
                        footer is not existing any longer)
                    <li>::com::sun::star::accessibility::AccessibleStateType::EDITABLE
                    <li>::com::sun::star::accessibility::AccessibleStateType::ENABLED
                        (always contained)
                    <li>::com::sun::star::accessibility::AccessibleStateType::OPAQUE
                    <li>::com::sun::star::accessibility::AccessibleStateType::SHOWING
                    <li>::com::sun::star::accessibility::AccessibleStateType::VISIBLE
                </ul>
            <li>Depending of the application's region setting, the locale is
                the western, Asian or complex default language of the document.
        </ul>

     */
    interface ::com::sun::star::accessibility::XAccessibleContext;

    /** This interface describes the graphical representation of a header
          or footer.
     */
    interface ::com::sun::star::accessibility::XAccessibleComponent;

    /** This is the interface for listeners */
    interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
};


}; }; }; };

#endif

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