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_AccessibleShape_idl__ 29*cdf0e10cSrcweir#define __com_sun_star_drawing_AccessibleShape_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_XAccessibleExtendedComponent_idl__ 38*cdf0e10cSrcweir#include <com/sun/star/accessibility/XAccessibleExtendedComponent.idl> 39*cdf0e10cSrcweir#endif 40*cdf0e10cSrcweir 41*cdf0e10cSrcweirmodule com { module sun { module star { module drawing { 42*cdf0e10cSrcweir 43*cdf0e10cSrcweir/** The <type>AccessibleShape</type> service is implemented by UNO shapes to 44*cdf0e10cSrcweir provide accessibility information that describe the shapes' features. 45*cdf0e10cSrcweir A UNO shape is any object that implements the <type 46*cdf0e10cSrcweir scope="::com::sun::star::drawing">XShape</type> interface. 47*cdf0e10cSrcweir 48*cdf0e10cSrcweir <p>The content of a draw page is modeled as tree of accessible shapes 49*cdf0e10cSrcweir and accessible text paragraphs. The root of this (sub-)tree is the 50*cdf0e10cSrcweir accessible draw document view. An accessible shape implements either 51*cdf0e10cSrcweir this service or one of the 'derived' services 52*cdf0e10cSrcweir <type>AccessibleGraphicShape</type> or <type>AccessibleOLEShape</type>. 53*cdf0e10cSrcweir See the section Children in the description of the 54*cdf0e10cSrcweir <type scope="::com::sun::star::accessibility" 55*cdf0e10cSrcweir >XAccessibleContext</type> interface support for more details.</p> 56*cdf0e10cSrcweir 57*cdf0e10cSrcweir <p>There are two services that extend this one: the 58*cdf0e10cSrcweir <type>AccessibleGraphicShape</type> and the 59*cdf0e10cSrcweir <type>AccessibleOLEShape</type> services provide additional interfaces. 60*cdf0e10cSrcweir See there for details.</p> 61*cdf0e10cSrcweir 62*cdf0e10cSrcweir <p>A shape object is either fully or partially visible on the screen or 63*cdf0e10cSrcweir has set the <const scope="::com::sun::star::accessibility" 64*cdf0e10cSrcweir >AccessibleStateType::DEFUNC</const> state to indicate that it is no longer 65*cdf0e10cSrcweir actively supported by its parent.</p> 66*cdf0e10cSrcweir 67*cdf0e10cSrcweir <p>Each shape object that has not set the DEFUNC state has a valid 68*cdf0e10cSrcweir parent. That is either the containing draw page or a group shape or a 69*cdf0e10cSrcweir 3D scene object.</p> 70*cdf0e10cSrcweir 71*cdf0e10cSrcweir @since OOo 1.1.2 72*cdf0e10cSrcweir*/ 73*cdf0e10cSrcweirpublished service AccessibleShape 74*cdf0e10cSrcweir{ 75*cdf0e10cSrcweir /** Base interface for being accessible. It gives access to the 76*cdf0e10cSrcweir <type scope="::com::sun::star::accessibility">XAccessibleContext</type> 77*cdf0e10cSrcweir interface. 78*cdf0e10cSrcweir */ 79*cdf0e10cSrcweir interface ::com::sun::star::accessibility::XAccessible; 80*cdf0e10cSrcweir 81*cdf0e10cSrcweir /** Give access to the structural information of a shape. 82*cdf0e10cSrcweir 83*cdf0e10cSrcweir <p>You can access the following information for the shape being made 84*cdf0e10cSrcweir accessible: 85*cdf0e10cSrcweir <ul> 86*cdf0e10cSrcweir <li>Role: The role of all shapes is <const 87*cdf0e10cSrcweir scope="com::sun::star::accessibility" 88*cdf0e10cSrcweir >AccessibleRole::SHAPE</const>.</li> 89*cdf0e10cSrcweir <li>Name: The name of a shape is its localized type name.</li> 90*cdf0e10cSrcweir <li>Description: Descriptions are localized and start with the 91*cdf0e10cSrcweir shape's type and style. After that follow some properties that 92*cdf0e10cSrcweir differ from the defaults with respect to the style. 93*cdf0e10cSrcweir <li>Children: The children of a shape are either other accessible 94*cdf0e10cSrcweir shapes or accessible text paragraphs. Only group shapes, 3D scene 95*cdf0e10cSrcweir shapes, and OLE shapes may contain other shapes as children. 96*cdf0e10cSrcweir Some of the shapes may have text paragraphs as (additional) 97*cdf0e10cSrcweir children. See <type scope="::com::sun::star::text" 98*cdf0e10cSrcweir >AccessibleParagraphView</type> for details of 99*cdf0e10cSrcweir how this text is represented.</li> 100*cdf0e10cSrcweir <li>Parent: The parent is either the document view as represented by 101*cdf0e10cSrcweir <type>AccessibleDrawDocumentView</type> or a group shape, 3D 102*cdf0e10cSrcweir scene shape, or OLE shape.</li> 103*cdf0e10cSrcweir <li>Relations: Are set and maintained from the outside. See the 104*cdf0e10cSrcweir service description of the object that has accessible shapes as 105*cdf0e10cSrcweir children for details.</li> 106*cdf0e10cSrcweir <li>States: The states supported by this service are: 107*cdf0e10cSrcweir <ul> 108*cdf0e10cSrcweir <li><p><const scope="com::sun::star::accessibility" 109*cdf0e10cSrcweir >AccessibleStateType::DEFUNC</const> is set if an accessible 110*cdf0e10cSrcweir shape is not visible but still existent for some reason. 111*cdf0e10cSrcweir This should not really happen and is a sign that someone, 112*cdf0e10cSrcweir e.g. an AT-Tool holds references to such a shape. The 113*cdf0e10cSrcweir reason for this is that either the owner of the accessible 114*cdf0e10cSrcweir shape did not remove it from its list of children or that 115*cdf0e10cSrcweir the AT-Tool does not care for the events indicating 116*cdf0e10cSrcweir this.</p> 117*cdf0e10cSrcweir <p>Usually an object that has the <const 118*cdf0e10cSrcweir scope="com::sun::star::accessibility" 119*cdf0e10cSrcweir >AccessibleStateType::DEFUNC</const> state set has already 120*cdf0e10cSrcweir been disposed and subsequent calls to this object result in 121*cdf0e10cSrcweir <type scope="::com::sun::star::lang">DisposedException</type> 122*cdf0e10cSrcweir exceptions.</p> 123*cdf0e10cSrcweir <p>If this state is set then no other of the states below is 124*cdf0e10cSrcweir set. This is also true for the states that are otherwise 125*cdf0e10cSrcweir allways set (which makes 'allways' more of a sort of 126*cdf0e10cSrcweir 'normally').</p></li> 127*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 128*cdf0e10cSrcweir >AccessibleStateType::EDITABLE</const></li> is always set. 129*cdf0e10cSrcweir This state is interpreted to mean that not only text but 130*cdf0e10cSrcweir also other, graphical, properties of a shape can be modified. 131*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 132*cdf0e10cSrcweir >AccessibleStateType::ENABLED</const> is always set.</li> 133*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 134*cdf0e10cSrcweir >AccessibleStateType::FOCUSABLE</const> is always set.</li> 135*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 136*cdf0e10cSrcweir >AccessibleStateType::FOCUSED</const> is set according to 137*cdf0e10cSrcweir whether the shape currently has the focus.</li> 138*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 139*cdf0e10cSrcweir >AccessibleStateType::MULTI_LINE</const> is set if a shape 140*cdf0e10cSrcweir supports the <type scope="::com::sun::star::accessibility" 141*cdf0e10cSrcweir >XAccessibleText</type> interface.</li> 142*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 143*cdf0e10cSrcweir >AccessibleStateType::OPAQUE</const> is set for certain shapes 144*cdf0e10cSrcweir with certain attributes like for a filled rectangle.</li> 145*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 146*cdf0e10cSrcweir >AccessibleStateType::RESIZABLE</const> is always set.</li> 147*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 148*cdf0e10cSrcweir >AccessibleStateType::SELECTABLE</const> is always set.</li> 149*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 150*cdf0e10cSrcweir >AccessibleStateType::SELECTED</const> is set according to 151*cdf0e10cSrcweir whether the shape is currently selected.</li> 152*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 153*cdf0e10cSrcweir >AccessibleStateType::SHOWING</const> is always set.</li> 154*cdf0e10cSrcweir <li><const scope="com::sun::star::accessibility" 155*cdf0e10cSrcweir >AccessibleStateType::VISIBLE</const> is always set.</li> 156*cdf0e10cSrcweir </ul> 157*cdf0e10cSrcweir <li>Locale: The shape returns the locale of its parent.</li> 158*cdf0e10cSrcweir <li>Property change listeners: Property change listeners that are 159*cdf0e10cSrcweir registered with a shape are informed of the usual events.</li> 160*cdf0e10cSrcweir </ul> 161*cdf0e10cSrcweir */ 162*cdf0e10cSrcweir interface ::com::sun::star::accessibility::XAccessibleContext; 163*cdf0e10cSrcweir 164*cdf0e10cSrcweir /** Give access to the graphical representation of a shape. 165*cdf0e10cSrcweir 166*cdf0e10cSrcweir <p>The bounding box returned by the <method 167*cdf0e10cSrcweir scope="::com::sun::star::accessibility" 168*cdf0e10cSrcweir >XAccessibleComponent::getBounds</method> function returns the 169*cdf0e10cSrcweir shape's bounding box clipped at its parent's bounding box</p> 170*cdf0e10cSrcweir 171*cdf0e10cSrcweir <p>An accessible shape tries as best as it can to return proper 172*cdf0e10cSrcweir values for calls to the 173*cdf0e10cSrcweir <method scope="::com::sun::star::accessibility" 174*cdf0e10cSrcweir >XAccessibleExtendedComponent::getForeground</method> and 175*cdf0e10cSrcweir <method scope="::com::sun::star::accessibility" 176*cdf0e10cSrcweir >XAccessibleExtendedComponent::getBackground</method> functions. 177*cdf0e10cSrcweir If the shape is painted with a uniform and non-transparent color 178*cdf0e10cSrcweir then the returned colors may differ from the ones visible on the 179*cdf0e10cSrcweir screen.</p> 180*cdf0e10cSrcweir 181*cdf0e10cSrcweir <p>Key bindings are not supported at the moment</p> 182*cdf0e10cSrcweir */ 183*cdf0e10cSrcweir interface ::com::sun::star::accessibility::XAccessibleComponent; 184*cdf0e10cSrcweir 185*cdf0e10cSrcweir /** Give extended access to the graphical representation of a shape. 186*cdf0e10cSrcweir 187*cdf0e10cSrcweir <p>The functions <method 188*cdf0e10cSrcweir scope="::com::sun::star::accessibility" 189*cdf0e10cSrcweir >XAccessibleExtendedComponent::getFont</method>, 190*cdf0e10cSrcweir <method scope="::com::sun::star::accessibility" 191*cdf0e10cSrcweir >XAccessibleExtendedComponent::getTitledBorderText</method>, and 192*cdf0e10cSrcweir <method scope="::com::sun::star::accessibility" 193*cdf0e10cSrcweir >XAccessibleExtendedComponent::getToolTipText</method> are not 194*cdf0e10cSrcweir supported and return empty references respectively empty 195*cdf0e10cSrcweir strings.</p> 196*cdf0e10cSrcweir 197*cdf0e10cSrcweir <p>The support of this interface is optional to reduce overhead in 198*cdf0e10cSrcweir case that no text is displayed and color information can not be 199*cdf0e10cSrcweir determined with an acceptable cost.</p> 200*cdf0e10cSrcweir */ 201*cdf0e10cSrcweir [optional] interface ::com::sun::star::accessibility::XAccessibleExtendedComponent; 202*cdf0e10cSrcweir}; 203*cdf0e10cSrcweir 204*cdf0e10cSrcweir}; }; }; }; 205*cdf0e10cSrcweir 206*cdf0e10cSrcweir#endif 207