blob: 55842af004eb2f509a9f3e0109cb33c60490d298 [file] [log] [blame]
/**************************************************************
*
* 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
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_text_AccessibleTextDocumentView_idl__
#define __com_sun_star_text_AccessibleTextDocumentView_idl__
#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
#include <com/sun/star/accessibility/XAccessibleContext.idl>
#endif
#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
#include <com/sun/star/accessibility/XAccessibleComponent.idl>
#endif
#ifndef __com_sun_star_accessibility_XAccessibleSelection_idl__
#include <com/sun/star/accessibility/XAccessibleSelection.idl>
#endif
#ifndef __com_sun_star_accessibility_XAccessibleEventBroadcaster_idl__
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.idl>
#endif
//=============================================================================
module com { module sun { module star { module text {
//=============================================================================
/** The accessible view of a text document.
@since OpenOffice 1.1.2
*/
published service AccessibleTextDocumentView
{
/** This interface gives access to any text, table, graphic, embedded
object and drawing that is at least partially visible on the screen.
The tree that arises from the children of this object reflects the
structure of the document as it is displayed.
<ul>
<li>The children returned by
<method scope="::com::sun::star::accessibility"
>XAccessibleContext::getAccessibleChild</method> all support
the interface XAccessible. Calling
<method scope="::com::sun::star::accessibility"
>XAccessible::getAccessibleContext</method> for these children
returns an object that supports one of the following
services.
<ul>
<li><type scope="::com::sun::star::text"
>AccessibleHeaderFooterView</type>:
A child of this kind is returned for every header
and footer that is at least partially visible.
<li><type scope="::com::sun::star::text"
>AccessibleFootnoteView</type>:
A child of this kind is returned for every footnote
that is at least partially visible.
<li><type scoep="::com::sun::star::text"
>AccessibleEndnoteView</type>:
A child of this kind is returned for every endnote
that is at least partially visible.
<li><type scope="::com::sun::star::text"
>AccessibleParagraphView</type>:
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><type scope="::com::sun::star::table"
>AccessibleTableView</type>:
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.
<li><type scope="::com::sun::star::text"
>AccessibleTextFrameView</type>: A child of this
kind is returned for every text frame that is at
least partially visible. These objects are children
of the
<type>AccessibleTextDocumentView</type> regardless
whether they are bound to a page, a paragarph, a
frame, or a character. The only exception are text
frames that are bound as character. They are childen
of the paragraph they are contained in.
<li><type scope="::com::sun::star::text"
>AccessibleTextGraphicObject</type>:
A child of this kind is returned for every graphic that
is at least partially visible. These objects are
children of the <type>AccessibleTextDocumentView</type>
regardless whether they are bound to a page, paragraph,
a frame or a character. The only exception
are text frames that are bound as character. They are
childen of the paragraph they are contained in.
<li><type scope="::com::sun::star::text"
>AccessibleTextEmbeddedObject</type>:
A child of this kind is returned for every embedded
object that is at least partially visible.
These objects are children of the
<type>AccessibleTextDocumentView</type> regardless
whether they are bound to a page, a paragarph, a frame,
or a character. They are childen of the paragraph they
are contained in.
<li><type scope="::com::sun::star::drawing"
>AccessibleShape</type>: A child of this kind (or a
derived interface) is returned for every shape that
is at least partially visible. These objects are
children of the
<type>AccessibleTextDocumentView</type> regardless
whether they are bound to a page, a paragraph, a
frame or a character.
</ul>
<p>The following rules apply to the children order:
<ul>
<li>The logical order of paragraph and table fragments is
never changed.
<li>Headers appear immediately before the first paragraph or
table fragment of the header's page.
<li>Footnotes appear immediately after the last paragraph or
table fragment of the footnote's page. The logical order
of footnotes isn't changed.
<li>Endnotes appear immediately after the last footnote of
the endnote's page or after the last paragraph or
table fragment of this page if there are no footnotes.
The logical order of endnotes isn't changed.
<li>Footers appear immediately after the last endnote,
footnote, paragraph or table fragment of the footer's
page.
<li>Text frames, graphics, embedded objects and shapes that
are painted in the background appear before any other
children. Their order reflects the z order.
<li>Text frames, graphics, embedded objects and shapes
that are painted in the foreground appear behind any
other children. Their order reflects the z order,
with the exception of controls that appear really last,
but also keep the z order.
</ul>
<li>The role is <const scope="::com::sun::star::accessibility"
>AccessibleRole::DOCUMENT</const>.
<li>The name is "document view" (or the equivalent term
in application's language).
<li>The description also is "document view" (or the equivalent term
in application's language).
<li>There are no relation sets.
<li>The following states might be contained in the state set
returned by <method scope="::com::sun::star::accessibility"
>XAccessibleContext::getAccessibleStateSet</method>:
<ul>
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::DEFUNC</const> (indicates that
the document window has been closed)
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::EDITABLE</const>
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::ENABLED</const> (always
contained)
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::MULTI_SELECTABLE</const>
(always contained)
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::OPAQUE</const> (always
contained)
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::SHOWING</const>
<li><const scope="::com::sun::star::accessibility"
>AccessibleStateType::VISIBLE</const>
</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 text
document view.
*/
interface ::com::sun::star::accessibility::XAccessibleComponent;
/** This interface is for selecting the document's children. Selectable
are any children with the exception of headers, footers, footnotes
and endnotes, where only the grandchildren might be selectable.
*/
interface ::com::sun::star::accessibility::XAccessibleSelection;
/** This is the interface for listeners
*/
interface ::com::sun::star::accessibility::XAccessibleEventBroadcaster;
};
//=============================================================================
}; }; }; };
#endif