diff options
Diffstat (limited to 'sc/source/ui/inc/AccessibleEditObject.hxx')
-rw-r--r-- | sc/source/ui/inc/AccessibleEditObject.hxx | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/sc/source/ui/inc/AccessibleEditObject.hxx b/sc/source/ui/inc/AccessibleEditObject.hxx index 9a029e8cabf6..ebbd8c62a3a4 100644 --- a/sc/source/ui/inc/AccessibleEditObject.hxx +++ b/sc/source/ui/inc/AccessibleEditObject.hxx @@ -25,6 +25,7 @@ #include <com/sun/star/accessibility/XAccessibleSelection.hpp> #include <address.hxx> #include <vcl/vclptr.hxx> +#include <vcl/customweld.hxx> #include <memory> @@ -56,9 +57,16 @@ public: EditView* pEditView, vcl::Window* pWin, const OUString& rName, const OUString& rDescription, EditObjectType eObjectType); + void InitAcc( + const css::uno::Reference<css::accessibility::XAccessible>& rxParent, + EditView* pEditView, vcl::Window* pWin, const OUString& rName, + const OUString& rDescription); + protected: virtual ~ScAccessibleEditObject() override; + ScAccessibleEditObject(EditObjectType eObjectType); + using ScAccessibleContextBase::IsDefunc; public: @@ -83,6 +91,8 @@ public: SAL_CALL getAccessibleAtPoint( const css::awt::Point& rPoint ) override; + virtual OutputDevice* GetOutputDeviceForView(); + protected: /// Return the object's current bounding box relative to the desktop. virtual tools::Rectangle GetBoundingBoxOnScreen() const override; @@ -182,6 +192,34 @@ private: sal_Int32 GetFgBgColor( const OUString &strPropColor) ; }; +class ScAccessibleEditControlObject : public ScAccessibleEditObject +{ +private: + weld::CustomWidgetController* m_pController; + +protected: + /// Return the object's current bounding box relative to the desktop. + virtual tools::Rectangle GetBoundingBoxOnScreen() const override; + + /// Return the object's current bounding box relative to the parent object. + virtual tools::Rectangle GetBoundingBox() const override; + +public: + ScAccessibleEditControlObject(weld::CustomWidgetController* pController) + : ScAccessibleEditObject(ScAccessibleEditObject::EditControl) + , m_pController(pController) + { + } + + virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet( ) override; + + // for mapping positions/sizes within the TextView to a11y + virtual OutputDevice* GetOutputDeviceForView() override; + + using ScAccessibleContextBase::disposing; + virtual void SAL_CALL disposing() override; +}; + #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |