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>
56 namespace beans {
struct PropertyValue; }
57 namespace document {
struct EventObject; }
58 namespace drawing {
class XShape; }
66 class AccessibleShapeInfo;
67 class AccessibleTextHelper;
68 class ChildrenManager;
69 class IAccessibleParent;
98 public css::accessibility::XAccessibleSelection,
99 public css::accessibility::XAccessibleExtendedAttributes,
100 public css::accessibility::XAccessibleGroupPosition,
101 public css::accessibility::XAccessibleHypertext,
103 public css::document::XShapeEventListener,
104 public css::lang::XUnoTunnel
128 virtual OUString SAL_CALL getAccessibleName()
override;
129 virtual OUString SAL_CALL getAccessibleDescription()
override;
130 virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet> SAL_CALL getAccessibleRelationSet()
override;
133 virtual void SAL_CALL selectAccessibleChild(
134 sal_Int32 nChildIndex )
override;
136 virtual sal_Bool SAL_CALL isAccessibleChildSelected(
137 sal_Int32 nChildIndex )
override;
139 virtual void SAL_CALL clearAccessibleSelection( )
override;
141 virtual void SAL_CALL selectAllAccessibleChildren( )
override;
143 virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount( )
override;
145 virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(
146 sal_Int32 nSelectedChildIndex )
override;
148 virtual void SAL_CALL deselectAccessibleChild(
149 sal_Int32 nSelectedChildIndex )
override;
152 virtual css::uno::Any SAL_CALL getExtendedAttributes()
override ;
154 virtual sal_Int16 SAL_CALL getAccessibleRole()
override;
156 virtual css::uno::Sequence< sal_Int32 > SAL_CALL
157 getGroupPosition(
const css::uno::Any& rAny )
override;
158 virtual OUString SAL_CALL getObjectLink(
const css::uno::Any& accoject )
override;
181 virtual bool SetState (sal_Int16 aState)
override;
195 virtual bool ResetState (sal_Int16 aState)
override;
208 bool GetState (sal_Int16 aState);
214 virtual sal_Int32 SAL_CALL
215 getAccessibleChildCount()
override;
226 virtual css::uno::Reference<
227 css::accessibility::XAccessible> SAL_CALL
228 getAccessibleChild (sal_Int32
nIndex)
override;
232 virtual css::uno::Reference<
233 css::accessibility::XAccessibleStateSet> SAL_CALL
234 getAccessibleStateSet()
override;
237 virtual sal_Int32 SAL_CALL
238 getAccessibleIndexInParent()
override;
242 virtual css::uno::Reference<
243 css::accessibility::XAccessible > SAL_CALL
244 getAccessibleAtPoint (
const css::awt::Point& aPoint)
override;
246 virtual css::awt::Rectangle SAL_CALL getBounds()
override;
248 virtual css::awt::Point SAL_CALL getLocation()
override;
250 virtual css::awt::Point SAL_CALL getLocationOnScreen()
override;
252 virtual css::awt::Size SAL_CALL getSize()
override;
254 virtual sal_Int32 SAL_CALL getForeground()
override;
256 virtual sal_Int32 SAL_CALL getBackground()
override;
266 virtual void SAL_CALL
267 addAccessibleEventListener (
268 const css::uno::Reference<
269 css::accessibility::XAccessibleEventListener >& rxListener)
override;
278 virtual void SAL_CALL
279 removeAccessibleEventListener (
280 const css::uno::Reference<
281 css::accessibility::XAccessibleEventListener >& rxListener)
override;
286 virtual css::uno::Any SAL_CALL
289 virtual void SAL_CALL
293 virtual void SAL_CALL
302 virtual OUString SAL_CALL
305 virtual css::uno::Sequence< OUString> SAL_CALL
310 virtual css::uno::Sequence< css::uno::Type> SAL_CALL
314 virtual void ViewForwarderChanged()
override;
319 void disposing (
const css::lang::EventObject&
Source);
323 virtual void SAL_CALL
324 notifyShapeEvent (
const css::document::EventObject& rEventObject)
override;
332 virtual sal_Int32 SAL_CALL getHyperLinkCount()
override;
333 virtual css::uno::Reference< css::accessibility::XAccessibleHyperlink >
334 SAL_CALL getHyperLink( sal_Int32 nLinkIndex )
override;
335 virtual sal_Int32 SAL_CALL getHyperLinkIndex( sal_Int32 nCharIndex )
override;
337 virtual sal_Int32 SAL_CALL getCaretPosition( )
override;
338 virtual sal_Bool SAL_CALL setCaretPosition( sal_Int32 nIndex )
override;
339 virtual sal_Unicode SAL_CALL getCharacter( sal_Int32 nIndex )
override;
340 virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes( sal_Int32 nIndex,
const css::uno::Sequence< OUString >& aRequestedAttributes )
override;
341 virtual css::awt::Rectangle SAL_CALL getCharacterBounds( sal_Int32 nIndex )
override;
342 virtual sal_Int32 SAL_CALL getCharacterCount( )
override;
343 virtual sal_Int32 SAL_CALL getIndexAtPoint(
const css::awt::Point& aPoint )
override;
344 virtual OUString SAL_CALL getSelectedText( )
override;
345 virtual sal_Int32 SAL_CALL getSelectionStart( )
override;
346 virtual sal_Int32 SAL_CALL getSelectionEnd( )
override;
347 virtual sal_Bool SAL_CALL setSelection( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
348 virtual OUString SAL_CALL getText( )
override;
349 virtual OUString SAL_CALL getTextRange( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
350 virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
351 virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
352 virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex( sal_Int32 nIndex, sal_Int16 aTextType )
override;
353 virtual sal_Bool SAL_CALL copyText( sal_Int32 nStartIndex, sal_Int32 nEndIndex )
override;
354 virtual sal_Bool SAL_CALL scrollSubstringTo( sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType)
override;
358 const css::uno::Reference< css::drawing::XShape >&
385 std::unique_ptr<AccessibleTextHelper>
mpText;
398 virtual void SAL_CALL disposing()
override;
405 CreateAccessibleBaseName();
411 CreateAccessibleName()
override;
416 virtual OUString GetStyle();
432 void UpdateNameAndDescription();
sal_Int32 m_nIndexInParent
the index in parent.
const css::uno::Reference< css::drawing::XShape > & GetXShape() const
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
#define UNO3_GETIMPLEMENTATION_DECL(classname)
This interface contains methods missing from the XAccessibleContext interface that allow the modifica...
uno::Reference< drawing::XShape > const mxShape
IAccessibleParent * mpParent
This object can be used to modify the child list of our parent.
std::unique_ptr< ChildrenManager > mpChildrenManager
Children manager. May be empty if there are no children.
css::uno::Reference< css::drawing::XShape > mxShape
Reference to the actual shape.
std::unique_ptr< AccessibleTextHelper > mpText
The accessible text engine.
AccessibleShapeTreeInfo maShapeTreeInfo
Bundle of information passed to all shapes in a document tree.
This base class provides a base implementation for all shapes.
exports com.sun.star. beans
exports com.sun.star. document
This class is a container for the information specific for a single shape that is passed to the const...
void setIndexInParent(sal_Int32 _nIndex)
set the index _nIndex at the accessible shape
SdrObject * m_pShape
This object can be removed when we have an extra interface to ask if the shape is selected...
This class bundles all information that is passed down the tree of accessible shapes so that each sha...
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)