chart2/source/controller/accessibility/AccessibleBase.cxx | 132 +--------- chart2/source/controller/accessibility/AccessibleChartElement.cxx | 53 ---- chart2/source/controller/accessibility/AccessibleChartElement.hxx | 28 -- chart2/source/controller/accessibility/AccessibleChartShape.cxx | 48 --- chart2/source/controller/accessibility/AccessibleChartShape.hxx | 20 - chart2/source/controller/accessibility/AccessibleChartView.cxx | 18 - chart2/source/controller/inc/AccessibleBase.hxx | 49 --- chart2/source/controller/inc/AccessibleChartView.hxx | 6 8 files changed, 45 insertions(+), 309 deletions(-)
New commits: commit 9a71ceb7946e3ae4d67bfeef4ca8325c550f400a Author: Michael Weghorn <[email protected]> AuthorDate: Mon Mar 31 09:08:24 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Apr 1 11:19:06 2025 +0200 chart a11y: Drop AccessibleBase::BroadcastAccEvent Use the base class's OCommonAccessibleComponent::NotifyAccessibleEvent directly instead. The old/new params are in reverse order for that one, so adjust callers accordingly. Change-Id: I8d4ef730a139366c5762836819e20d35cb2ff5a6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183536 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx index c4cc7c927ed9..bd04a69afb67 100644 --- a/chart2/source/controller/accessibility/AccessibleBase.cxx +++ b/chart2/source/controller/accessibility/AccessibleBase.cxx @@ -112,11 +112,11 @@ bool AccessibleBase::NotifyEvent( EventType eEventType, const AccessibleUniqueId case EventType::GOT_SELECTION: { AddState( AccessibleStateType::SELECTED ); - BroadcastAccEvent( AccessibleEventId::STATE_CHANGED, aSelected, aEmpty ); + NotifyAccessibleEvent(AccessibleEventId::STATE_CHANGED, aEmpty, aSelected); AddState( AccessibleStateType::FOCUSED ); aSelected <<= AccessibleStateType::FOCUSED; - BroadcastAccEvent( AccessibleEventId::STATE_CHANGED, aSelected, aEmpty ); + NotifyAccessibleEvent(AccessibleEventId::STATE_CHANGED, aEmpty, aSelected); SAL_INFO("chart2.accessibility", "Selection acquired by: " << getAccessibleName()); } @@ -125,11 +125,11 @@ bool AccessibleBase::NotifyEvent( EventType eEventType, const AccessibleUniqueId case EventType::LOST_SELECTION: { RemoveState( AccessibleStateType::SELECTED ); - BroadcastAccEvent( AccessibleEventId::STATE_CHANGED, aEmpty, aSelected ); + NotifyAccessibleEvent(AccessibleEventId::STATE_CHANGED, aSelected, aEmpty); AddState( AccessibleStateType::FOCUSED ); aSelected <<= AccessibleStateType::FOCUSED; - BroadcastAccEvent( AccessibleEventId::STATE_CHANGED, aEmpty, aSelected ); + NotifyAccessibleEvent(AccessibleEventId::STATE_CHANGED, aSelected, aEmpty); SAL_INFO("chart2.accessibility", "Selection lost by: " << getAccessibleName()); } break; @@ -259,7 +259,7 @@ void AccessibleBase::AddChild( AccessibleBase * pChild ) aNew <<= uno::Reference<XAccessible>(xChild); aGuard.clear(); - BroadcastAccEvent( AccessibleEventId::CHILD, aNew, aEmpty ); + NotifyAccessibleEvent(AccessibleEventId::CHILD, aEmpty, aNew); } } @@ -295,7 +295,7 @@ void AccessibleBase::RemoveChildByOId( const ObjectIdentifier& rOId ) Any aEmpty, aOld; aOld <<= uno::Reference<XAccessible>(xChild); - BroadcastAccEvent( AccessibleEventId::CHILD, aEmpty, aOld ); + NotifyAccessibleEvent(AccessibleEventId::CHILD, aOld, aEmpty); } // dispose the child @@ -323,11 +323,6 @@ awt::Point AccessibleBase::GetUpperLeftOnScreen() const return aResult; } -void AccessibleBase::BroadcastAccEvent(sal_Int16 nId, const Any& rNew, const Any& rOld) -{ - NotifyAccessibleEvent(nId, rOld, rNew); -} - void AccessibleBase::KillAllChildren() { ClearableMutexGuard aGuard( m_aMutex ); @@ -345,7 +340,7 @@ void AccessibleBase::KillAllChildren() for (auto const& localChild : aLocalChildList) { aOld <<= uno::Reference<XAccessible>(localChild); - BroadcastAccEvent( AccessibleEventId::CHILD, aEmpty, aOld ); + NotifyAccessibleEvent(AccessibleEventId::CHILD, aOld, aEmpty); if (localChild.is()) localChild->dispose(); @@ -360,7 +355,7 @@ void AccessibleBase::SetInfo( const AccessibleElementInfo & rNewInfo ) { KillAllChildren(); } - BroadcastAccEvent( AccessibleEventId::INVALIDATE_ALL_CHILDREN, uno::Any(), uno::Any()); + NotifyAccessibleEvent(AccessibleEventId::INVALIDATE_ALL_CHILDREN, uno::Any(), uno::Any()); } // ________ (XComponent::dispose) ________ diff --git a/chart2/source/controller/inc/AccessibleBase.hxx b/chart2/source/controller/inc/AccessibleBase.hxx index cc2733ade04d..a491f98771f5 100644 --- a/chart2/source/controller/inc/AccessibleBase.hxx +++ b/chart2/source/controller/inc/AccessibleBase.hxx @@ -168,13 +168,6 @@ protected: */ virtual css::awt::Point GetUpperLeftOnScreen() const; - /** This method creates an AccessibleEventObject and sends it to all - listeners that are currently listening to this object - */ - void BroadcastAccEvent( sal_Int16 nId, - const css::uno::Any & rNew, - const css::uno::Any & rOld ); - /** Removes all children from the internal lists and broadcasts child remove events. commit 0191439627ee5ec4f692e60b25501fa40f9ea91e Author: Michael Weghorn <[email protected]> AuthorDate: Mon Mar 31 09:03:00 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Apr 1 11:19:00 2025 +0200 chart a11y: Use OAccessibleExtendedComponentHelper Let chart's AccessibleBase derive from OAccessibleExtendedComponentHelper to make use of the logic already implemented there instead of having to implement all the XAccessible(Extended)Component and XAccessibleEventBroadcaster methods manually. AccessibleBase::getBounds implements what is needed to implement OAccessibleExtendedComponentHelper::implGetBounds, so rename the method. Drop all of the other overrides that are no longer needed as the implementation is now provided by the base class. Adjust subclasses as well to deduplicate logic there, too. No change in behavior intended or observed initially when testing this with Accerciser and Orca and the gtk3 and qt6 VCL plugins for a chart inserted in Writer ("Insert" -> "Chart"). Change-Id: I5d29c099dc31d70711f4017e52a0859f22c5aa23 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183524 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx index 99571b419b19..c4cc7c927ed9 100644 --- a/chart2/source/controller/accessibility/AccessibleBase.cxx +++ b/chart2/source/controller/accessibility/AccessibleBase.cxx @@ -66,11 +66,9 @@ AccessibleBase::AccessibleBase( AccessibleElementInfo aAccInfo, bool bMayHaveChildren, bool bAlwaysTransparent /* default: false */ ) : - impl::AccessibleBase_Base( m_aMutex ), m_bIsDisposed( false ), m_bMayHaveChildren( bMayHaveChildren ), m_bChildrenInitialized( false ), - m_nEventNotifierId(0), m_nStateSet( 0 ), m_aAccInfo(std::move( aAccInfo )), m_bAlwaysTransparent( bAlwaysTransparent ), @@ -327,19 +325,7 @@ awt::Point AccessibleBase::GetUpperLeftOnScreen() const void AccessibleBase::BroadcastAccEvent(sal_Int16 nId, const Any& rNew, const Any& rOld) { - ClearableMutexGuard aGuard( m_aMutex ); - - if ( !m_nEventNotifierId ) - return; - // if we don't have a client id for the notifier, then we don't have listeners, then - // we don't need to notify anything - - const AccessibleEventObject aEvent(static_cast<uno::XWeak*>(this), nId, rNew, rOld, -1); - - // let the notifier handle this event - ::comphelper::AccessibleEventNotifier::addEvent( m_nEventNotifierId, aEvent ); - - aGuard.clear(); + NotifyAccessibleEvent(nId, rOld, rNew); } void AccessibleBase::KillAllChildren() @@ -384,13 +370,7 @@ void SAL_CALL AccessibleBase::disposing() MutexGuard aGuard(m_aMutex); OSL_ENSURE(!m_bIsDisposed, "dispose() called twice"); - // notify disposing to all AccessibleEvent listeners asynchronous - if (m_nEventNotifierId) - { - ::comphelper::AccessibleEventNotifier::revokeClientNotifyDisposing(m_nEventNotifierId, - *this); - m_nEventNotifierId = 0; - } + OAccessibleExtendedComponentHelper::disposing(); // reset pointers m_aAccInfo.m_pWindow.clear(); @@ -542,25 +522,12 @@ lang::Locale SAL_CALL AccessibleBase::getLocale() } // ________ AccessibleBase::XAccessibleComponent ________ -sal_Bool SAL_CALL AccessibleBase::containsPoint( const awt::Point& aPoint ) -{ - awt::Rectangle aRect( getBounds() ); - - // contains() works with relative coordinates - aRect.X = 0; - aRect.Y = 0; - - return ( aPoint.X >= aRect.X && - aPoint.Y >= aRect.Y && - aPoint.X < (aRect.X + aRect.Width) && - aPoint.Y < (aRect.Y + aRect.Height) ); -} Reference< XAccessible > SAL_CALL AccessibleBase::getAccessibleAtPoint( const awt::Point& aPoint ) { CheckDisposeState(); rtl::Reference< AccessibleBase > aResult; - awt::Rectangle aRect( getBounds()); + awt::Rectangle aRect( implGetBounds()); // children are positioned relative to this object, so translate bound rect aRect.X = 0; @@ -578,7 +545,7 @@ Reference< XAccessible > SAL_CALL AccessibleBase::getAccessibleAtPoint( const aw { if (xLocalChild.is()) { - aRect = xLocalChild->getBounds(); + aRect = xLocalChild->implGetBounds(); if( ( aRect.X <= aPoint.X && aPoint.X <= (aRect.X + aRect.Width) ) && ( aRect.Y <= aPoint.Y && aPoint.Y <= (aRect.Y + aRect.Height))) { @@ -592,7 +559,7 @@ Reference< XAccessible > SAL_CALL AccessibleBase::getAccessibleAtPoint( const aw return aResult; } -awt::Rectangle SAL_CALL AccessibleBase::getBounds() +css::awt::Rectangle AccessibleBase::implGetBounds() { rtl::Reference<ChartView> pChartView = m_aAccInfo.m_xView.get(); if( pChartView ) @@ -626,36 +593,6 @@ awt::Rectangle SAL_CALL AccessibleBase::getBounds() return awt::Rectangle(); } -awt::Point SAL_CALL AccessibleBase::getLocation() -{ - CheckDisposeState(); - awt::Rectangle aBBox( getBounds() ); - return awt::Point( aBBox.X, aBBox.Y ); -} - -awt::Point SAL_CALL AccessibleBase::getLocationOnScreen() -{ - CheckDisposeState(); - - if (AccessibleBase* pParent = m_aAccInfo.m_pParent) - { - awt::Point aLocThisRel( getLocation()); - awt::Point aUpperLeft(pParent->getLocationOnScreen()); - - return awt::Point( aUpperLeft.X + aLocThisRel.X, - aUpperLeft.Y + aLocThisRel.Y ); - } - else - return getLocation(); -} - -awt::Size SAL_CALL AccessibleBase::getSize() -{ - CheckDisposeState(); - awt::Rectangle aBBox( getBounds() ); - return awt::Size( aBBox.Width, aBBox.Height ); -} - void SAL_CALL AccessibleBase::grabFocus() { CheckDisposeState(); @@ -798,36 +735,6 @@ uno::Sequence< OUString > SAL_CALL AccessibleBase::getSupportedServiceNames() }; } -// ________ XAccessibleEventBroadcasters ________ -void SAL_CALL AccessibleBase::addAccessibleEventListener( const Reference< XAccessibleEventListener >& xListener ) -{ - MutexGuard aGuard( m_aMutex ); - - if ( xListener.is() ) - { - if ( !m_nEventNotifierId ) - m_nEventNotifierId = ::comphelper::AccessibleEventNotifier::registerClient(); - - ::comphelper::AccessibleEventNotifier::addEventListener( m_nEventNotifierId, xListener ); - } -} - -void SAL_CALL AccessibleBase::removeAccessibleEventListener( const Reference< XAccessibleEventListener >& xListener ) -{ - MutexGuard aGuard( m_aMutex ); - - if ( xListener.is() && m_nEventNotifierId) - { - sal_Int32 nListenerCount = ::comphelper::AccessibleEventNotifier::removeEventListener( m_nEventNotifierId, xListener ); - if ( !nListenerCount ) - { - // no listeners anymore - ::comphelper::AccessibleEventNotifier::revokeClient( m_nEventNotifierId ); - m_nEventNotifierId = 0; - } - } -} - } // namespace chart /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/controller/accessibility/AccessibleChartShape.cxx b/chart2/source/controller/accessibility/AccessibleChartShape.cxx index 0c366b4c6899..f415748323ea 100644 --- a/chart2/source/controller/accessibility/AccessibleChartShape.cxx +++ b/chart2/source/controller/accessibility/AccessibleChartShape.cxx @@ -129,15 +129,6 @@ OUString AccessibleChartShape::getAccessibleName() } // ________ XAccessibleComponent ________ -sal_Bool AccessibleChartShape::containsPoint( const awt::Point& aPoint ) -{ - bool bReturn = false; - if ( m_pAccShape.is() ) - { - bReturn = m_pAccShape->containsPoint( aPoint ); - } - return bReturn; -} Reference< XAccessible > AccessibleChartShape::getAccessibleAtPoint( const awt::Point& aPoint ) { @@ -149,7 +140,7 @@ Reference< XAccessible > AccessibleChartShape::getAccessibleAtPoint( const awt:: return xResult; } -awt::Rectangle AccessibleChartShape::getBounds() +awt::Rectangle AccessibleChartShape::implGetBounds() { awt::Rectangle aBounds; if ( m_pAccShape.is() ) @@ -159,36 +150,6 @@ awt::Rectangle AccessibleChartShape::getBounds() return aBounds; } -awt::Point AccessibleChartShape::getLocation() -{ - awt::Point aLocation; - if ( m_pAccShape.is() ) - { - aLocation = m_pAccShape->getLocation(); - } - return aLocation; -} - -awt::Point AccessibleChartShape::getLocationOnScreen() -{ - awt::Point aLocation; - if ( m_pAccShape.is() ) - { - aLocation = m_pAccShape->getLocationOnScreen(); - } - return aLocation; -} - -awt::Size AccessibleChartShape::getSize() -{ - awt::Size aSize; - if ( m_pAccShape.is() ) - { - aSize = m_pAccShape->getSize(); - } - return aSize; -} - sal_Int32 AccessibleChartShape::getForeground() { sal_Int32 nColor(0); diff --git a/chart2/source/controller/accessibility/AccessibleChartShape.hxx b/chart2/source/controller/accessibility/AccessibleChartShape.hxx index 8ae07b51a8bf..ae0e3ebe276a 100644 --- a/chart2/source/controller/accessibility/AccessibleChartShape.hxx +++ b/chart2/source/controller/accessibility/AccessibleChartShape.hxx @@ -48,13 +48,11 @@ public: virtual OUString SAL_CALL getAccessibleDescription() override; virtual OUString SAL_CALL getAccessibleName() override; + // OCommonAccessibleComponent + virtual css::awt::Rectangle implGetBounds() override; + // ________ XAccessibleComponent ________ - virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& aPoint ) override; virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) override; - virtual css::awt::Rectangle SAL_CALL getBounds() override; - virtual css::awt::Point SAL_CALL getLocation() override; - virtual css::awt::Point SAL_CALL getLocationOnScreen() override; - virtual css::awt::Size SAL_CALL getSize() override; virtual sal_Int32 SAL_CALL getForeground() override; virtual sal_Int32 SAL_CALL getBackground() override; diff --git a/chart2/source/controller/accessibility/AccessibleChartView.cxx b/chart2/source/controller/accessibility/AccessibleChartView.cxx index 57d5d962cd5a..5929ce757eb7 100644 --- a/chart2/source/controller/accessibility/AccessibleChartView.cxx +++ b/chart2/source/controller/accessibility/AccessibleChartView.cxx @@ -119,8 +119,7 @@ sal_Int16 SAL_CALL AccessibleChartView::getAccessibleRole() return AccessibleRole::DOCUMENT; } -// ________ XAccessibleComponent ________ -awt::Rectangle SAL_CALL AccessibleChartView::getBounds() +awt::Rectangle AccessibleChartView::implGetBounds() { awt::Rectangle aResult( GetWindowPosSize()); Reference< XAccessible > xParent( m_xParent ); @@ -137,21 +136,6 @@ awt::Rectangle SAL_CALL AccessibleChartView::getBounds() return aResult; } -awt::Point SAL_CALL AccessibleChartView::getLocationOnScreen() -{ - awt::Rectangle aBounds( getBounds()); - awt::Point aResult; - Reference< XAccessible > xParent( m_xParent ); - if( xParent.is()) - { - Reference< XAccessibleComponent > xAccComp( - xParent->getAccessibleContext(), uno::UNO_QUERY ); - aResult = xAccComp->getLocationOnScreen(); - aResult.X += aBounds.X; - aResult.Y += aBounds.Y; - } - return aResult; -} void SAL_CALL AccessibleChartView::disposing() { diff --git a/chart2/source/controller/inc/AccessibleBase.hxx b/chart2/source/controller/inc/AccessibleBase.hxx index 71947a30d9f5..cc2733ade04d 100644 --- a/chart2/source/controller/inc/AccessibleBase.hxx +++ b/chart2/source/controller/inc/AccessibleBase.hxx @@ -24,9 +24,7 @@ #include <com/sun/star/accessibility/XAccessibleContext.hpp> #include <com/sun/star/accessibility/XAccessibleComponent.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> -#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp> -#include <comphelper/accessibleeventnotifier.hxx> +#include <comphelper/accessiblecomponenthelper.hxx> #include <cppuhelper/basemutex.hxx> #include <cppuhelper/compbase.hxx> #include <tools/color.hxx> @@ -73,22 +71,11 @@ struct AccessibleElementInfo ::accessibility::IAccessibleViewForwarder* m_pViewForwarder; }; -namespace impl -{ -typedef ::cppu::WeakComponentImplHelper< - css::accessibility::XAccessible, - css::accessibility::XAccessibleContext, - css::accessibility::XAccessibleEventBroadcaster, - css::accessibility::XAccessibleExtendedComponent, - css::lang::XServiceInfo - > AccessibleBase_Base; -} - /** Base class for all Chart Accessibility objects */ -class AccessibleBase : - public cppu::BaseMutex, - public impl::AccessibleBase_Base +class AccessibleBase + : public cppu::ImplInheritanceHelper<comphelper::OAccessibleExtendedComponentHelper, + css::accessibility::XAccessible, css::lang::XServiceInfo> { public: enum class EventType @@ -242,15 +229,12 @@ protected: // virtual OUString SAL_CALL getAccessibleDescription() // throw (css::uno::RuntimeException); + // OCommonAccessibleComponent + virtual css::awt::Rectangle implGetBounds() override; + // ________ XAccessibleComponent ________ - virtual sal_Bool SAL_CALL containsPoint( - const css::awt::Point& aPoint ) override; virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) override; - virtual css::awt::Rectangle SAL_CALL getBounds() override; - virtual css::awt::Point SAL_CALL getLocation() override; - virtual css::awt::Point SAL_CALL getLocationOnScreen() override; - virtual css::awt::Size SAL_CALL getSize() override; virtual void SAL_CALL grabFocus() override; virtual sal_Int32 SAL_CALL getForeground() override; virtual sal_Int32 SAL_CALL getBackground() override; @@ -265,12 +249,6 @@ protected: const OUString& ServiceName ) override; virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override; - // ________ XAccessibleEventBroadcaster ________ - virtual void SAL_CALL addAccessibleEventListener( - const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener ) override; - virtual void SAL_CALL removeAccessibleEventListener( - const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener ) override; - private: enum eColorType { @@ -292,8 +270,6 @@ private: ChildOIDMap m_aChildOIDMap; - ::comphelper::AccessibleEventNotifier::TClientId m_nEventNotifierId; - /** for getAccessibleStateSet() */ sal_Int64 m_nStateSet; diff --git a/chart2/source/controller/inc/AccessibleChartView.hxx b/chart2/source/controller/inc/AccessibleChartView.hxx index 6cea437d9ccf..d4c966205021 100644 --- a/chart2/source/controller/inc/AccessibleChartView.hxx +++ b/chart2/source/controller/inc/AccessibleChartView.hxx @@ -84,9 +84,9 @@ public: virtual OUString SAL_CALL getAccessibleName() override; virtual sal_Int16 SAL_CALL getAccessibleRole() override; - // ________ XAccessibleComponent ________ - virtual css::awt::Rectangle SAL_CALL getBounds() override; - virtual css::awt::Point SAL_CALL getLocationOnScreen() override; + + // OCommonAccessibleComponent + virtual css::awt::Rectangle implGetBounds() override; protected: // ________ AccessibleChartElement ________ commit fcc01f789aabf734307e609fee62ef5037c1903a Author: Michael Weghorn <[email protected]> AuthorDate: Mon Mar 31 07:44:12 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Tue Apr 1 11:18:53 2025 +0200 chart a11y: Simplify XAccessible{,Extended}Component implementations Let the base class AccessibleBase implement XAccessibleExtendedComponent with default implementations for the methods that simply return empty strings. This simplifies the implementation in subclasses, that now only need to override XAccessibleComponent and XAccessibleExtendedComponent methods when they actually want to have a different behavior, not to avoid ambiguity due to XAccessibleComponent being a base class of both of their base classes (XAccessibleExtendedComponent, AccessibleBase). Change-Id: I2a6a39a721de19178954db898d52a2d7bc01fcb7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183523 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/chart2/source/controller/accessibility/AccessibleBase.cxx b/chart2/source/controller/accessibility/AccessibleBase.cxx index 98bc1d7e1d40..99571b419b19 100644 --- a/chart2/source/controller/accessibility/AccessibleBase.cxx +++ b/chart2/source/controller/accessibility/AccessibleBase.cxx @@ -769,6 +769,16 @@ Color AccessibleBase::getColor( eColorType eColType ) return nResult; } +OUString SAL_CALL AccessibleBase::getTitledBorderText() +{ + return OUString(); +} + +OUString SAL_CALL AccessibleBase::getToolTipText() +{ + return OUString(); +} + // ________ AccessibleBase::XServiceInfo ________ OUString SAL_CALL AccessibleBase::getImplementationName() { diff --git a/chart2/source/controller/accessibility/AccessibleChartElement.cxx b/chart2/source/controller/accessibility/AccessibleChartElement.cxx index e176846b8b84..cb8ec98eff72 100644 --- a/chart2/source/controller/accessibility/AccessibleChartElement.cxx +++ b/chart2/source/controller/accessibility/AccessibleChartElement.cxx @@ -42,7 +42,7 @@ namespace chart AccessibleChartElement::AccessibleChartElement( const AccessibleElementInfo & rAccInfo, bool bMayHaveChildren ) : - impl::AccessibleChartElement_Base( rAccInfo, bMayHaveChildren, false/*bAlwaysTransparent*/ ), + AccessibleBase(rAccInfo, bMayHaveChildren, false/*bAlwaysTransparent*/), m_bHasText( false ) { AddState( AccessibleStateType::TRANSIENT ); @@ -139,11 +139,6 @@ OUString SAL_CALL AccessibleChartElement::getAccessibleDescription() // ________ AccessibleChartElement::XAccessibleExtendedComponent ________ -OUString SAL_CALL AccessibleChartElement::getTitledBorderText() -{ - return OUString(); -} - OUString SAL_CALL AccessibleChartElement::getToolTipText() { CheckDisposeState(); @@ -152,52 +147,6 @@ OUString SAL_CALL AccessibleChartElement::getToolTipText() GetInfo().m_aOID.getObjectCID(), GetInfo().m_xChartDocument ); } -// ________ XAccessibleComponent ________ -sal_Bool SAL_CALL AccessibleChartElement::containsPoint( const awt::Point& aPoint ) -{ - return AccessibleBase::containsPoint( aPoint ); -} - -Reference< XAccessible > SAL_CALL AccessibleChartElement::getAccessibleAtPoint( const awt::Point& aPoint ) -{ - return AccessibleBase::getAccessibleAtPoint( aPoint ); -} - -awt::Rectangle SAL_CALL AccessibleChartElement::getBounds() -{ - return AccessibleBase::getBounds(); -} - -awt::Point SAL_CALL AccessibleChartElement::getLocation() -{ - return AccessibleBase::getLocation(); -} - -awt::Point SAL_CALL AccessibleChartElement::getLocationOnScreen() -{ - return AccessibleBase::getLocationOnScreen(); -} - -awt::Size SAL_CALL AccessibleChartElement::getSize() -{ - return AccessibleBase::getSize(); -} - -void SAL_CALL AccessibleChartElement::grabFocus() -{ - return AccessibleBase::grabFocus(); -} - -sal_Int32 SAL_CALL AccessibleChartElement::getForeground() -{ - return AccessibleBase::getForeground(); -} - -sal_Int32 SAL_CALL AccessibleChartElement::getBackground() -{ - return AccessibleBase::getBackground(); -} - } // namespace chart /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/chart2/source/controller/accessibility/AccessibleChartElement.hxx b/chart2/source/controller/accessibility/AccessibleChartElement.hxx index a307561943fa..64b39f97b86a 100644 --- a/chart2/source/controller/accessibility/AccessibleChartElement.hxx +++ b/chart2/source/controller/accessibility/AccessibleChartElement.hxx @@ -19,7 +19,6 @@ #pragma once #include <AccessibleBase.hxx> -#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp> namespace com::sun::star::accessibility { class XAccessible; } @@ -41,16 +40,7 @@ class AccessibleTextHelper; </ul> */ -namespace impl -{ -typedef ::cppu::ImplInheritanceHelper< - AccessibleBase, - css::accessibility::XAccessibleExtendedComponent - > AccessibleChartElement_Base; -} - -class AccessibleChartElement : - public impl::AccessibleChartElement_Base +class AccessibleChartElement : public AccessibleBase { public: AccessibleChartElement( const AccessibleElementInfo & rAccInfo, @@ -68,24 +58,8 @@ public: virtual OUString SAL_CALL getAccessibleDescription() override; // ________ XAccessibleExtendedComponent ________ - virtual OUString SAL_CALL getTitledBorderText() override; virtual OUString SAL_CALL getToolTipText() override; - // the following interface is implemented in AccessibleBase, however it is - // also a (non-virtual) base class of XAccessibleExtendedComponent Thus - // these methods have to be overridden and forward to AccessibleBase - - // ________ XAccessibleComponent ________ - virtual sal_Bool SAL_CALL containsPoint( const css::awt::Point& aPoint ) override; - virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) override; - virtual css::awt::Rectangle SAL_CALL getBounds() override; - virtual css::awt::Point SAL_CALL getLocation() override; - virtual css::awt::Point SAL_CALL getLocationOnScreen() override; - virtual css::awt::Size SAL_CALL getSize() override; - virtual void SAL_CALL grabFocus() override; - virtual sal_Int32 SAL_CALL getForeground() override; - virtual sal_Int32 SAL_CALL getBackground() override; - // ________ XServiceInfo ________ virtual OUString SAL_CALL getImplementationName() override; diff --git a/chart2/source/controller/accessibility/AccessibleChartShape.cxx b/chart2/source/controller/accessibility/AccessibleChartShape.cxx index c37580a7d2c1..0c366b4c6899 100644 --- a/chart2/source/controller/accessibility/AccessibleChartShape.cxx +++ b/chart2/source/controller/accessibility/AccessibleChartShape.cxx @@ -35,7 +35,7 @@ namespace chart AccessibleChartShape::AccessibleChartShape( const AccessibleElementInfo& rAccInfo ) - :impl::AccessibleChartShape_Base( rAccInfo, true/*bMayHaveChildren*/, false/*bAlwaysTransparent*/ ) + :AccessibleBase(rAccInfo, true/*bMayHaveChildren*/, false/*bAlwaysTransparent*/) { if ( !rAccInfo.m_aOID.isAdditionalShape() ) return; @@ -189,11 +189,6 @@ awt::Size AccessibleChartShape::getSize() return aSize; } -void AccessibleChartShape::grabFocus() -{ - return AccessibleBase::grabFocus(); -} - sal_Int32 AccessibleChartShape::getForeground() { sal_Int32 nColor(0); diff --git a/chart2/source/controller/accessibility/AccessibleChartShape.hxx b/chart2/source/controller/accessibility/AccessibleChartShape.hxx index 3f8975921e68..8ae07b51a8bf 100644 --- a/chart2/source/controller/accessibility/AccessibleChartShape.hxx +++ b/chart2/source/controller/accessibility/AccessibleChartShape.hxx @@ -20,7 +20,6 @@ #include <AccessibleBase.hxx> -#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp> #include <cppuhelper/implbase.hxx> #include <svx/AccessibleShapeTreeInfo.hxx> @@ -32,15 +31,7 @@ class AccessibleShape; namespace chart { -namespace impl -{ -typedef ::cppu::ImplInheritanceHelper< - AccessibleBase, - css::accessibility::XAccessibleExtendedComponent > AccessibleChartShape_Base; -} - -class AccessibleChartShape : - public impl::AccessibleChartShape_Base +class AccessibleChartShape : public AccessibleBase { public: explicit AccessibleChartShape( const AccessibleElementInfo& rAccInfo ); @@ -64,7 +55,6 @@ public: virtual css::awt::Point SAL_CALL getLocation() override; virtual css::awt::Point SAL_CALL getLocationOnScreen() override; virtual css::awt::Size SAL_CALL getSize() override; - virtual void SAL_CALL grabFocus() override; virtual sal_Int32 SAL_CALL getForeground() override; virtual sal_Int32 SAL_CALL getBackground() override; diff --git a/chart2/source/controller/inc/AccessibleBase.hxx b/chart2/source/controller/inc/AccessibleBase.hxx index 2b0560b6d0b5..71947a30d9f5 100644 --- a/chart2/source/controller/inc/AccessibleBase.hxx +++ b/chart2/source/controller/inc/AccessibleBase.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleComponent.hpp> #include <com/sun/star/lang/XServiceInfo.hpp> #include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp> +#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp> #include <comphelper/accessibleeventnotifier.hxx> #include <cppuhelper/basemutex.hxx> #include <cppuhelper/compbase.hxx> @@ -77,8 +78,8 @@ namespace impl typedef ::cppu::WeakComponentImplHelper< css::accessibility::XAccessible, css::accessibility::XAccessibleContext, - css::accessibility::XAccessibleComponent, css::accessibility::XAccessibleEventBroadcaster, + css::accessibility::XAccessibleExtendedComponent, css::lang::XServiceInfo > AccessibleBase_Base; } @@ -246,7 +247,6 @@ protected: const css::awt::Point& aPoint ) override; virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint( const css::awt::Point& aPoint ) override; - // has to be defined in derived classes virtual css::awt::Rectangle SAL_CALL getBounds() override; virtual css::awt::Point SAL_CALL getLocation() override; virtual css::awt::Point SAL_CALL getLocationOnScreen() override; @@ -255,6 +255,10 @@ protected: virtual sal_Int32 SAL_CALL getForeground() override; virtual sal_Int32 SAL_CALL getBackground() override; + // XAccessibleExtendedComponent + virtual OUString SAL_CALL getTitledBorderText() override; + virtual OUString SAL_CALL getToolTipText() override; + // ________ XServiceInfo ________ virtual OUString SAL_CALL getImplementationName() override; virtual sal_Bool SAL_CALL supportsService(
