/* -*- 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_AccessibleTextDocumentView_idl__ #define __com_sun_star_text_AccessibleTextDocumentView_idl__ #include #include #include #include module com { module sun { module star { module text { /** The accessible view of a text document. @since OOo 1.1.2 */ 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.
  • The children returned by XAccessibleContext::getAccessibleChild all support the interface XAccessible. Calling XAccessible::getAccessibleContext for these children returns an object that supports one of the following services.
    • AccessibleHeaderFooterView: A child of this kind is returned for every header and footer that is at least partially visible.
    • AccessibleFootnoteView: A child of this kind is returned for every footnote that is at least partially visible.
    • AccessibleEndnoteView: A child of this kind is returned for every endnote that is at least partially visible.
    • 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.
    • 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.
    • AccessibleTextFrameView: A child of this kind is returned for every text frame that is at least partially visible. These objects are children of the AccessibleTextDocumentView regardless whether they are bound to a page, a paragraph, a frame, or a character. The only exception are text frames that are bound as character. They are children of the paragraph they are contained in.
    • AccessibleTextGraphicObject: A child of this kind is returned for every graphic that is at least partially visible. These objects are children of the AccessibleTextDocumentView 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 children of the paragraph they are contained in.
    • AccessibleTextEmbeddedObject: A child of this kind is returned for every embedded object that is at least partially visible. These objects are children of the AccessibleTextDocumentView regardless whether they are bound to a page, a paragraph, a frame, or a character. They are children of the paragraph they are contained in.
    • AccessibleShape: 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 AccessibleTextDocumentView regardless whether they are bound to a page, a paragraph, a frame or a character.

    The following rules apply to the children order:

    • The logical order of paragraph and table fragments is never changed.
    • Headers appear immediately before the first paragraph or table fragment of the header's page.
    • Footnotes appear immediately after the last paragraph or table fragment of the footnote's page. The logical order of footnotes isn't changed.
    • 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.
    • Footers appear immediately after the last endnote, footnote, paragraph or table fragment of the footer's page.
    • Text frames, graphics, embedded objects and shapes that are painted in the background appear before any other children. Their order reflects the z order.
    • 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.
  • The role is AccessibleRole::DOCUMENT.
  • The name is "document view" (or the equivalent term in application's language).
  • The description also is "document view" (or the equivalent term in application's language).
  • There are no relation sets.
  • The following states might be contained in the state set returned by XAccessibleContext::getAccessibleStateSet:
    • AccessibleStateType::DEFUNC (indicates that the document window has been closed)
    • AccessibleStateType::EDITABLE
    • AccessibleStateType::ENABLED (always contained)
    • AccessibleStateType::MULTI_SELECTABLE (always contained)
    • AccessibleStateType::OPAQUE (always contained)
    • AccessibleStateType::SHOWING
    • AccessibleStateType::VISIBLE
  • Depending of the application's region setting, the locale is the western, Asian or complex default language of the document.
*/ 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 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */