editeng a11y: Merge Accessible{Context,Component}Base

AccessibleContextBase and AccessibleComponentBase
are both subclassed by the exact same classes.

Merge AccessibleComponentBase into AccessibleContextBase
to simplify the class hierarchy.

Drop now unnecessary overrides.

This also aligns AccessibleContext further
with the comphelper::OAccessibleExtendedComponentHelper
class that also implements both, XAccessibleContext
and XAccessibleExtendedComponent, and thus also prepares
for potential refactoring to deduplicate code in those
two classes in the future.

Change-Id: Ia3331f2bd4563bf9cdfee35c9ea6cca91bd093cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183543
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
This commit is contained in:
Michael Weghorn
2025-03-31 10:44:21 +02:00
parent a5eb44c1e6
commit 18b7dc796f
15 changed files with 144 additions and 338 deletions

View File

@@ -10246,13 +10246,6 @@ _TIFFsetShortArray
_TIFFsetShortArrayExt
__cnd_FormatDebug(char const*, int, int, char const*, int)
_lucene_shutdown()
accessibility::AccessibleComponentBase::getAccessibleAtPoint(com::sun::star::awt::Point const&)
accessibility::AccessibleComponentBase::getBackground()
accessibility::AccessibleComponentBase::getBounds()
accessibility::AccessibleComponentBase::getForeground()
accessibility::AccessibleComponentBase::getLocation()
accessibility::AccessibleComponentBase::getLocationOnScreen()
accessibility::AccessibleComponentBase::getSize()
accessibility::AccessibleEditableTextPara::AccessibleEditableTextPara(com::sun::star::uno::Reference<com::sun::star::accessibility::XAccessible>, accessibility::AccessibleParaManager const*)
accessibility::AccessibleEditableTextPara::CheckIndex(int)
accessibility::AccessibleEditableTextPara::CheckPosition(int)

View File

@@ -10804,13 +10804,6 @@ _TIFFsetShortArray
_TIFFsetShortArrayExt
__cnd_FormatDebug(char const*, int, int, char const*, int)
_lucene_shutdown()
accessibility::AccessibleComponentBase::getAccessibleAtPoint(com::sun::star::awt::Point const&)
accessibility::AccessibleComponentBase::getBackground()
accessibility::AccessibleComponentBase::getBounds()
accessibility::AccessibleComponentBase::getForeground()
accessibility::AccessibleComponentBase::getLocation()
accessibility::AccessibleComponentBase::getLocationOnScreen()
accessibility::AccessibleComponentBase::getSize()
accessibility::AccessibleContextBase::CreateAccessibleName()
accessibility::AccessibleContextBase::FireEvent(com::sun::star::accessibility::AccessibleEventObject const&)
accessibility::AccessibleContextBase::GetState(long)

View File

@@ -182,7 +182,6 @@ void SalCall::handleFunctionDecl(FunctionDecl const* decl)
|| dc.Class("IEventProcessor").Namespace("comphelper").GlobalNamespace()
|| dc.Class("SvxUnoTextBase").GlobalNamespace()
|| dc.Class("OInterfaceContainer").Namespace("frm").GlobalNamespace()
|| dc.Class("AccessibleComponentBase").Namespace("accessibility").GlobalNamespace()
|| dc.Class("ContextHandler2Helper")
.Namespace("core")
.Namespace("oox")

View File

