diff options
Diffstat (limited to 'editeng/source/accessibility/AccessibleContextBase.cxx')
-rw-r--r-- | editeng/source/accessibility/AccessibleContextBase.cxx | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/editeng/source/accessibility/AccessibleContextBase.cxx b/editeng/source/accessibility/AccessibleContextBase.cxx index 64d58a39092e..0e7aaed382d6 100644 --- a/editeng/source/accessibility/AccessibleContextBase.cxx +++ b/editeng/source/accessibility/AccessibleContextBase.cxx @@ -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() { |