accessibility/inc/extended/AccessibleIconView.hxx | 2 accessibility/inc/extended/accessiblelistbox.hxx | 2 accessibility/source/extended/AccessibleIconView.cxx | 3 accessibility/source/extended/accessiblelistbox.cxx | 5 - sw/source/uibase/docvw/SidebarWinAcc.cxx | 84 +++++++------------ sw/source/uibase/docvw/SidebarWinAcc.hxx | 19 ++++ 6 files changed, 58 insertions(+), 57 deletions(-)
New commits: commit e9a6ed092df2a0bd761b2f459fc2179682666c90 Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu Dec 12 15:32:12 2024 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu Dec 12 23:01:47 2024 +0100 sw a11y: Move SidebarWinAccessibleContext declaration to header This is in preparation of reworking the SidebarWinAccessible logic in upcoming commits. Change-Id: Ia1c9bf6a62d1cefb6147f82891361b0ced251263 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178367 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> diff --git a/sw/source/uibase/docvw/SidebarWinAcc.cxx b/sw/source/uibase/docvw/SidebarWinAcc.cxx index 3b2b4c758e93..d51d6848b429 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.cxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.cxx @@ -22,73 +22,57 @@ #include <viewsh.hxx> #include <accmap.hxx> -#include <toolkit/awt/vclxaccessiblecomponent.hxx> #include <vcl/svapp.hxx> #include <com/sun/star/accessibility/AccessibleRole.hpp> namespace sw::sidebarwindows { -namespace { - -// declaration and implementation of accessible context for <SidebarWinAccessible> instance -class SidebarWinAccessibleContext : public VCLXAccessibleComponent +// implementation of accessible context for <SidebarWinAccessible> instance +SidebarWinAccessibleContext::SidebarWinAccessibleContext( + sw::annotation::SwAnnotationWin& rSidebarWin, SwViewShell& rViewShell, + const SwFrame* pAnchorFrame) + : VCLXAccessibleComponent(dynamic_cast<VCLXWindow*>(rSidebarWin.CreateAccessible().get())) + , mrViewShell(rViewShell) + , mpAnchorFrame(pAnchorFrame) { - public: - explicit SidebarWinAccessibleContext( sw::annotation::SwAnnotationWin& rSidebarWin, - SwViewShell& rViewShell, - const SwFrame* pAnchorFrame ) - : VCLXAccessibleComponent( dynamic_cast<VCLXWindow*>(rSidebarWin.CreateAccessible().get()) ) - , mrViewShell( rViewShell ) - , mpAnchorFrame( pAnchorFrame ) - { - rSidebarWin.SetAccessibleRole( css::accessibility::AccessibleRole::COMMENT ); - } - - void ChangeAnchor( const SwFrame* pAnchorFrame ) - { - SolarMutexGuard aGuard; - - mpAnchorFrame = pAnchorFrame; - } + rSidebarWin.SetAccessibleRole(css::accessibility::AccessibleRole::COMMENT); +} - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL - getAccessibleParent() override - { - SolarMutexGuard aGuard; +void SidebarWinAccessibleContext::ChangeAnchor(const SwFrame* pAnchorFrame) +{ + SolarMutexGuard aGuard; - css::uno::Reference< css::accessibility::XAccessible > xAccParent; + mpAnchorFrame = pAnchorFrame; +} - if ( mpAnchorFrame && - mrViewShell.GetAccessibleMap() ) - { - xAccParent = mrViewShell.GetAccessibleMap()->GetContext( mpAnchorFrame, false ); - } +css::uno::Reference<css::accessibility::XAccessible> +SidebarWinAccessibleContext::getAccessibleParent() +{ + SolarMutexGuard aGuard; - return xAccParent; - } + css::uno::Reference<css::accessibility::XAccessible> xAccParent; - virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override - { - SolarMutexGuard aGuard; + if (mpAnchorFrame && mrViewShell.GetAccessibleMap()) + { + xAccParent = mrViewShell.GetAccessibleMap()->GetContext(mpAnchorFrame, false); + } - sal_Int64 nIndex( -1 ); + return xAccParent; +} - if ( mpAnchorFrame && GetWindow() && - mrViewShell.GetAccessibleMap() ) - { - nIndex = mrViewShell.GetAccessibleMap()->GetChildIndex( *mpAnchorFrame, - *GetWindow() ); - } +sal_Int64 SAL_CALL SidebarWinAccessibleContext::getAccessibleIndexInParent() +{ + SolarMutexGuard aGuard; - return nIndex; - } + sal_Int64 nIndex(-1); - private: - SwViewShell& mrViewShell; - const SwFrame* mpAnchorFrame; -}; + if (mpAnchorFrame && GetWindow() && mrViewShell.GetAccessibleMap()) + { + nIndex = mrViewShell.GetAccessibleMap()->GetChildIndex(*mpAnchorFrame, *GetWindow()); + } + return nIndex; } // implementation of accessible for <SwAnnotationWin> instance diff --git a/sw/source/uibase/docvw/SidebarWinAcc.hxx b/sw/source/uibase/docvw/SidebarWinAcc.hxx index 5453a42c9abf..b3c7dfa79700 100644 --- a/sw/source/uibase/docvw/SidebarWinAcc.hxx +++ b/sw/source/uibase/docvw/SidebarWinAcc.hxx @@ -19,6 +19,7 @@ #pragma once +#include <toolkit/awt/vclxaccessiblecomponent.hxx> #include <toolkit/awt/vclxwindow.hxx> class SwViewShell; @@ -28,6 +29,24 @@ namespace sw::annotation { class SwAnnotationWin; } namespace sw::sidebarwindows { +class SidebarWinAccessibleContext : public VCLXAccessibleComponent +{ +public: + explicit SidebarWinAccessibleContext(sw::annotation::SwAnnotationWin& rSidebarWin, + SwViewShell& rViewShell, const SwFrame* pAnchorFrame); + + void ChangeAnchor(const SwFrame* pAnchorFrame); + + virtual css::uno::Reference<css::accessibility::XAccessible> + SAL_CALL getAccessibleParent() override; + + virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override; + +private: + SwViewShell& mrViewShell; + const SwFrame* mpAnchorFrame; +}; + class SidebarWinAccessible : public VCLXWindow { public: commit 9486e163b6b563f5ddec6a56826e03ac16374d7b Author: Michael Weghorn <m.wegh...@posteo.de> AuthorDate: Thu Dec 12 13:32:11 2024 +0100 Commit: Michael Weghorn <m.wegh...@posteo.de> CommitDate: Thu Dec 12 23:01:34 2024 +0100 a11y: Pass non-const ref to AccessibleListBox ctor ... and to the AccessibleIconView subclass one, too. This is in preparation of switching the base class VCLXAccessibleComponent ctor to taking a vcl::Window* instead of a VCLXWindow* in an upcoming commit. Change-Id: I10074f4c6716c2c7cb3b800c75bec8200ee6208c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178366 Reviewed-by: Michael Weghorn <m.wegh...@posteo.de> Tested-by: Jenkins diff --git a/accessibility/inc/extended/AccessibleIconView.hxx b/accessibility/inc/extended/AccessibleIconView.hxx index d5ab5eafb198..5accfbdfe4c5 100644 --- a/accessibility/inc/extended/AccessibleIconView.hxx +++ b/accessibility/inc/extended/AccessibleIconView.hxx @@ -18,7 +18,7 @@ namespace accessibility class AccessibleIconView final : public AccessibleListBox { public: - AccessibleIconView(SvTreeListBox const& _rListBox, + AccessibleIconView(SvTreeListBox& _rListBox, const css::uno::Reference<css::accessibility::XAccessible>& _xParent); protected: diff --git a/accessibility/inc/extended/accessiblelistbox.hxx b/accessibility/inc/extended/accessiblelistbox.hxx index 7570bdbb5afe..61f4839ec481 100644 --- a/accessibility/inc/extended/accessiblelistbox.hxx +++ b/accessibility/inc/extended/accessiblelistbox.hxx @@ -68,7 +68,7 @@ namespace accessibility @param _xParent is our parent accessible object */ - AccessibleListBox( SvTreeListBox const & _rListBox, + AccessibleListBox(SvTreeListBox& _rListBox, const css::uno::Reference< css::accessibility::XAccessible >& _xParent ); virtual ~AccessibleListBox() override; diff --git a/accessibility/source/extended/AccessibleIconView.cxx b/accessibility/source/extended/AccessibleIconView.cxx index 25b5f39cdafe..82235c29b526 100644 --- a/accessibility/source/extended/AccessibleIconView.cxx +++ b/accessibility/source/extended/AccessibleIconView.cxx @@ -19,8 +19,7 @@ namespace accessibility { AccessibleIconView::AccessibleIconView( - SvTreeListBox const& _rListBox, - const css::uno::Reference<css::accessibility::XAccessible>& _xParent) + SvTreeListBox& _rListBox, const css::uno::Reference<css::accessibility::XAccessible>& _xParent) : AccessibleListBox(_rListBox, _xParent) { } diff --git a/accessibility/source/extended/accessiblelistbox.cxx b/accessibility/source/extended/accessiblelistbox.cxx index 8bdf8e84364a..5ad681d3b233 100644 --- a/accessibility/source/extended/accessiblelistbox.cxx +++ b/accessibility/source/extended/accessiblelistbox.cxx @@ -42,9 +42,8 @@ namespace accessibility // Ctor() and Dtor() - AccessibleListBox::AccessibleListBox( SvTreeListBox const & _rListBox, const Reference< XAccessible >& _xParent ) : - - ImplInheritanceHelper( _rListBox.GetWindowPeer() ), + AccessibleListBox::AccessibleListBox(SvTreeListBox& _rListBox, const Reference< XAccessible >& _xParent) + : ImplInheritanceHelper( _rListBox.GetWindowPeer() ), m_xParent( _xParent ) { }