svtools a11y: Deduplicate XAccessible implementations
Let the base class, AccessibleTabBarBase implement the XAccessible interface, instead of having all subclasses doing it separately. Change-Id: I0cd169a0b015514f5ba59e820d72688a041ab27c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185267 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
@@ -187,18 +187,6 @@ Sequence< OUString > AccessibleTabBar::getSupportedServiceNames()
|
||||
return { u"com.sun.star.awt.AccessibleTabBar"_ustr };
|
||||
}
|
||||
|
||||
|
||||
// XAccessible
|
||||
|
||||
|
||||
Reference< XAccessibleContext > AccessibleTabBar::getAccessibleContext( )
|
||||
{
|
||||
OExternalLockGuard aGuard( this );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
// XAccessibleContext
|
||||
|
||||
|
||||
|
||||
@@ -30,10 +30,8 @@
|
||||
namespace accessibility
|
||||
{
|
||||
|
||||
class AccessibleTabBar final : public cppu::ImplInheritanceHelper<
|
||||
AccessibleTabBarBase,
|
||||
css::accessibility::XAccessible,
|
||||
css::lang::XServiceInfo>
|
||||
class AccessibleTabBar final
|
||||
: public cppu::ImplInheritanceHelper<AccessibleTabBarBase, css::lang::XServiceInfo>
|
||||
{
|
||||
std::vector<css::uno::Reference<css::accessibility::XAccessible>> m_aAccessibleChildren;
|
||||
|
||||
@@ -54,9 +52,6 @@ public:
|
||||
virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) override;
|
||||
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
|
||||
|
||||
// XAccessible
|
||||
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override;
|
||||
|
||||
// XAccessibleContext
|
||||
virtual sal_Int64 SAL_CALL getAccessibleChildCount( ) override;
|
||||
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 i ) override;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include "accessibletabbarbase.hxx"
|
||||
#include "accessibletabbarpagelist.hxx"
|
||||
|
||||
#include <comphelper/accessiblecontexthelper.hxx>
|
||||
#include <svtools/tabbar.hxx>
|
||||
#include <vcl/vclevent.hxx>
|
||||
|
||||
@@ -39,6 +40,14 @@ AccessibleTabBarBase::~AccessibleTabBarBase()
|
||||
ClearTabBarPointer();
|
||||
}
|
||||
|
||||
css::uno::Reference<css::accessibility::XAccessibleContext>
|
||||
AccessibleTabBarBase::getAccessibleContext()
|
||||
{
|
||||
comphelper::OExternalLockGuard aGuard(this);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
IMPL_LINK( AccessibleTabBarBase, WindowEventListener, VclWindowEvent&, rEvent, void )
|
||||
{
|
||||
vcl::Window* pEventWindow = rEvent.GetWindow();
|
||||
|
||||
@@ -30,12 +30,18 @@ class VclWindowEvent;
|
||||
namespace accessibility
|
||||
{
|
||||
|
||||
class AccessibleTabBarBase : public comphelper::OAccessibleComponentHelper
|
||||
class AccessibleTabBarBase
|
||||
: public cppu::ImplInheritanceHelper<comphelper::OAccessibleComponentHelper,
|
||||
css::accessibility::XAccessible>
|
||||
{
|
||||
public:
|
||||
explicit AccessibleTabBarBase( TabBar* pTabBar );
|
||||
virtual ~AccessibleTabBarBase() override;
|
||||
|
||||
// XAccessible
|
||||
virtual css::uno::Reference<css::accessibility::XAccessibleContext>
|
||||
SAL_CALL getAccessibleContext() override;
|
||||
|
||||
protected:
|
||||
DECL_LINK( WindowEventListener, VclWindowEvent&, void );
|
||||
|
||||
|
||||
@@ -214,18 +214,6 @@ Sequence< OUString > AccessibleTabBarPage::getSupportedServiceNames()
|
||||
return { u"com.sun.star.awt.AccessibleTabBarPage"_ustr };
|
||||
}
|
||||
|
||||
|
||||
// XAccessible
|
||||
|
||||
|
||||
Reference< XAccessibleContext > AccessibleTabBarPage::getAccessibleContext( )
|
||||
{
|
||||
OExternalLockGuard aGuard( this );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
// XAccessibleContext
|
||||
|
||||
|
||||
|
||||
@@ -28,10 +28,8 @@
|
||||
namespace accessibility
|
||||
{
|
||||
|
||||
class AccessibleTabBarPage final : public cppu::ImplInheritanceHelper<
|
||||
AccessibleTabBarBase,
|
||||
css::accessibility::XAccessible,
|
||||
css::lang::XServiceInfo>
|
||||
class AccessibleTabBarPage final
|
||||
: public cppu::ImplInheritanceHelper<AccessibleTabBarBase, css::lang::XServiceInfo>
|
||||
{
|
||||
friend class AccessibleTabBarPageList;
|
||||
|
||||
@@ -68,9 +66,6 @@ public:
|
||||
virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) override;
|
||||
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
|
||||
|
||||
// XAccessible
|
||||
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override;
|
||||
|
||||
// XAccessibleContext
|
||||
virtual sal_Int64 SAL_CALL getAccessibleChildCount( ) override;
|
||||
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 i ) override;
|
||||
|
||||
@@ -347,21 +347,8 @@ Sequence< OUString > AccessibleTabBarPageList::getSupportedServiceNames()
|
||||
return { u"com.sun.star.awt.AccessibleTabBarPageList"_ustr };
|
||||
}
|
||||
|
||||
|
||||
// XAccessible
|
||||
|
||||
|
||||
Reference< XAccessibleContext > AccessibleTabBarPageList::getAccessibleContext( )
|
||||
{
|
||||
OExternalLockGuard aGuard( this );
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
// XAccessibleContext
|
||||
|
||||
|
||||
sal_Int64 AccessibleTabBarPageList::getAccessibleChildCount()
|
||||
{
|
||||
OExternalLockGuard aGuard( this );
|
||||
|
||||
@@ -33,11 +33,9 @@
|
||||
namespace accessibility
|
||||
{
|
||||
|
||||
class AccessibleTabBarPageList final : public cppu::ImplInheritanceHelper<
|
||||
AccessibleTabBarBase,
|
||||
css::accessibility::XAccessible,
|
||||
css::accessibility::XAccessibleSelection,
|
||||
css::lang::XServiceInfo>
|
||||
class AccessibleTabBarPageList final
|
||||
: public cppu::ImplInheritanceHelper<
|
||||
AccessibleTabBarBase, css::accessibility::XAccessibleSelection, css::lang::XServiceInfo>
|
||||
{
|
||||
private:
|
||||
typedef std::vector< rtl::Reference< AccessibleTabBarPage > > AccessibleChildren;
|
||||
@@ -70,9 +68,6 @@ public:
|
||||
virtual sal_Bool SAL_CALL supportsService( const OUString& rServiceName ) override;
|
||||
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
|
||||
|
||||
// XAccessible
|
||||
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext( ) override;
|
||||
|
||||
// XAccessibleContext
|
||||
virtual sal_Int64 SAL_CALL getAccessibleChildCount( ) override;
|
||||
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild( sal_Int64 i ) override;
|
||||
|
||||
Reference in New Issue
Block a user