1*cdf0e10cSrcweir/*************************************************************************
2*cdf0e10cSrcweir *
3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4*cdf0e10cSrcweir *
5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates.
6*cdf0e10cSrcweir *
7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite
8*cdf0e10cSrcweir *
9*cdf0e10cSrcweir * This file is part of OpenOffice.org.
10*cdf0e10cSrcweir *
11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify
12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3
13*cdf0e10cSrcweir * only, as published by the Free Software Foundation.
14*cdf0e10cSrcweir *
15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful,
16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of
17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details
19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code).
20*cdf0e10cSrcweir *
21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License
22*cdf0e10cSrcweir * version 3 along with OpenOffice.org.  If not, see
23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html>
24*cdf0e10cSrcweir * for a copy of the LGPLv3 License.
25*cdf0e10cSrcweir *
26*cdf0e10cSrcweir ************************************************************************/
27*cdf0e10cSrcweir
28*cdf0e10cSrcweir#ifndef __com_sun_star_drawing_AccessibleGraphicShape_idl__
29*cdf0e10cSrcweir#define __com_sun_star_drawing_AccessibleGraphicShape_idl__
30*cdf0e10cSrcweir
31*cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessible_idl__
32*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessible.idl>
33*cdf0e10cSrcweir#endif
34*cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessibleContext_idl__
35*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessibleContext.idl>
36*cdf0e10cSrcweir#endif
37*cdf0e10cSrcweir#ifndef __com_sun_star_accessibility_XAccessibleComponent_idl__
38*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessibleComponent.idl>
39*cdf0e10cSrcweir#endif
40*cdf0e10cSrcweir
41*cdf0e10cSrcweirmodule com {  module sun {  module star {  module drawing {
42*cdf0e10cSrcweir
43*cdf0e10cSrcweir/** The <type>AccessibleDrawDocumentView</type> service is implemented by
44*cdf0e10cSrcweir    views of Draw and Impress documents.
45*cdf0e10cSrcweir
46*cdf0e10cSrcweir    <p>An object that implements the <type>AccessibleDrawDocumentView</type>
47*cdf0e10cSrcweir    service provides information about the view of a Draw or Impress
48*cdf0e10cSrcweir    document in one of the various view modes.  With its children it gives
49*cdf0e10cSrcweir    access to the current page and the shapes on that page.</p>
50*cdf0e10cSrcweir
51*cdf0e10cSrcweir    <p>This service gives a simplified view on the underlying document.  It
52*cdf0e10cSrcweir    tries both to keep the structure of the accessibility representation
53*cdf0e10cSrcweir    tree as simple as possible and provide as much relevant information as
54*cdf0e10cSrcweir    possible.  This has the following consequences:
55*cdf0e10cSrcweir    <ol>
56*cdf0e10cSrcweir    <li>Only the current draw page and only the visible shapes are
57*cdf0e10cSrcweir    accessible.  To switch to another page or to access shapes that lie
58*cdf0e10cSrcweir    outside the currently visible area, the user has to issue these requests
59*cdf0e10cSrcweir    manually or programmatically through the usual chanels, e.g. pressing
60*cdf0e10cSrcweir    keys or selecting menu entries.</li>
61*cdf0e10cSrcweir    <li>The hierarchy exposed through the
62*cdf0e10cSrcweir    <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
63*cdf0e10cSrcweir    interface does not necessarily correspond directly to the underlying
64*cdf0e10cSrcweir    draw page structure.  Internal nodes in this hierarchy are introduced
65*cdf0e10cSrcweir    by group shapes, 3D scenes, and OLE objects.</li>
66*cdf0e10cSrcweir    <li>The view modes editing view, outline view, slides view, notes view,
67*cdf0e10cSrcweir    handout view, and presentation view are not exposed explicitly.
68*cdf0e10cSrcweir    However, if there happens to be a view mode change which results in a
69*cdf0e10cSrcweir    rearrangement of the visible shapes, the user gets notified of this.</li>
70*cdf0e10cSrcweir    </ol></p>
71*cdf0e10cSrcweir
72*cdf0e10cSrcweir	 @since OOo 1.1.2
73*cdf0e10cSrcweir*/
74*cdf0e10cSrcweirpublished service AccessibleDrawDocumentView
75*cdf0e10cSrcweir{
76*cdf0e10cSrcweir    /** Base interface for being accessible.  It gives access to the
77*cdf0e10cSrcweir        <type scope="::com::sun::star::accessibility">XAccessibleContext</type>
78*cdf0e10cSrcweir        interface.
79*cdf0e10cSrcweir    */
80*cdf0e10cSrcweir    interface ::com::sun::star::accessibility::XAccessible;
81*cdf0e10cSrcweir
82*cdf0e10cSrcweir    /** Provide access to the view of a document.
83*cdf0e10cSrcweir
84*cdf0e10cSrcweir        <p>You can access the following information:
85*cdf0e10cSrcweir        <ul>
86*cdf0e10cSrcweir        <li>Role: The object's role is <const
87*cdf0e10cSrcweir            scope="com::sun::star::accessibility"
88*cdf0e10cSrcweir                >AccessibleRole::DOCUMENT</const>.</li>
89*cdf0e10cSrcweir        <li>Name: Its name is "AccessibleDrawDocumentView",
90*cdf0e10cSrcweir        "AccessibleOutlineView", or "slide window".</li>
91*cdf0e10cSrcweir        <li>Description: The description is "Draw Document", "Accessible
92*cdf0e10cSrcweir        Draw Document Outline", or "slide window".</li>
93*cdf0e10cSrcweir        <li>Children: The shapes of the current draw page that are currently
94*cdf0e10cSrcweir            visible are direct and indirect children of (an object
95*cdf0e10cSrcweir            implementing)
96*cdf0e10cSrcweir            this service.  Group shapes, 3D scenes, and OLE objects
97*cdf0e10cSrcweir            introduce further levels into the hierarchy.  If the visibility
98*cdf0e10cSrcweir            of shapes changes--due to
99*cdf0e10cSrcweir            scrolling, switching the current draw page, or changing the view
100*cdf0e10cSrcweir            mode--the appropriate listeners are called and the user gets
101*cdf0e10cSrcweir            informed of this.</li>
102*cdf0e10cSrcweir        <li>Parent: The parent will usually be the window that contains the
103*cdf0e10cSrcweir            draw document view.  It has to be set via implementation dependend
104*cdf0e10cSrcweir            ways.</li>
105*cdf0e10cSrcweir        <li>Relations: Relations are set and modified from the outside.</li>
106*cdf0e10cSrcweir        <li>States: <const scope="com::sun::star::accessibility"
107*cdf0e10cSrcweir                >AccessibleStateType::DEFUNC</const> is set if a document view
108*cdf0e10cSrcweir                becomes obsolete like when the window, which displays the view,
109*cdf0e10cSrcweir                is closed.  Otherwise the states
110*cdf0e10cSrcweir                <const scope="com::sun::star::accessibility"
111*cdf0e10cSrcweir                    >AccessibleStateType::ENABLED</const>,
112*cdf0e10cSrcweir                <const scope="com::sun::star::accessibility"
113*cdf0e10cSrcweir                    >AccessibleStateType::SHOWING</const>,
114*cdf0e10cSrcweir                <const scope="com::sun::star::accessibility"
115*cdf0e10cSrcweir                    >AccessibleStateType::VISIBLE</const>,
116*cdf0e10cSrcweir                <const scope="com::sun::star::accessibility"
117*cdf0e10cSrcweir                    >AccessibleStateType::FOCUSABLE</const>, and
118*cdf0e10cSrcweir                <const scope="com::sun::star::accessibility"
119*cdf0e10cSrcweir                   >AccessibleStateType::SELECTABLE</const>
120*cdf0e10cSrcweir            are always set.</li>
121*cdf0e10cSrcweir        <li>Locale: Is obtained from the parent and returned unchanged.</li>
122*cdf0e10cSrcweir        </ul></p>
123*cdf0e10cSrcweir    */
124*cdf0e10cSrcweir    interface ::com::sun::star::accessibility::XAccessibleContext;
125*cdf0e10cSrcweir
126*cdf0e10cSrcweir    /** Provide access to a draw document's graphical representation.
127*cdf0e10cSrcweir
128*cdf0e10cSrcweir        <p>The main purpose of this interface is to provide a bounding box
129*cdf0e10cSrcweir        of the currently visible area and to let the user find children
130*cdf0e10cSrcweir        (i.e. shapes) that cover a given test point.  The more interesting
131*cdf0e10cSrcweir        part of the graphical representation of a draw page lies in its
132*cdf0e10cSrcweir        children.  See the <type>AccessibleShape</type> service for more
133*cdf0e10cSrcweir        information about shapes.</p>
134*cdf0e10cSrcweir
135*cdf0e10cSrcweir        @see AccessibleShape
136*cdf0e10cSrcweir    */
137*cdf0e10cSrcweir    interface ::com::sun::star::accessibility::XAccessibleComponent;
138*cdf0e10cSrcweir};
139*cdf0e10cSrcweir
140*cdf0e10cSrcweir}; }; }; };
141*cdf0e10cSrcweir
142*cdf0e10cSrcweir#endif
143