@@ -37,7 +37,6 @@ $(eval $(call gb_Library_use_sdk_api,editeng))
ifneq ($(ENABLE_WASM_STRIP_ACCESSIBILITY),TRUE)
$(eval $(call gb_Library_add_exception_objects,editeng,\
editeng/source/accessibility/AccessibleComponentBase \
editeng/source/accessibility/AccessibleContextBase \
editeng/source/accessibility/AccessibleEditableTextPara \
editeng/source/accessibility/AccessibleHyperlink \

View File

@@ -1,143 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include <editeng/AccessibleComponentBase.hxx>
#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
#include <tools/color.hxx>
using namespace ::com::sun::star;
using namespace ::com::sun::star::accessibility;
namespace accessibility {
// internal
AccessibleComponentBase::AccessibleComponentBase()
{
}
AccessibleComponentBase::~AccessibleComponentBase()
{
}
// XAccessibleComponent
sal_Bool SAL_CALL AccessibleComponentBase::containsPoint (
const css::awt::Point& aPoint)
{
awt::Size aSize (getSize());
return (aPoint.X >= 0)
&& (aPoint.X < aSize.Width)
&& (aPoint.Y >= 0)
&& (aPoint.Y < aSize.Height);
}
uno::Reference<XAccessible > SAL_CALL
AccessibleComponentBase::getAccessibleAtPoint (
const awt::Point& /*aPoint*/)
{
return uno::Reference<XAccessible>();
}
awt::Rectangle SAL_CALL AccessibleComponentBase::getBounds()
{
return awt::Rectangle();
}
awt::Point SAL_CALL AccessibleComponentBase::getLocation()
{
awt::Rectangle aBBox (getBounds());
return awt::Point (aBBox.X, aBBox.Y);
}
awt::Point SAL_CALL AccessibleComponentBase::getLocationOnScreen()
{
return awt::Point();
}
css::awt::Size SAL_CALL AccessibleComponentBase::getSize()
{
awt::Rectangle aBBox (getBounds());
return awt::Size (aBBox.Width, aBBox.Height);
}
void SAL_CALL AccessibleComponentBase::grabFocus()
{
uno::Reference<XAccessibleContext> xContext (this, uno::UNO_QUERY);
uno::Reference<XAccessibleSelection> xSelection (
xContext->getAccessibleParent(), uno::UNO_QUERY);
if (xSelection.is())
{
// Do a single selection on this object.
xSelection->clearAccessibleSelection();
xSelection->selectAccessibleChild (xContext->getAccessibleIndexInParent());
}
}
sal_Int32 SAL_CALL AccessibleComponentBase::getForeground()
{
return sal_Int32(COL_BLACK);
}
sal_Int32 SAL_CALL AccessibleComponentBase::getBackground()
{
return sal_Int32(COL_WHITE);
}
// XAccessibleExtendedComponent
OUString SAL_CALL AccessibleComponentBase::getTitledBorderText()
{
return OUString();
}
OUString SAL_CALL AccessibleComponentBase::getToolTipText()
{
return OUString();
}
// XTypeProvider
uno::Sequence<uno::Type>
AccessibleComponentBase::getTypes()
{
static const uno::Sequence aTypeList {
cppu::UnoType<XAccessibleComponent>::get(),
cppu::UnoType<XAccessibleExtendedComponent>::get() };
return aTypeList;
}
} // end of namespace accessibility
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -20,6 +20,7 @@
#include <editeng/AccessibleContextBase.hxx>
#include <com/sun/star/accessibility/XAccessibleEventListener.hpp>
#include <com/sun/star/accessibility/XAccessibleSelection.hpp>
#include <com/sun/star/accessibility/AccessibleStateType.hpp>
#include <com/sun/star/accessibility/AccessibleRelationType.hpp>
#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
@@ -31,6 +32,7 @@
#include <cppuhelper/supportsservice.hxx>
#include <osl/mutex.hxx>
#include <rtl/ref.hxx>
#include <tools/color.hxx>
#include <utility>
@@ -359,6 +361,92 @@ void SAL_CALL AccessibleContextBase::removeAccessibleEventListener (
}
}
// XAccessibleComponent
sal_Bool SAL_CALL AccessibleContextBase::containsPoint (
const css::awt::Point& aPoint)
{
awt::Size aSize (getSize());
return (aPoint.X >= 0)
&& (aPoint.X < aSize.Width)
&& (aPoint.Y >= 0)
&& (aPoint.Y < aSize.Height);
}
uno::Reference<XAccessible > SAL_CALL
AccessibleContextBase::getAccessibleAtPoint (
const awt::Point& /*aPoint*/)
{
return uno::Reference<XAccessible>();
}
awt::Rectangle SAL_CALL AccessibleContextBase::getBounds()
{
return awt::Rectangle();
}
awt::Point SAL_CALL AccessibleContextBase::getLocation()
{
awt::Rectangle aBBox (getBounds());
return awt::Point (aBBox.X, aBBox.Y);
}
awt::Point SAL_CALL AccessibleContextBase::getLocationOnScreen()
{
return awt::Point();
}
css::awt::Size SAL_CALL AccessibleContextBase::getSize()
{
awt::Rectangle aBBox (getBounds());
return awt::Size (aBBox.Width, aBBox.Height);
}
void SAL_CALL AccessibleContextBase::grabFocus()
{
uno::Reference<XAccessibleSelection> xSelection(getAccessibleParent(), uno::UNO_QUERY);
if (xSelection.is())
{
// Do a single selection on this object.
xSelection->clearAccessibleSelection();
xSelection->selectAccessibleChild (getAccessibleIndexInParent());
}
}
sal_Int32 SAL_CALL AccessibleContextBase::getForeground()
{
return sal_Int32(COL_BLACK);
}
sal_Int32 SAL_CALL AccessibleContextBase::getBackground()
{
return sal_Int32(COL_WHITE);
}
// XAccessibleExtendedComponent
OUString SAL_CALL AccessibleContextBase::getTitledBorderText()
{
return OUString();
}
OUString SAL_CALL AccessibleContextBase::getToolTipText()
{
return OUString();
}
// XServiceInfo
OUString SAL_CALL AccessibleContextBase::getImplementationName()
{

View File

@@ -1,100 +0,0 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#pragma once
#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
#include <editeng/editengdllapi.h>
namespace accessibility
{
/** @descr
This base class provides (will provide) a base implementation of the
XAccessibleComponent and the
XAccessibleExtendedComponent for all shapes. For
more detailed documentation about the methods refer to the interface
descriptions of XAccessible,
XAccessibleContext, <type>XInterface</type>,
XServiceInfo, and <type>XTypeProvider</type>.
*/
class EDITENG_DLLPUBLIC AccessibleComponentBase
: public css::accessibility::XAccessibleExtendedComponent
{
public:
//===== internal ========================================================
AccessibleComponentBase();
virtual ~AccessibleComponentBase();
//===== XAccessibleComponent ================================================
/** The default implementation uses the result of
<member>getBounds</member> to determine whether the given point lies
inside this object.
*/
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point& aPoint) override;
/** The default implementation returns an empty reference.
*/
virtual css::uno::Reference<css::accessibility::XAccessible>
SAL_CALL getAccessibleAtPoint(const css::awt::Point& aPoint) override;
/** The default implementation returns an empty rectangle.
*/
virtual css::awt::Rectangle SAL_CALL getBounds() override;
/** The default implementation uses the result of
<member>getBounds</member> to determine the location.
*/
virtual css::awt::Point SAL_CALL getLocation() override;
/** The default implementation returns an empty position, i.e. the
* result of the default constructor of css::awt::Point.
*/
virtual css::awt::Point SAL_CALL getLocationOnScreen() override;
/** The default implementation uses the result of
<member>getBounds</member> to determine the size.
*/
virtual css::awt::Size SAL_CALL getSize() override;
/** The default implementation does nothing.
*/
virtual void SAL_CALL grabFocus() override;
/** Returns black as the default foreground color.
*/
virtual sal_Int32 SAL_CALL getForeground() override;
/** Returns white as the default background color.
*/
virtual sal_Int32 SAL_CALL getBackground() override;
//===== XAccessibleExtendedComponent ====================================
virtual OUString SAL_CALL getTitledBorderText() override;
virtual OUString SAL_CALL getToolTipText() override;
//===== XTypeProvider ===================================================
/// @throws css::uno::RuntimeException
virtual css::uno::Sequence<css::uno::Type> SAL_CALL getTypes();
};
} // end of namespace accessibility
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */

View File

@@ -22,6 +22,7 @@
#include <com/sun/star/accessibility/XAccessible.hpp>
#include <com/sun/star/accessibility/XAccessibleContext.hpp>
#include <com/sun/star/accessibility/XAccessibleEventBroadcaster.hpp>
#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <cppuhelper/compbase.hxx>
@@ -37,7 +38,8 @@ namespace accessibility {
/** @descr
This base class provides an implementation of the
AccessibleContext service. Apart from the
<type>XAccessible<type> and XAccessibleContext
<type>XAccessible<type>, XAccessibleContext, XAccessibleComponent
and XAccessibleExtendedComponent
interfaces it supports the XServiceInfo interface.
*/
class EDITENG_DLLPUBLIC AccessibleContextBase
@@ -46,6 +48,7 @@ class EDITENG_DLLPUBLIC AccessibleContextBase
css::accessibility::XAccessible,
css::accessibility::XAccessibleContext,
css::accessibility::XAccessibleEventBroadcaster,
css::accessibility::XAccessibleExtendedComponent,
css::lang::XServiceInfo
>
{
@@ -220,6 +223,53 @@ public:
removeAccessibleEventListener (
const css::uno::Reference< css::accessibility::XAccessibleEventListener >& xListener) override;
//===== XAccessibleComponent ================================================
/** The default implementation uses the result of
<member>getBounds</member> to determine whether the given point lies
inside this object.
*/
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point& aPoint) override;
/** The default implementation returns an empty reference.
*/
virtual css::uno::Reference<css::accessibility::XAccessible>
SAL_CALL getAccessibleAtPoint(const css::awt::Point& aPoint) override;
/** The default implementation returns an empty rectangle.
*/
virtual css::awt::Rectangle SAL_CALL getBounds() override;
/** The default implementation uses the result of
<member>getBounds</member> to determine the location.
*/
virtual css::awt::Point SAL_CALL getLocation() override;
/** The default implementation returns an empty position, i.e. the
* result of the default constructor of css::awt::Point.
*/
virtual css::awt::Point SAL_CALL getLocationOnScreen() override;
/** The default implementation uses the result of
<member>getBounds</member> to determine the size.
*/
virtual css::awt::Size SAL_CALL getSize() override;
/** The default implementation does nothing.
*/
virtual void SAL_CALL grabFocus() override;
/** Returns black as the default foreground color.
*/
virtual sal_Int32 SAL_CALL getForeground() override;
/** Returns white as the default background color.
*/
virtual sal_Int32 SAL_CALL getBackground() override;
//===== XAccessibleExtendedComponent ====================================
virtual OUString SAL_CALL getTitledBorderText() override;
virtual OUString SAL_CALL getToolTipText() override;
//===== XServiceInfo ====================================================

View File

@@ -39,7 +39,6 @@
#include <com/sun/star/lang/XUnoTunnel.hpp>
#include <comphelper/servicehelper.hxx>
#include <editeng/AccessibleContextBase.hxx>
#include <editeng/AccessibleComponentBase.hxx>
#include <rtl/ustring.hxx>
#include <sal/types.h>
#include <svx/AccessibleShapeTreeInfo.hxx>
@@ -86,7 +85,6 @@ class IAccessibleParent;
*/
class SVX_DLLPUBLIC AccessibleShape
: public AccessibleContextBase,
public AccessibleComponentBase,
public css::accessibility::XAccessibleSelection,
public css::accessibility::XAccessibleExtendedAttributes,
public css::accessibility::XAccessibleGroupPosition,

View File

@@ -422,8 +422,6 @@ css::uno::Sequence< css::uno::Type> SAL_CALL
return comphelper::concatSequences(
// Get list of types from the context base implementation, ...
AccessibleContextBase::getTypes(),
// ... get list of types from component base implementation, ...
AccessibleComponentBase::getTypes(),
// ...and add the additional type for the component, ...
css::uno::Sequence {
cppu::UnoType<lang::XEventListener>::get(),

View File

@@ -21,7 +21,6 @@
#define INCLUDED_SD_SOURCE_UI_INC_ACCESSIBLEDOCUMENTVIEWBASE_HXX
#include <editeng/AccessibleContextBase.hxx>
#include <editeng/AccessibleComponentBase.hxx>
#include <editeng/AccessibleSelectionBase.hxx>
#include "AccessibleViewForwarder.hxx"
#include <svx/AccessibleShapeTreeInfo.hxx>
@@ -80,7 +79,6 @@ namespace accessibility {
*/
class AccessibleDocumentViewBase
: public AccessibleContextBase,
public AccessibleComponentBase,
public AccessibleSelectionBase,
public IAccessibleViewForwarderListener,
public css::beans::XPropertyChangeListener,

View File

@@ -3256,7 +3256,6 @@ editeng/inc/unomodel.hxx
editeng/qa/items/borderline_test.cxx
editeng/qa/lookuptree/lookuptree_test.cxx
editeng/qa/unit/core-test.cxx
editeng/source/accessibility/AccessibleComponentBase.cxx
editeng/source/accessibility/AccessibleContextBase.cxx
editeng/source/accessibility/AccessibleEditableTextPara.cxx
editeng/source/accessibility/AccessibleHyperlink.cxx

View File

@@ -851,8 +851,6 @@ uno::Sequence<uno::Type> SAL_CALL
ThrowIfDisposed ();
// Get list of types from the context base implementation, ...
uno::Sequence<uno::Type> aTypeList (AccessibleContextBase::getTypes());
// ... get list of types from component base implementation, ...
uno::Sequence<uno::Type> aComponentTypeList (AccessibleComponentBase::getTypes());
// ... define local types
uno::Sequence<uno::Type> localTypesList = {
cppu::UnoType<lang::XEventListener>::get(),
@@ -860,7 +858,7 @@ uno::Sequence<uno::Type> SAL_CALL
cppu::UnoType<lang::XUnoTunnel>::get()
};
return comphelper::concatSequences(aTypeList, aComponentTypeList, localTypesList);
return comphelper::concatSequences(aTypeList, localTypesList);
}
// lang::XEventListener

View File

@@ -50,7 +50,7 @@ using namespace ::com::sun::star::lang;
namespace accessibility {
AccessibleCell::AccessibleCell( const rtl::Reference< AccessibleTableShape>& rxParent, sdr::table::CellRef xCell, sal_Int32 nIndex, const AccessibleShapeTreeInfo& rShapeTreeInfo )
: AccessibleCellBase( rxParent, AccessibleRole::TABLE_CELL )
: AccessibleContextBase(rxParent, AccessibleRole::TABLE_CELL)
, maShapeTreeInfo( rShapeTreeInfo )
, mnIndexInParent( nIndex )
, mxCell(std::move( xCell ))
@@ -123,28 +123,6 @@ bool AccessibleCell::ResetState (sal_Int64 aState)
return bStateHasChanged;
}
// XInterface
Any SAL_CALL AccessibleCell::queryInterface( const Type& aType )
{
return AccessibleCellBase::queryInterface( aType );
}
void SAL_CALL AccessibleCell::acquire( ) noexcept
{
AccessibleCellBase::acquire();
}
void SAL_CALL AccessibleCell::release( ) noexcept
{
AccessibleCellBase::release();
}
// XAccessibleContext
@@ -229,12 +207,6 @@ sal_Int64 SAL_CALL AccessibleCell::getAccessibleStateSet()
// XAccessibleComponent
sal_Bool SAL_CALL AccessibleCell::containsPoint( const css::awt::Point& aPoint)
{
return AccessibleComponentBase::containsPoint( aPoint );
}
/** The implementation below is at the moment straightforward. It iterates
over all children (and thereby instances all children which have not
been already instantiated) until a child covering the specified point is
@@ -359,12 +331,6 @@ awt::Size SAL_CALL AccessibleCell::getSize()
}
void SAL_CALL AccessibleCell::grabFocus()
{
AccessibleComponentBase::grabFocus();
}
sal_Int32 SAL_CALL AccessibleCell::getForeground()
{
ThrowIfDisposed ();
@@ -382,21 +348,6 @@ sal_Int32 SAL_CALL AccessibleCell::getBackground()
return 0;
}
// XAccessibleExtendedComponent
OUString SAL_CALL AccessibleCell::getTitledBorderText()
{
return AccessibleComponentBase::getTitledBorderText();
}
OUString SAL_CALL AccessibleCell::getToolTipText()
{
return AccessibleComponentBase::getToolTipText();
}
// XAccessibleEventBroadcaster
@@ -549,7 +500,7 @@ OUString SAL_CALL AccessibleCell::getAccessibleName()
}
}
return AccessibleCellBase::getAccessibleName();
return AccessibleContextBase::getAccessibleName();
}
void AccessibleCell::UpdateChildren()
@@ -570,7 +521,7 @@ OUString SAL_CALL AccessibleCell::getAccessibleName() throw (css::uno::RuntimeEx
if( mxCell.is() )
return mxCell->getName();
return AccessibleCellBase::getAccessibleName();
return AccessibleContextBase::getAccessibleName();
}
*/

View File

@@ -24,7 +24,6 @@
#include <com/sun/star/accessibility/XAccessibleExtendedComponent.hpp>
#include <editeng/AccessibleContextBase.hxx>
#include <editeng/AccessibleComponentBase.hxx>
#include <svx/IAccessibleViewForwarderListener.hxx>
#include <svx/AccessibleTextHelper.hxx>
#include <svx/AccessibleShapeTreeInfo.hxx>
@@ -40,10 +39,7 @@ namespace accessibility
class AccessibleShapeTreeInfo;
typedef ::cppu::ImplInheritanceHelper< AccessibleContextBase, css::accessibility::XAccessibleExtendedComponent > AccessibleCellBase;
class AccessibleCell : public AccessibleCellBase
, public AccessibleComponentBase
class AccessibleCell : public AccessibleContextBase
, public IAccessibleViewForwarderListener
{
public:
@@ -57,11 +53,6 @@ public:
virtual bool SetState (sal_Int64 aState) override;
virtual bool ResetState (sal_Int64 aState) override;
// XInterface
virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) override;
virtual void SAL_CALL acquire( ) noexcept override;
virtual void SAL_CALL release( ) noexcept override;
// XAccessibleContext
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override;
virtual css::uno::Reference< css::accessibility::XAccessible> SAL_CALL getAccessibleChild(sal_Int64 nIndex) override;
@@ -73,20 +64,14 @@ public:
static OUString getCellName( sal_Int32 nCol, sal_Int32 nRow );
// 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;
// XAccessibleExtendedComponent
virtual OUString SAL_CALL getTitledBorderText() override;
virtual OUString SAL_CALL getToolTipText() override;
// XAccessibleEventBroadcaster
virtual void SAL_CALL addAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& rxListener) override;
virtual void SAL_CALL removeAccessibleEventListener( const css::uno::Reference< css::accessibility::XAccessibleEventListener >& rxListener) override;