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; }