/* -*- 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_AccessibleEndnoteView_idl__
#define __com_sun_star_text_AccessibleEndnoteView_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 endnotes.
    @since OOo 1.1.2
 */
service AccessibleEndnoteView
{
    /** This interface gives access to any paragraph fragment and table
        fragment that is contained in a endnote 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
                        fragment that is contained in the document body and
                        is at least partially visible. A paragraph fragment is
                        the part of a paragraph that is displayed on a
                        certain page.
                    <li>::com::sun::star::table::AccessibleTableView:
                        A child of this kind is returned for every table
                        fragment that is contained in the document body
                        and is at least partially visible. A table fragment is
                        the part of a table that is displayed on a certain page.
                </ul>
                <p>The logical order of paragraph and table fragments is never
                   changed.
            <li>The role is
                ::com::sun::star::accessibility::AccessibleRole::END_NOTE
            <li>The name is "endnote" (or the equivalent term
                in application's language) with a number appended.
            <li>The description is endnote" (or the equivalent term
                in application's language) with the endnote number or
                character appended in the format that is specified in the
                endnote settings.
            <li>There are no relations. <em>TODO: One might specify a relation
                to the endnote anchor's paragraph.</em>
            <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 endnote 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
          endnote.
     */
    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: */
