diff options
author | Michael Weghorn <m.weghorn@posteo.de> | 2025-01-23 17:29:32 +0100 |
---|---|---|
committer | Michael Weghorn <m.weghorn@posteo.de> | 2025-01-24 07:38:15 +0100 |
commit | c6c471546ee82d939092da3ac25a6548145c56c9 (patch) | |
tree | 296a18144c889028fe416800d17376ec4d616f91 /toolkit | |
parent | 80409cacf1ea34f395848875d304326d2755e5c5 (diff) |
toolkit a11y: Use pointers/refs to concrete TableControl class
Use pointers/references to the concrete TableControl class
instead of the interface (abstract base class) IAccessibleTable,
now that all relevant code is located inside toolkit since
Change-Id: Ic93796bce96916192da7cfffcf1faf00905373c7
Author: Michael Weghorn <m.weghorn@posteo.de>
Date: Thu Jan 23 16:26:57 2025 +0100
a11y: Move AccessibleGridControl* classes to toolkit
and there's no more need to use an abstract interface to avoid
dependencies between multiple modules anymore.
As requested by loplugin:vclwidgets, use a VclPtr now
for AccessibleGridControlAccess::m_pTable (now renamed
to `m_xTable`).
Getting rid of the IAccessibleTable base class altogether
can be considered for a separate commit.
Change-Id: I5c8c8ae22db3a7b3e1ba8cb751482a647bb9663a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180670
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Diffstat (limited to 'toolkit')
14 files changed, 35 insertions, 28 deletions
diff --git a/toolkit/inc/controls/table/AccessibleGridControl.hxx b/toolkit/inc/controls/table/AccessibleGridControl.hxx index ee9fe3546b40..5fa510c16a14 100644 --- a/toolkit/inc/controls/table/AccessibleGridControl.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControl.hxx @@ -21,10 +21,10 @@ #include "AccessibleGridControlBase.hxx" #include "AccessibleGridControlTable.hxx" +#include "tablecontrol.hxx" #include <cppuhelper/weakref.hxx> #include <rtl/ref.hxx> -#include <vcl/accessibletable.hxx> namespace accessibility { @@ -39,7 +39,7 @@ class AccessibleGridControl final : public AccessibleGridControlBase AccessibleGridControl( const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, const css::uno::Reference< css::accessibility::XAccessible >& _rxCreator, - ::vcl::table::IAccessibleTable& _rTable + svt::table::TableControl& _rTable ); virtual ~AccessibleGridControl() override = default; @@ -165,13 +165,13 @@ class AccessibleGridControlAccess final { private: css::uno::Reference< css::accessibility::XAccessible > m_xParent; - ::vcl::table::IAccessibleTable * m_pTable; + VclPtr<svt::table::TableControl> m_xTable; rtl::Reference<AccessibleGridControl> m_xContext; public: AccessibleGridControlAccess( css::uno::Reference< css::accessibility::XAccessible > _xParent, - ::vcl::table::IAccessibleTable& _rTable + svt::table::TableControl& _rTable ); /// returns the AccessibleContext belonging to this Accessible diff --git a/toolkit/inc/controls/table/AccessibleGridControlBase.hxx b/toolkit/inc/controls/table/AccessibleGridControlBase.hxx index 4e30bddda541..e4a406cb6ebc 100644 --- a/toolkit/inc/controls/table/AccessibleGridControlBase.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControlBase.hxx @@ -20,7 +20,8 @@ #pragma once -#include <vcl/accessibletable.hxx> +#include <controls/table/tablecontrol.hxx> + #include <rtl/ustring.hxx> #include <rtl/ref.hxx> #include <tools/gen.hxx> @@ -62,7 +63,7 @@ public: @param eObjType Type of accessible table control. */ AccessibleGridControlBase( css::uno::Reference< css::accessibility::XAccessible > xParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType ); protected: @@ -240,7 +241,7 @@ protected: /** The parent accessible object. */ css::uno::Reference< css::accessibility::XAccessible > m_xParent; /** The SVT Table control. */ - ::vcl::table::IAccessibleTable& m_aTable; + svt::table::TableControl& m_aTable; /** The type of this object (for names, descriptions, state sets, ...). */ ::vcl::table::AccessibleTableControlObjType m_eObjType; @@ -266,7 +267,7 @@ protected: */ GridControlAccessibleElement( const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType ); protected: diff --git a/toolkit/inc/controls/table/AccessibleGridControlHeader.hxx b/toolkit/inc/controls/table/AccessibleGridControlHeader.hxx index f993907b85a0..f6cd074a71d7 100644 --- a/toolkit/inc/controls/table/AccessibleGridControlHeader.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControlHeader.hxx @@ -21,6 +21,7 @@ #pragma once #include <controls/table/AccessibleGridControlTableBase.hxx> +#include <controls/table/tablecontrol.hxx> namespace accessibility { @@ -38,7 +39,7 @@ public: AccessibleGridControlHeader( const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType ); private: diff --git a/toolkit/inc/controls/table/AccessibleGridControlHeaderCell.hxx b/toolkit/inc/controls/table/AccessibleGridControlHeaderCell.hxx index 8f3022807e13..20d71e381b45 100644 --- a/toolkit/inc/controls/table/AccessibleGridControlHeaderCell.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControlHeaderCell.hxx @@ -19,6 +19,7 @@ #pragma once #include <controls/table/AccessibleGridControlTableCell.hxx> +#include <controls/table/tablecontrol.hxx> namespace accessibility { @@ -28,7 +29,7 @@ namespace accessibility public: AccessibleGridControlHeaderCell(sal_Int32 _nColumnRowId, const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& _rTable, + svt::table::TableControl& _rTable, ::vcl::table::AccessibleTableControlObjType _eObjType); /** @return The count of visible children. */ virtual sal_Int64 SAL_CALL getAccessibleChildCount() override; diff --git a/toolkit/inc/controls/table/AccessibleGridControlTable.hxx b/toolkit/inc/controls/table/AccessibleGridControlTable.hxx index c2da21496119..b4ebfa3b2f85 100644 --- a/toolkit/inc/controls/table/AccessibleGridControlTable.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControlTable.hxx @@ -40,7 +40,7 @@ class AccessibleGridControlTable final : public AccessibleGridControlTableBase, public: AccessibleGridControlTable( const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& rTable); + svt::table::TableControl& rTable); private: virtual ~AccessibleGridControlTable() override = default; diff --git a/toolkit/inc/controls/table/AccessibleGridControlTableBase.hxx b/toolkit/inc/controls/table/AccessibleGridControlTableBase.hxx index 2da1b6c007a0..c5869ed22cef 100644 --- a/toolkit/inc/controls/table/AccessibleGridControlTableBase.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControlTableBase.hxx @@ -21,6 +21,8 @@ #pragma once #include <controls/table/AccessibleGridControlBase.hxx> +#include <controls/table/tablecontrol.hxx> + #include <cppuhelper/implbase1.hxx> #include <com/sun/star/accessibility/XAccessibleTable.hpp> @@ -44,7 +46,7 @@ public: @param eObjType Type of table control object */ AccessibleGridControlTableBase( const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType ); protected: diff --git a/toolkit/inc/controls/table/AccessibleGridControlTableCell.hxx b/toolkit/inc/controls/table/AccessibleGridControlTableCell.hxx index 0cf3738b9a79..dbc62ff09796 100644 --- a/toolkit/inc/controls/table/AccessibleGridControlTableCell.hxx +++ b/toolkit/inc/controls/table/AccessibleGridControlTableCell.hxx @@ -19,6 +19,7 @@ #pragma once #include <controls/table/AccessibleGridControlBase.hxx> +#include <controls/table/tablecontrol.hxx> #include <comphelper/accessibletexthelper.hxx> #include <cppuhelper/implbase2.hxx> @@ -48,7 +49,7 @@ namespace accessibility protected: AccessibleGridControlCell( const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::vcl::table::IAccessibleTable& _rTable, + svt::table::TableControl& _rTable, sal_Int32 _nRowPos, sal_uInt16 _nColPos, ::vcl::table::AccessibleTableControlObjType _eType @@ -79,7 +80,7 @@ namespace accessibility public: AccessibleGridControlTableCell( const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, - ::vcl::table::IAccessibleTable& _rTable, + svt::table::TableControl& _rTable, sal_Int32 _nRowId, sal_uInt16 _nColId); diff --git a/toolkit/source/controls/table/AccessibleGridControl.cxx b/toolkit/source/controls/table/AccessibleGridControl.cxx index 0cdabc96a6bb..ebfbd809b5a7 100644 --- a/toolkit/source/controls/table/AccessibleGridControl.cxx +++ b/toolkit/source/controls/table/AccessibleGridControl.cxx @@ -41,7 +41,7 @@ using namespace ::vcl::table; AccessibleGridControl::AccessibleGridControl( const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, const css::uno::Reference< css::accessibility::XAccessible >& _rxCreator, - ::vcl::table::IAccessibleTable& _rTable ) + svt::table::TableControl& _rTable ) : AccessibleGridControlBase(_rxParent, _rTable, AccessibleTableControlObjType::GRIDCONTROL), m_aCreator(_rxCreator) { @@ -307,9 +307,9 @@ void AccessibleGridControl::commitTableEvent(sal_Int16 _nEventId,const Any& _rNe AccessibleGridControlAccess::AccessibleGridControlAccess( - css::uno::Reference< css::accessibility::XAccessible > xParent, ::vcl::table::IAccessibleTable& rTable ) + css::uno::Reference<css::accessibility::XAccessible> xParent, svt::table::TableControl& rTable ) : m_xParent(std::move( xParent )) - , m_pTable( & rTable ) + , m_xTable(& rTable) { } @@ -323,7 +323,7 @@ void AccessibleGridControlAccess::DisposeAccessImpl() { SolarMutexGuard g; - m_pTable = nullptr; + m_xTable.clear(); if (m_xContext.is()) { m_xContext->dispose(); @@ -341,8 +341,8 @@ css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL Accessibl if ( m_xContext.is() && !m_xContext->isAlive() ) m_xContext = nullptr; - if (!m_xContext.is() && m_pTable) - m_xContext = new AccessibleGridControl(m_xParent, this, *m_pTable); + if (!m_xContext.is() && m_xTable) + m_xContext = new AccessibleGridControl(m_xParent, this, *m_xTable); return m_xContext; } diff --git a/toolkit/source/controls/table/AccessibleGridControlBase.cxx b/toolkit/source/controls/table/AccessibleGridControlBase.cxx index 015baa8a8d11..df9edea866ab 100644 --- a/toolkit/source/controls/table/AccessibleGridControlBase.cxx +++ b/toolkit/source/controls/table/AccessibleGridControlBase.cxx @@ -18,6 +18,7 @@ */ #include <controls/table/AccessibleGridControlBase.hxx> + #include <utility> #include <vcl/accessibletable.hxx> #include <vcl/svapp.hxx> @@ -49,7 +50,7 @@ using namespace com::sun::star::accessibility::AccessibleStateType; AccessibleGridControlBase::AccessibleGridControlBase( css::uno::Reference< css::accessibility::XAccessible > xParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType ) : AccessibleGridControlImplHelper( m_aMutex ), m_xParent(std::move( xParent )), @@ -428,7 +429,7 @@ sal_Int32 SAL_CALL AccessibleGridControlBase::getBackground( ) GridControlAccessibleElement::GridControlAccessibleElement( const css::uno::Reference< css::accessibility::XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType ) : GridControlAccessibleElement_Base(rxParent, rTable, eObjType) { diff --git a/toolkit/source/controls/table/AccessibleGridControlHeader.cxx b/toolkit/source/controls/table/AccessibleGridControlHeader.cxx index c7d70ef88bb3..6bee8e8b99ac 100644 --- a/toolkit/source/controls/table/AccessibleGridControlHeader.cxx +++ b/toolkit/source/controls/table/AccessibleGridControlHeader.cxx @@ -41,7 +41,7 @@ namespace accessibility { AccessibleGridControlHeader::AccessibleGridControlHeader( const Reference< XAccessible >& rxParent, - ::vcl::table::IAccessibleTable& rTable, + svt::table::TableControl& rTable, ::vcl::table::AccessibleTableControlObjType eObjType): AccessibleGridControlTableBase( rxParent, rTable, eObjType ) { diff --git a/toolkit/source/controls/table/AccessibleGridControlHeaderCell.cxx b/toolkit/source/controls/table/AccessibleGridControlHeaderCell.cxx index 674052935492..f0b50675a00a 100644 --- a/toolkit/source/controls/table/AccessibleGridControlHeaderCell.cxx +++ b/toolkit/source/controls/table/AccessibleGridControlHeaderCell.cxx @@ -33,7 +33,7 @@ namespace accessibility AccessibleGridControlHeaderCell::AccessibleGridControlHeaderCell(sal_Int32 _nColumnRowId, const Reference< XAccessible >& rxParent, - IAccessibleTable& rTable, + svt::table::TableControl& rTable, AccessibleTableControlObjType eObjType) : AccessibleGridControlCell(rxParent, rTable, (eObjType == AccessibleTableControlObjType::ROWHEADERCELL) ? _nColumnRowId : 0, diff --git a/toolkit/source/controls/table/AccessibleGridControlTable.cxx b/toolkit/source/controls/table/AccessibleGridControlTable.cxx index 4ec7d08fcd31..2e5bd46797f7 100644 --- a/toolkit/source/controls/table/AccessibleGridControlTable.cxx +++ b/toolkit/source/controls/table/AccessibleGridControlTable.cxx @@ -43,7 +43,7 @@ namespace accessibility { AccessibleGridControlTable::AccessibleGridControlTable( const Reference< XAccessible >& rxParent, - IAccessibleTable& rTable) : + svt::table::TableControl& rTable) : AccessibleGridControlTableBase(rxParent, rTable, AccessibleTableControlObjType::TABLE) { } diff --git a/toolkit/source/controls/table/AccessibleGridControlTableBase.cxx b/toolkit/source/controls/table/AccessibleGridControlTableBase.cxx index 16614ad0b1d1..a11604a4ca00 100644 --- a/toolkit/source/controls/table/AccessibleGridControlTableBase.cxx +++ b/toolkit/source/controls/table/AccessibleGridControlTableBase.cxx @@ -39,7 +39,7 @@ namespace accessibility { AccessibleGridControlTableBase::AccessibleGridControlTableBase( const Reference< XAccessible >& rxParent, - IAccessibleTable& rTable, + svt::table::TableControl& rTable, AccessibleTableControlObjType eObjType ) : AccessibleGridControlTableImplHelper( rxParent, rTable, eObjType ) { diff --git a/toolkit/source/controls/table/AccessibleGridControlTableCell.cxx b/toolkit/source/controls/table/AccessibleGridControlTableCell.cxx index 897d38136645..2aba147012b4 100644 --- a/toolkit/source/controls/table/AccessibleGridControlTableCell.cxx +++ b/toolkit/source/controls/table/AccessibleGridControlTableCell.cxx @@ -52,7 +52,7 @@ namespace accessibility AccessibleGridControlCell::AccessibleGridControlCell( - const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, ::vcl::table::IAccessibleTable& _rTable, + const css::uno::Reference< css::accessibility::XAccessible >& _rxParent, svt::table::TableControl& _rTable, sal_Int32 _nRowPos, sal_uInt16 _nColPos, ::vcl::table::AccessibleTableControlObjType _eType ) :AccessibleGridControlBase( _rxParent, _rTable, _eType ) ,m_nRowPos( _nRowPos ) @@ -99,7 +99,7 @@ namespace accessibility } AccessibleGridControlTableCell::AccessibleGridControlTableCell(const css::uno::Reference<XAccessible >& _rxParent, - ::vcl::table::IAccessibleTable& _rTable, + svt::table::TableControl& _rTable, sal_Int32 _nRowPos, sal_uInt16 _nColPos) :AccessibleGridControlCell(_rxParent, _rTable, _nRowPos, _nColPos, AccessibleTableControlObjType::TABLECELL) |