21#ifndef INCLUDED_SVX_ACCESSIBLESHAPE_HXX
22#define INCLUDED_SVX_ACCESSIBLESHAPE_HXX
24#include <com/sun/star/accessibility/AccessibleScrollType.hpp>
25#include <com/sun/star/accessibility/TextSegment.hpp>
26#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
27#include <com/sun/star/accessibility/XAccessibleExtendedAttributes.hpp>
28#include <com/sun/star/accessibility/XAccessibleGroupPosition.hpp>
29#include <com/sun/star/accessibility/XAccessibleHypertext.hpp>
30#include <com/sun/star/awt/Point.hpp>
31#include <com/sun/star/awt/Rectangle.hpp>
32#include <com/sun/star/awt/Size.hpp>
33#include <com/sun/star/document/XShapeEventListener.hpp>
34#include <com/sun/star/lang/EventObject.hpp>
35#include <com/sun/star/uno/Any.hxx>
36#include <com/sun/star/uno/Reference.hxx>
37#include <com/sun/star/uno/Sequence.hxx>
38#include <com/sun/star/uno/Type.hxx>
39#include <com/sun/star/lang/XUnoTunnel.hpp>
43#include <rtl/ustring.hxx>
55 namespace beans {
struct PropertyValue; }
56 namespace document {
struct EventObject; }
57 namespace drawing {
class XShape; }
65class AccessibleShapeInfo;
66class AccessibleTextHelper;
68class IAccessibleParent;
97 public css::accessibility::XAccessibleSelection,
98 public css::accessibility::XAccessibleExtendedAttributes,
99 public css::accessibility::XAccessibleGroupPosition,
100 public css::accessibility::XAccessibleHypertext,
102 public css::document::XShapeEventListener,
103 public css::lang::XUnoTunnel
127 virtual OUString SAL_CALL getAccessibleName()
override;
128 virtual OUString SAL_CALL getAccessibleDescription()
override;
129 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet> SAL_CALL getAccessibleRelationSet()
override;
132 virtual void SAL_CALL selectAccessibleChild(
133 sal_Int64 nChildIndex )
override;
135 virtual sal_Bool SAL_CALL isAccessibleChildSelected(
136 sal_Int64 nChildIndex )
override;
138 virtual void SAL_CALL clearAccessibleSelection( )
override;
140 virtual void SAL_CALL selectAllAccessibleChildren( )
override;
142 virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount( )
override;
144 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(
145 sal_Int64 nSelectedChildIndex )
override;
147 virtual void SAL_CALL deselectAccessibleChild(
148 sal_Int64 nSelectedChildIndex )
override;
151 virtual css::uno::Any SAL_CALL getExtendedAttributes()
override ;
153 virtual sal_Int16 SAL_CALL getAccessibleRole()
override;
155 virtual css::uno::Sequence< sal_Int32 > SAL_CALL
156 getGroupPosition(
const css::uno::Any& rAny )
override;
157 virtual OUString SAL_CALL getObjectLink(
const css::uno::Any& accoject )
override;
180 virtual bool SetState (sal_Int64 aState)
override;
194 virtual bool ResetState (sal_Int64 aState)
override;
213 virtual sal_Int64 SAL_CALL
214 getAccessibleChildCount()
override;
225 virtual css::uno::Reference<
226 css::accessibility::XAccessible> SAL_CALL
227 getAccessibleChild (sal_Int64
nIndex)
override;
231 virtual sal_Int64 SAL_CALL
232 getAccessibleStateSet()
override;
235 virtual sal_Int64 SAL_CALL
236 getAccessibleIndexInParent()
override;
240 virtual css::uno::Reference<
241 css::accessibility::XAccessible > SAL_CALL
242 getAccessibleAtPoint (
const css::awt::Point& aPoint)
override;
244 virtual css::awt::Rectangle SAL_CALL getBounds()
override;
246 virtual css::awt::Point SAL_CALL getLocation()
override;
248 virtual css::awt::Point SAL_CALL getLocationOnScreen()
override;
250 virtual css::awt::Size SAL_CALL getSize()
override;
252 virtual sal_Int32 SAL_CALL getForeground()
override;
254 virtual sal_Int32 SAL_CALL getBackground()
override;
264 virtual void SAL_CALL
265 addAccessibleEventListener (
266 const css::uno::Reference<
267 css::accessibility::XAccessibleEventListener >& rxListener)
override;
276 virtual void SAL_CALL
277 removeAccessibleEventListener (
278 const css::uno::Reference<
279 css::accessibility::XAccessibleEventListener >& rxListener)
override;
284 virtual css::uno::Any SAL_CALL
287 virtual void SAL_CALL
291 virtual void SAL_CALL
300 virtual OUString SAL_CALL
303 virtual css::uno::Sequence< OUString> SAL_CALL
308 virtual css::uno::Sequence< css::uno::Type> SAL_CALL
312 virtual void ViewForwarderChanged()
override;
321 virtual void SAL_CALL
322 notifyShapeEvent (
const css::document::EventObject& rEventObject)
override;
330 virtual sal_Int32 SAL_CALL getHyperLinkCount()
override;
331 virtual css::uno::Reference< css::accessibility::XAccessibleHyperlink >
332 SAL_CALL getHyperLink( sal_Int32 nLinkIndex )
override;
333 virtual sal_Int32 SAL_CALL getHyperLinkIndex( sal_Int32 nCharIndex )
override;
335 virtual sal_Int32 SAL_CALL getCaretPosition( )
override;
336 virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex )
override;
337 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex )
override;
338 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex,
const css::uno::Sequence< OUString >& aRequestedAttributes )
override;
339 virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex )
override;
340 virtual sal_Int32 SAL_CALL getCharacterCount( )
override;
341 virtual sal_Int32 SAL_CALL getIndexAtPoint(
const css::awt::Point& aPoint )
override;
342 virtual OUString SAL_CALL getSelectedText( )
override;
343 virtual sal_Int32 SAL_CALL getSelectionStart( )
override;
344 virtual sal_Int32 SAL_CALL getSelectionEnd( )
override;
345 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
346 virtual OUString SAL_CALL getText( )
override;
347 virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
348 virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
349 virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
350 virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
351 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
352 virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType)
override;
356 const css::uno::Reference< css::drawing::XShape >&
383 std::unique_ptr<AccessibleTextHelper>
mpText;
396 virtual void SAL_CALL disposing()
override;
403 CreateAccessibleBaseName();
409 CreateAccessibleName()
override;
414 virtual OUString GetStyle()
const;
430 void UpdateNameAndDescription();
@descr This class is a container for the information specific for a single shape that is passed to th...
This class bundles all information that is passed down the tree of accessible shapes so that each sha...
This base class provides a base implementation for all shapes.
void disposing(const css::lang::EventObject &Source)
Listen for disposing events of the model.
css::uno::Reference< css::drawing::XShape > mxShape
Reference to the actual shape.
sal_Int32 m_nIndexInParent
the index in parent.
std::unique_ptr< AccessibleTextHelper > mpText
The accessible text engine.
SdrObject * m_pShape
This object can be removed when we have an extra interface to ask if the shape is selected.
AccessibleShapeTreeInfo maShapeTreeInfo
Bundle of information passed to all shapes in a document tree.
std::unique_ptr< ChildrenManager > mpChildrenManager
Children manager. May be empty if there are no children.
const css::uno::Reference< css::drawing::XShape > & GetXShape() const
void setIndexInParent(sal_Int32 _nIndex)
set the index _nIndex at the accessible shape
IAccessibleParent * mpParent
This object can be used to modify the child list of our parent.
AccessibleShape(const AccessibleShape &)=delete
This interface contains methods missing from the XAccessibleContext interface that allow the modifica...
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
#define UNO3_GETIMPLEMENTATION_DECL(classname)
uno::Reference< drawing::XShape > const mxShape