sc/source/ui/Accessibility/AccessibleCsvControl.cxx |    9 +---
 sc/source/ui/inc/AccessibleCsvControl.hxx           |   39 ++++++++------------
 sc/source/ui/inc/csvcontrol.hxx                     |    2 -
 3 files changed, 21 insertions(+), 29 deletions(-)

New commits:
commit 6f5f4796823ac90298d245016fbd7e3c7117c63f
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Jun 4 12:39:26 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Jun 5 07:29:49 2025 +0200

    sc a11y: Return rtl::Reference, stop casting
    
    Casting to ScAccessibleCsvGrid is unnecessary, as
    only an XAccessible is needed, and that is already the
    case without casting at least now after
    
        Change-Id: Ia9f24ddebf6c67969c3bffcc7fb13ec0a37026b9
        Author: Michael Weghorn <m.wegh...@posteo.de>
        Date:   Wed Jun 4 11:00:48 2025 +0200
    
            sc a11y: Move XAccessible implementation to base class
    
    Change-Id: I5473e40202a16bf6a19380a1ba52fd1d204c88c8
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186192
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/sc/source/ui/Accessibility/AccessibleCsvControl.cxx 
b/sc/source/ui/Accessibility/AccessibleCsvControl.cxx
index 8280d9dcc51a..2ec872cd8c2d 100644
--- a/sc/source/ui/Accessibility/AccessibleCsvControl.cxx
+++ b/sc/source/ui/Accessibility/AccessibleCsvControl.cxx
@@ -297,7 +297,7 @@ Reference< XAccessibleRelationSet > SAL_CALL 
ScAccessibleCsvRuler::getAccessible
     ScCsvTableBox* pTableBox = rRuler.GetTableBox();
     ScCsvGrid& rGrid = pTableBox->GetGrid();
 
