24 #include <com/sun/star/accessibility/XAccessibleComponent.hpp>
25 #include <com/sun/star/accessibility/XAccessibleContext3.hpp>
26 #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
27 #include <com/sun/star/lang/XServiceInfo.hpp>
37 class AccessibleStateSetHelper;
40 class AccessibleShape;
46 public ::cppu::WeakImplHelper<
47 css::accessibility::XAccessible,
48 css::accessibility::XAccessibleContext,
49 css::accessibility::XAccessibleContext3,
50 css::accessibility::XAccessibleComponent,
51 css::accessibility::XAccessibleEventBroadcaster,
52 css::lang::XServiceInfo
60 #if OSL_DEBUG_LEVEL > 0
72 css::uno::WeakReference <
79 std::weak_ptr<SwAccessibleMap>
m_wMap;
100 void SetName(
const OUString& rName ) { m_sName = rName; }
108 css::uno::Reference< css::accessibility::XAccessible>
GetWeakParent()
const;
158 bool bRecursive,
bool bCanSkipInvisible);
193 m_isRegisteredAtAccessibleMap =
false;
202 css::uno::Reference< css::accessibility::XAccessible>
207 sal_Int16 nRole,
const SwFrame *pFrame );
212 virtual css::uno::Reference< css::accessibility::XAccessibleContext> SAL_CALL
221 virtual css::uno::Reference< css::accessibility::XAccessible> SAL_CALL
224 virtual css::uno::Sequence<css::uno::Reference< css::accessibility::XAccessible>> SAL_CALL
228 virtual css::uno::Reference< css::accessibility::XAccessible> SAL_CALL
232 virtual sal_Int32 SAL_CALL
236 virtual sal_Int16 SAL_CALL
242 virtual OUString SAL_CALL
246 virtual css::uno::Reference<
247 css::accessibility::XAccessibleRelationSet> SAL_CALL
251 virtual css::uno::Reference<
252 css::accessibility::XAccessibleStateSet> SAL_CALL
257 virtual css::lang::Locale SAL_CALL
263 const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener )
override;
265 const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener )
override;
269 const css::awt::Point& aPoint )
override;
272 const css::awt::Point& aPoint )
override;
274 virtual css::awt::Rectangle SAL_CALL
getBounds()
override;
276 virtual css::awt::Point SAL_CALL
getLocation()
override;
280 virtual css::awt::Size SAL_CALL
getSize()
override;
282 virtual void SAL_CALL
grabFocus()
override;
298 virtual void Dispose(
bool bRecursive,
bool bCanSkipInvisible =
true);
344 return Select( &rPaM,
nullptr,
false );
348 return Select(
nullptr, pObj, bAdd );
356 const OUString *pArg1 =
nullptr,
357 const OUString *pArg2 =
nullptr);
void ScrolledOut(const SwRect &rOldVisArea)
css::uno::Reference< css::accessibility::XAccessible > getAccessibleParentImpl()
sal_Int16 GetRole() const
std::weak_ptr< SwAccessibleMap > m_wMap
note: the m_pMap is guaranteed to be valid until we hit the dtor ~SwAccessibleContext, then m_wMap must be checked if it's still alive, after locking SolarMutex (alternatively, Dispose clears m_pMap)
Base class of the Writer layout elements.
virtual css::awt::Point SAL_CALL getLocation() override
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point &aPoint) override
virtual css::awt::Size SAL_CALL getSize() override
void FireAccessibleEvent(css::accessibility::AccessibleEventObject &rEvent)
static OUString GetResource(const char *pResId, const OUString *pArg1=nullptr, const OUString *pArg2=nullptr)
virtual void InvalidateCursorPos_()
virtual void InvalidateChildPosOrSize(const sw::access::SwAccessibleChild &rFrameOrObj, const SwRect &rFrame)
void ChildrenScrolled(const SwFrame *pFrame, const SwRect &rOldVisArea)
virtual sal_Int32 SAL_CALL getAccessibleChildCount() override
void SetParent(SwAccessibleContext *pParent)
virtual sal_Int32 SAL_CALL getForeground() override
void DisposeChildren(const SwFrame *pFrame, bool bRecursive, bool bCanSkipInvisible)
vcl::Window * GetWindow()
void NotRegisteredAtAccessibleMap()
void Scrolled(const SwRect &rOldVisArea)
virtual void SAL_CALL grabFocus() override
SwViewShell * GetShell()
convenience method to get the SwViewShell through accessibility map
virtual css::lang::Locale SAL_CALL getLocale() override
Return the parents locale or throw exception if this object has no parent yet/anymore.
vcl::Window * GetAdditionalAccessibleChild(const sal_Int32 nIndex)
#i88070# - get additional accessible child by index
Of course Writer needs its own rectangles.
SwAccessibleContext(std::shared_ptr< SwAccessibleMap > const &pMap, sal_Int16 nRole, const SwFrame *pFrame)
SwCursorShell * GetCursorShell()
convenience method to get SwCursorShell through accessibility map
virtual sal_Bool SAL_CALL supportsService(const OUString &sServiceName) override
Return whether the specified service is supported by this class.
SwViewShell * GetShell() const
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
constexpr OUStringLiteral sServiceName
void GetAdditionalAccessibleChildren(std::vector< vcl::Window * > *pChildren)
#i88070# - get all additional accessible children
constexpr OUStringLiteral sAccessibleServiceName
virtual void InvalidateContent_(bool bVisibleDataFired)
virtual void DisposeChild(const sw::access::SwAccessibleChild &rFrameOrObj, bool bRecursive, bool bCanSkipInvisible)
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
bool Select(SwPaM *pPaM, SdrObject *pObj, bool bAdd)
void FireStateChangedEvent(sal_Int16 nState, bool bNewState)
PaM is Point and Mark: a selection of the document model.
const OUString & GetName() const
bool HasAdditionalAccessibleChildren()
void InvalidateChildrenStates(const SwFrame *_pFrame, AccessibleStates _nStates)
void InvalidateStates(AccessibleStates _nStates)
void InvalidateAttr()
#i88069# - attributes has changed
bool m_isRegisteredAtAccessibleMap
const SwViewShell * GetShell() const
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
void InvalidateRelation(sal_uInt16 nType)
virtual void InvalidatePosOrSize(const SwRect &rFrame)
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int32 nIndex) override
css::uno::WeakReference< css::accessibility::XAccessible > m_xWeakParent
virtual css::awt::Rectangle SAL_CALL getBounds() override
void ScrolledWithin(const SwRect &rOldVisArea)
void ScrolledInShape(::accessibility::AccessibleShape *pAccImpl)
void DisposeShape(const SdrObject *pObj,::accessibility::AccessibleShape *pAccImpl)
css::awt::Rectangle getBoundsImpl(bool bRelative)
Get bounding box.
virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() override
virtual sal_Int32 SAL_CALL getBackground() override
void RemoveFrameFromAccessibleMap()
virtual OUString SAL_CALL getAccessibleName() override
bool IsSeletedInDoc() const
virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override
virtual void Dispose(bool bRecursive, bool bCanSkipInvisible=true)
virtual void GetStates(::utl::AccessibleStateSetHelper &rStateSet)
virtual bool SetSelectedState(bool bSeleted)
void InvalidateCursorPos()
void InvalidateTextSelection()
#i27301# - text selection has changed
css::uno::Reference< css::accessibility::XAccessible > GetWeakParent() const
SwAccessibleMap * GetMap()
virtual void InvalidateFocus_()
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
mutable::osl::Mutex m_Mutex
bool Select(SdrObject *pObj, bool bAdd)
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
void FireVisibleDataEvent()
virtual css::uno::Sequence< css::uno::Reference< css::accessibility::XAccessible > > SAL_CALL getAccessibleChildren() override
void SetName(const OUString &rName)
virtual ~SwAccessibleContext() override
const SwAccessibleMap * GetMap() const