include/vcl/accessiblefactory.hxx                                 |    8 ---
 toolkit/inc/controls/table/AccessibleGridControl.hxx              |   26 
+++-------
 toolkit/inc/controls/table/AccessibleGridControlBase.hxx          |    9 +--
 toolkit/inc/controls/table/AccessibleGridControlHeader.hxx        |    3 -
 toolkit/inc/controls/table/AccessibleGridControlHeaderCell.hxx    |    3 -
 toolkit/inc/controls/table/AccessibleGridControlTable.hxx         |    2 
 toolkit/inc/controls/table/AccessibleGridControlTableBase.hxx     |    4 +
 toolkit/inc/controls/table/AccessibleGridControlTableCell.hxx     |    5 +
 toolkit/source/controls/table/AccessibleGridControl.cxx           |   12 ++--
 toolkit/source/controls/table/AccessibleGridControlBase.cxx       |    5 +
 toolkit/source/controls/table/AccessibleGridControlHeader.cxx     |    2 
 toolkit/source/controls/table/AccessibleGridControlHeaderCell.cxx |    2 
 toolkit/source/controls/table/AccessibleGridControlTable.cxx      |    2 
 toolkit/source/controls/table/AccessibleGridControlTableBase.cxx  |    2 
 toolkit/source/controls/table/AccessibleGridControlTableCell.cxx  |    4 -
 15 files changed, 41 insertions(+), 48 deletions(-)

New commits:
commit d7412fdc0d422df7d3240307449ad602a6180508
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Thu Jan 23 17:54:37 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Jan 24 07:38:22 2025 +0100

    toolkit a11y: Drop AccessibleGridControlAccess::getContext
    
    No need for a public getter, as this is only used
    by the class itself, and that one can use the
    `m_xContext` member directly.
    
    Change-Id: Ice625a63e84512ac5d77fd26e8d67b4977eb48e6
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180671
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/toolkit/inc/controls/table/AccessibleGridControl.hxx 
b/toolkit/inc/controls/table/AccessibleGridControl.hxx
index 5fa510c16a14..de28396fc402 100644
--- a/toolkit/inc/controls/table/AccessibleGridControl.hxx
+++ b/toolkit/inc/controls/table/AccessibleGridControl.hxx
@@ -174,9 +174,6 @@ public:
         svt::table::TableControl& _rTable
     );
 
-    /// returns the AccessibleContext belonging to this Accessible
-    AccessibleGridControl*            getContext()  { return m_xContext.get(); 
}
-
     // XAccessible
     virtual css::uno::Reference< css::accessibility::XAccessibleContext >
         SAL_CALL getAccessibleContext() override;
@@ -188,24 +185,21 @@ public:
     void commitCellEvent(sal_Int16 nEventId, const css::uno::Any& rNewValue,
                          const css::uno::Any& rOldValue)
     {
-         AccessibleGridControl* pContext( getContext() );
-         if ( pContext )
-            pContext->commitCellEvent( nEventId, rNewValue, rOldValue );
+        if (m_xContext.is())
+            m_xContext->commitCellEvent( nEventId, rNewValue, rOldValue );
     }
 
     void commitTableEvent(sal_Int16 nEventId, const css::uno::Any& rNewValue,
                           const css::uno::Any& rOldValue)
     {
-         AccessibleGridControl* pContext( getContext() );
-         if ( pContext )
-            pContext->commitTableEvent( nEventId, rNewValue, rOldValue );
+        if (m_xContext.is())
+            m_xContext->commitTableEvent( nEventId, rNewValue, rOldValue );
     }
 
     void commitEvent(sal_Int16 nEventId, const css::uno::Any& rNewValue)
     {
-        AccessibleGridControl* pContext( getContext() );
-        if ( pContext )
-            pContext->commitEvent( nEventId, rNewValue, css::uno::Any() );
+        if (m_xContext.is())
+            m_xContext->commitEvent( nEventId, rNewValue, css::uno::Any() );
     }
 
 private:
commit c6c471546ee82d939092da3ac25a6548145c56c9
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Thu Jan 23 17:29:32 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Fri Jan 24 07:38:15 2025 +0100

    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.wegh...@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.wegh...@posteo.de>

diff --git a/include/vcl/accessiblefactory.hxx 
b/include/vcl/accessiblefactory.hxx
index e2fb122db35d..104c6198848a 100644
--- a/include/vcl/accessiblefactory.hxx
+++ b/include/vcl/accessiblefactory.hxx
@@ -62,14 +62,6 @@ class SvTreeListBox;
 class TextEngine;
 class TextView;
 
-namespace vcl
-{
-    namespace table
-    {
-    class IAccessibleTable;
-    }
-}
-
 class VCL_DLLPUBLIC AccessibleFactory
 {
 public:
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)

Reply via email to