-    css::uno::Reference<css::accessibility::XAccessible> 
xAccObj(static_cast<ScAccessibleCsvGrid*>(rGrid.GetAccessible()));
+    css::uno::Reference<css::accessibility::XAccessible> xAccObj = 
rGrid.GetAccessible();
     if( xAccObj.is() )
     {
         Sequence<Reference<css::accessibility::XAccessible>> aSeq{ xAccObj };
@@ -839,7 +839,7 @@ Reference< XAccessibleRelationSet > SAL_CALL 
ScAccessibleCsvGrid::getAccessibleR
 
     if (rRuler.IsVisible())
     {
-        css::uno::Reference<css::accessibility::XAccessible> 
xAccObj(static_cast<ScAccessibleCsvGrid*>(rRuler.GetAccessible()));
+        css::uno::Reference<css::accessibility::XAccessible> xAccObj = 
rRuler.GetAccessible();
         if( xAccObj.is() )
         {
             Sequence<Reference<css::accessibility::XAccessible>> aSeq{ xAccObj 
};
@@ -1399,10 +1399,7 @@ css::awt::Rectangle ScAccessibleCsvCell::implGetBounds()
 css::uno::Reference<css::accessibility::XAccessible> SAL_CALL 
ScAccessibleCsvCell::getAccessibleParent()
 {
     ScCsvGrid& rGrid = implGetGrid();
-
-    ScAccessibleCsvGrid* pAcc = 
static_cast<ScAccessibleCsvGrid*>(rGrid.GetAccessible());
-
-    return pAcc;
+    return rGrid.GetAccessible();
 }
 
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/source/ui/inc/csvcontrol.hxx b/sc/source/ui/inc/csvcontrol.hxx
index 9a2bea44e93c..fd9201812316 100644
--- a/sc/source/ui/inc/csvcontrol.hxx
+++ b/sc/source/ui/inc/csvcontrol.hxx
@@ -253,7 +253,7 @@ public:
     /** Sends a table model changed event for a removed column to the 
accessibility object. */
     void                        AccSendRemoveColumnEvent( sal_uInt32 
nFirstColumn, sal_uInt32 nLastColumn );
 
-    ScAccessibleCsvControl*     GetAccessible() { return mxAccessible.get(); }
+    rtl::Reference<ScAccessibleCsvControl> GetAccessible() { return 
mxAccessible; }
 
     // repaint helpers --------------------------------------------------------
 
commit da97bdaf8952e9739fc85a414ccdf2361821d7e1
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Jun 4 11:00:48 2025 +0200
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Jun 5 07:29:43 2025 +0200

    sc a11y: Move XAccessible implementation to base class
    
    Let the ScAccessibleCsvControl base class implement
    the XAccessible interface, instead of doing so the
    same way in all subclasses separately.
    
    Change-Id: Ia9f24ddebf6c67969c3bffcc7fb13ec0a37026b9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/186184
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/sc/source/ui/inc/AccessibleCsvControl.hxx 
b/sc/source/ui/inc/AccessibleCsvControl.hxx
index cb1efc309353..73796820c662 100644
--- a/sc/source/ui/inc/AccessibleCsvControl.hxx
+++ b/sc/source/ui/inc/AccessibleCsvControl.hxx
@@ -37,7 +37,9 @@
 class ScCsvControl;
 
 /** Accessible base class used for CSV controls. */
-class ScAccessibleCsvControl : public comphelper::OAccessibleComponentHelper
+class ScAccessibleCsvControl
+    : public 
cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper,
+                                         css::accessibility::XAccessible>
 {
 private:
     ScCsvControl*               mpControl;          /// Pointer to the VCL 
control.
@@ -48,6 +50,12 @@ public:
 
     virtual void SAL_CALL disposing() override;
 
+    virtual css::uno::Reference<css::accessibility::XAccessibleContext>
+        SAL_CALL getAccessibleContext() override final
+    {
+        return this;
+    }
+
     virtual void SAL_CALL grabFocus(  ) override;
     virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL 
getAccessibleAtPoint( const css::awt::Point& aPoint ) override;
 
@@ -82,10 +90,8 @@ protected:
 class ScCsvRuler;
 
 /** Accessible class representing the CSV ruler control. */
-class ScAccessibleCsvRuler : public cppu::ImplInheritanceHelper<
-                                     ScAccessibleCsvControl,
-                                     css::accessibility::XAccessible,
-                                     css::accessibility::XAccessibleText>
+class ScAccessibleCsvRuler : public 
cppu::ImplInheritanceHelper<ScAccessibleCsvControl,
+                                                                
css::accessibility::XAccessibleText>
 {
 private:
     OUStringBuffer       maBuffer;   /// Contains the text representation of 
the ruler.
@@ -94,9 +100,6 @@ public:
     explicit                    ScAccessibleCsvRuler( ScCsvRuler& rRuler );
     virtual                     ~ScAccessibleCsvRuler() override;
 
-    // XAccessibleComponent 
-----------------------------------------------------
-    virtual css::uno::Reference< css::accessibility::XAccessibleContext > 
SAL_CALL getAccessibleContext(  ) override { return this; }
-
     virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL 
getAccessibleParent(  ) override;
 
     virtual OUString SAL_CALL getAccessibleDescription(  ) override;
@@ -213,11 +216,10 @@ class ScCsvGrid;
 class ScAccessibleCsvCell;
 
 /** Accessible class representing the CSV grid control. */
-class ScAccessibleCsvGrid : public cppu::ImplInheritanceHelper<
-                                ScAccessibleCsvControl,
-                                css::accessibility::XAccessible,
-                                css::accessibility::XAccessibleTable,
-                                css::accessibility::XAccessibleSelection>
+class ScAccessibleCsvGrid
+    : public cppu::ImplInheritanceHelper<ScAccessibleCsvControl,
+                                         css::accessibility::XAccessibleTable,
+                                         
css::accessibility::XAccessibleSelection>
 {
 protected:
     typedef std::map< sal_Int64, rtl::Reference<ScAccessibleCsvCell> > 
XAccessibleSet;
@@ -230,9 +232,6 @@ public:
     virtual                     ~ScAccessibleCsvGrid() override;
     virtual void SAL_CALL       disposing() override;
 
-    // XAccessibleComponent ---------------------------------------------------
-    virtual css::uno::Reference< css::accessibility::XAccessibleContext > 
SAL_CALL getAccessibleContext(  ) override { return this; }
-
     virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL 
getAccessibleParent(  ) override;
 
     /** Returns the cell at the specified point. */
@@ -399,10 +398,8 @@ private:
 };
 
 /** Accessible class representing a cell of the CSV grid control. */
-class ScAccessibleCsvCell : public cppu::ImplInheritanceHelper<
-                                ScAccessibleCsvControl,
-                                css::accessibility::XAccessible>
-                          , public ::accessibility::AccessibleStaticTextBase
+class ScAccessibleCsvCell : public 
cppu::ImplInheritanceHelper<ScAccessibleCsvControl>,
+                            public ::accessibility::AccessibleStaticTextBase
 {
 protected:
     typedef ::std::unique_ptr< SvxEditSource >      SvxEditSourcePtr;
@@ -429,8 +426,6 @@ public:
 
     virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL 
getAccessibleParent(  ) override;
 
-    virtual css::uno::Reference< css::accessibility::XAccessibleContext > 
SAL_CALL getAccessibleContext(  ) override { return this; }
-
     virtual OUString SAL_CALL getAccessibleDescription(  ) override;
     virtual OUString SAL_CALL getAccessibleName(  ) override;
     virtual sal_Int16 SAL_CALL getAccessibleRole(  ) override { return 
css::accessibility::AccessibleRole::TEXT; }

Reply via email to