include/svx/AccessibleTextHelper.hxx                       |    6 
 sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx    |    6 
 sc/source/ui/Accessibility/AccessiblePreviewCell.cxx       |    6 
 sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx |    6 
 solenv/clang-format/excludelist                            |    2 
 svx/source/accessibility/AccessibleTextEventQueue.cxx      |   93 +++++--------
 svx/source/accessibility/AccessibleTextEventQueue.hxx      |   92 ++++++------
 svx/source/accessibility/AccessibleTextHelper.cxx          |    6 
 8 files changed, 99 insertions(+), 118 deletions(-)

New commits:
commit 981cd9a52418beab7b7a6b0fb23d2a0cee81a4a8
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Aug 15 13:52:42 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Fri Aug 15 17:41:56 2025 +0200

    svx a11y: Return OAccessible in AccessibleTextHelper::GetAt
    
    ... instead of the abstract UNO interface XAccessible.
    
    Change-Id: I8e152f2d47946a13dd162077af13a85c90ce5209
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189685
    Reviewed-by: Michael Weghorn <[email protected]>
    Tested-by: Jenkins

diff --git a/include/svx/AccessibleTextHelper.hxx 
b/include/svx/AccessibleTextHelper.hxx
index 451885a5736e..e28667b72838 100644
--- a/include/svx/AccessibleTextHelper.hxx
+++ b/include/svx/AccessibleTextHelper.hxx
@@ -33,10 +33,6 @@ namespace com::sun::star
 {
 namespace accessibility
 {
-class XAccessible;
-}
-namespace accessibility
-{
 class XAccessibleEventListener;
 }
 namespace awt
@@ -372,7 +368,7 @@ public:
         @attention Don't call with locked mutexes. You may hold
         the solar mutex, but this method acquires it anyway.
     */
-    css::uno::Reference<css::accessibility::XAccessible> GetAt(const 
css::awt::Point& aPoint);
+    rtl::Reference<comphelper::OAccessible> GetAt(const css::awt::Point& 
aPoint);
 
 private:
     /// @dyn
diff --git a/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx 
b/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx
index 4e48a323470c..961cd71e6136 100644
--- a/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx
+++ b/sc/source/ui/Accessibility/AccessiblePageHeaderArea.cxx
@@ -96,7 +96,7 @@ void ScAccessiblePageHeaderArea::Notify( SfxBroadcaster& rBC, 
const SfxHint& rHi
 uno::Reference< XAccessible > SAL_CALL 
ScAccessiblePageHeaderArea::getAccessibleAtPoint(
         const awt::Point& rPoint )
 {
-    uno::Reference<XAccessible> xRet;
+    rtl::Reference<comphelper::OAccessible> pRet;
     if (containsPoint(rPoint))
     {
         SolarMutexGuard aGuard;
@@ -105,10 +105,10 @@ uno::Reference< XAccessible > SAL_CALL 
ScAccessiblePageHeaderArea::getAccessible
         if(!mpTextHelper)
             CreateTextHelper();
 
-        xRet = mpTextHelper->GetAt(rPoint);
+        pRet = mpTextHelper->GetAt(rPoint);
     }
 
-    return xRet;
+    return pRet;
 }
 
     //=====  XAccessibleContext  ==============================================
diff --git a/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx 
b/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx
index f1a9fa76ed34..ae6122609106 100644
--- a/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx
+++ b/sc/source/ui/Accessibility/AccessiblePreviewCell.cxx
@@ -89,7 +89,7 @@ void ScAccessiblePreviewCell::Notify( SfxBroadcaster& rBC, 
const SfxHint& rHint
 
 uno::Reference< XAccessible > SAL_CALL 
ScAccessiblePreviewCell::getAccessibleAtPoint( const awt::Point& rPoint )
 {
-    uno::Reference<XAccessible> xRet;
+    rtl::Reference<comphelper::OAccessible> pRet;
     if (containsPoint(rPoint))
     {
         SolarMutexGuard aGuard;
@@ -98,10 +98,10 @@ uno::Reference< XAccessible > SAL_CALL 
ScAccessiblePreviewCell::getAccessibleAtP
         if(!mpTextHelper)
             CreateTextHelper();
 
-        xRet = mpTextHelper->GetAt(rPoint);
+        pRet = mpTextHelper->GetAt(rPoint);
     }
 
-    return xRet;
+    return pRet;
 }
 
 void SAL_CALL ScAccessiblePreviewCell::grabFocus()
diff --git a/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx 
b/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx
index 2605c250c7b9..fba7b33878a5 100644
--- a/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx
+++ b/sc/source/ui/Accessibility/AccessiblePreviewHeaderCell.cxx
@@ -155,7 +155,7 @@ uno::Any SAL_CALL 
ScAccessiblePreviewHeaderCell::getMinimumIncrement()
 
 uno::Reference< XAccessible > SAL_CALL 
ScAccessiblePreviewHeaderCell::getAccessibleAtPoint( const awt::Point& rPoint )
 {
-    uno::Reference<XAccessible> xRet;
+    rtl::Reference<comphelper::OAccessible> pRet;
     if (containsPoint(rPoint))
     {
         SolarMutexGuard aGuard;
@@ -164,10 +164,10 @@ uno::Reference< XAccessible > SAL_CALL 
ScAccessiblePreviewHeaderCell::getAccessi
         if(!mxTextHelper)
             CreateTextHelper();
 
-        xRet = mxTextHelper->GetAt(rPoint);
+        pRet = mxTextHelper->GetAt(rPoint);
     }
 
-    return xRet;
+    return pRet;
 }
 
 void SAL_CALL ScAccessiblePreviewHeaderCell::grabFocus()
diff --git a/svx/source/accessibility/AccessibleTextHelper.cxx 
b/svx/source/accessibility/AccessibleTextHelper.cxx
index 339331011192..f91916bcdab5 100644
--- a/svx/source/accessibility/AccessibleTextHelper.cxx
+++ b/svx/source/accessibility/AccessibleTextHelper.cxx
@@ -1755,18 +1755,18 @@ void AccessibleTextHelper::RemoveEventListener( const 
uno::Reference< XAccessibl
 }
 
 // XAccessibleComponent
-uno::Reference< XAccessible > AccessibleTextHelper::GetAt( const awt::Point& 
aPoint )
+rtl::Reference<comphelper::OAccessible> AccessibleTextHelper::GetAt(const 
awt::Point& aPoint)
 {
     SolarMutexGuard aGuard;
 
 #ifdef DBG_UTIL
     mpImpl->CheckInvariants();
 
-    uno::Reference< XAccessible > xChild = mpImpl->getAccessibleAtPoint( 
aPoint );
+    rtl::Reference<comphelper::OAccessible> pChild = 
mpImpl->getAccessibleAtPoint(aPoint);
 
     mpImpl->CheckInvariants();
 
-    return xChild;
+    return pChild;
 #else
     return mpImpl->getAccessibleAtPoint( aPoint );
 #endif
commit a902095e76b96ca849a790c2b518a2b011505bc3
Author:     Michael Weghorn <[email protected]>
AuthorDate: Fri Aug 15 12:38:02 2025 +0200
Commit:     Michael Weghorn <[email protected]>
CommitDate: Fri Aug 15 17:41:46 2025 +0200

    svx a11y: clang-format AccessibleTextEventQueue
    
    This in particular gets rid of an extra level of
    indentation.
    
    Change-Id: I04a8c4f5ab1e15e70eea9f235681dab18b9db3cd
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189680
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <[email protected]>

diff --git a/solenv/clang-format/excludelist b/solenv/clang-format/excludelist
index 69c10ce88785..b1fa9509bd93 100644
--- a/solenv/clang-format/excludelist
+++ b/solenv/clang-format/excludelist
@@ -11149,8 +11149,6 @@ svx/source/accessibility/AccessibleOLEShape.cxx
 svx/source/accessibility/AccessibleShape.cxx
 svx/source/accessibility/AccessibleShapeInfo.cxx
 svx/source/accessibility/AccessibleShapeTreeInfo.cxx
-svx/source/accessibility/AccessibleTextEventQueue.cxx
-svx/source/accessibility/AccessibleTextEventQueue.hxx
 svx/source/accessibility/AccessibleTextHelper.cxx
 svx/source/accessibility/ChildrenManager.cxx
 svx/source/accessibility/ChildrenManagerImpl.cxx
diff --git a/svx/source/accessibility/AccessibleTextEventQueue.cxx 
b/svx/source/accessibility/AccessibleTextEventQueue.cxx
index 272f71c89d97..46b320c79b23 100644
--- a/svx/source/accessibility/AccessibleTextEventQueue.cxx
+++ b/svx/source/accessibility/AccessibleTextEventQueue.cxx
@@ -26,68 +26,55 @@
 
 namespace accessibility
 {
+// EventQueue implementation
 
+AccessibleTextEventQueue::AccessibleTextEventQueue() {}
 
-    // EventQueue implementation
+AccessibleTextEventQueue::~AccessibleTextEventQueue() { Clear(); }
 
+void AccessibleTextEventQueue::Append(const SdrHint& rHint)
+{
+    // only enqueue the events we actually care about in
+    // AccessibleTextHelper_Impl::ProcessQueue(), because
+    // the cost of some events adds up.
+    auto eKind = rHint.GetKind();
+    if (eKind == SdrHintKind::BeginEdit || eKind == SdrHintKind::EndEdit)
+        maEventQueue.push_back(new SdrHint(rHint));
+}
+
+void AccessibleTextEventQueue::Append(const TextHint& rHint)
+{
+    maEventQueue.push_back(new TextHint(rHint));
+}
 
-    AccessibleTextEventQueue::AccessibleTextEventQueue()
-    {
-    }
-
-    AccessibleTextEventQueue::~AccessibleTextEventQueue()
-    {
-        Clear();
-    }
-
-    void AccessibleTextEventQueue::Append( const SdrHint& rHint )
-    {
-        // only enqueue the events we actually care about in
-        // AccessibleTextHelper_Impl::ProcessQueue(), because
-        // the cost of some events adds up.
-        auto eKind = rHint.GetKind();
-        if (eKind == SdrHintKind::BeginEdit
-            || eKind == SdrHintKind::EndEdit)
-            maEventQueue.push_back( new SdrHint( rHint ) );
-    }
-
-    void AccessibleTextEventQueue::Append( const TextHint& rHint )
-    {
-        maEventQueue.push_back( new TextHint( rHint ) );
-    }
-
-    void AccessibleTextEventQueue::Append( const SvxViewChangedHint& rHint )
-    {
-        maEventQueue.push_back( new SvxViewChangedHint( rHint ) );
-    }
+void AccessibleTextEventQueue::Append(const SvxViewChangedHint& rHint)
+{
+    maEventQueue.push_back(new SvxViewChangedHint(rHint));
+}
 
-    void AccessibleTextEventQueue::Append( const SvxEditSourceHint& rHint )
-    {
-        maEventQueue.push_back( new SvxEditSourceHint( rHint ) );
-    }
+void AccessibleTextEventQueue::Append(const SvxEditSourceHint& rHint)
+{
+    maEventQueue.push_back(new SvxEditSourceHint(rHint));
+}
 
-    ::std::unique_ptr< SfxHint > AccessibleTextEventQueue::PopFront()
-    {
-        assert(!maEventQueue.empty());
-        ::std::unique_ptr< SfxHint > aRes( *(maEventQueue.begin()) );
-        maEventQueue.pop_front();
-        return aRes;
-    }
+::std::unique_ptr<SfxHint> AccessibleTextEventQueue::PopFront()
+{
+    assert(!maEventQueue.empty());
+    ::std::unique_ptr<SfxHint> aRes(*(maEventQueue.begin()));
+    maEventQueue.pop_front();
+    return aRes;
+}
 
-    bool AccessibleTextEventQueue::IsEmpty() const
-    {
-        return maEventQueue.empty();
-    }
+bool AccessibleTextEventQueue::IsEmpty() const { return maEventQueue.empty(); }
 
-    void AccessibleTextEventQueue::Clear()
-    {
-        // clear queue
-        for( auto p : maEventQueue)
-            delete p;
-        maEventQueue.clear();
-    }
+void AccessibleTextEventQueue::Clear()
+{
+    // clear queue
+    for (auto p : maEventQueue)
+        delete p;
+    maEventQueue.clear();
+}
 
 } // end of namespace accessibility
 
-
 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/svx/source/accessibility/AccessibleTextEventQueue.hxx 
b/svx/source/accessibility/AccessibleTextEventQueue.hxx
index b8b1a9de853a..ef02a842ae2b 100644
--- a/svx/source/accessibility/AccessibleTextEventQueue.hxx
+++ b/svx/source/accessibility/AccessibleTextEventQueue.hxx
@@ -32,54 +32,54 @@ class SvxEditSourceHint;
 
 namespace accessibility
 {
-    /** This class handles the notification events for the
-        AccessibleTextHelper class.
+/** This class handles the notification events for the
+    AccessibleTextHelper class.
 
-        For various reasons, we cannot process EditEngine events as
-        they arrive, but have to queue and handle them in a batch.
-     */
-    class AccessibleTextEventQueue
+    For various reasons, we cannot process EditEngine events as
+    they arrive, but have to queue and handle them in a batch.
+  */
+class AccessibleTextEventQueue
+{
+public:
+    AccessibleTextEventQueue();
+    ~AccessibleTextEventQueue();
+
+    /// Append event to end of queue
+    void Append(const SdrHint& rHint);
+    /// Append event to end of queue
+    void Append(const TextHint& rHint);
+    /// Append event to end of queue
+    void Append(const SvxViewChangedHint& rHint);
+    /// Append event to end of queue
+    void Append(const SvxEditSourceHint& rHint);
+
+    /** Pop first queue element
+
+        return first queue element, ownership transfers to caller
+    */
+    ::std::unique_ptr<SfxHint> PopFront();
+
+    /** Apply functor to every queue member
+
+        @param rFunctor
+        Functor to apply. Functor receives queue element as
+        parameter: void func( const SfxHint* );
+    */
+    template <typename Functor> void ForEach(Functor& rFunctor) const
     {
-    public:
-        AccessibleTextEventQueue();
-        ~AccessibleTextEventQueue();
-
-        /// Append event to end of queue
-        void Append( const SdrHint& rHint );
-        /// Append event to end of queue
-        void Append( const TextHint& rHint );
-        /// Append event to end of queue
-        void Append( const SvxViewChangedHint& rHint );
-        /// Append event to end of queue
-        void Append( const SvxEditSourceHint& rHint );
-
-        /** Pop first queue element
-
-            return first queue element, ownership transfers to caller
-        */
-        ::std::unique_ptr< SfxHint > PopFront();
-
-        /** Apply functor to every queue member
-
-            @param rFunctor
-            Functor to apply. Functor receives queue element as
-            parameter: void func( const SfxHint* );
-        */
-        template < typename Functor > void ForEach( Functor& rFunctor ) const
-        {
-            // #109864# Make sure results are put back into rFunctor
-            rFunctor = ::std::for_each( maEventQueue.begin(), 
maEventQueue.end(), rFunctor );
-        }
-
-        /// Query whether queue is empty
-        bool IsEmpty() const;
-
-        /// Clear event queue
-        void Clear();
-
-    private:
-        std::deque<SfxHint*> maEventQueue;
-    };
+        // #109864# Make sure results are put back into rFunctor
+        rFunctor = ::std::for_each(maEventQueue.begin(), maEventQueue.end(), 
rFunctor);
+    }
+
+    /// Query whether queue is empty
+    bool IsEmpty() const;
+
+    /// Clear event queue
+    void Clear();
+
+private:
+    std::deque<SfxHint*> maEventQueue;
+};
 
 } // end of namespace accessibility
 

Reply via email to