24#include <com/sun/star/accessibility/AccessibleStateType.hpp>
25#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
32 void checkIndex_Impl( sal_Int32 _nIndex, std::u16string_view _sText )
34 if ( _nIndex >=
static_cast<sal_Int32
>(_sText.size()) )
35 throw css::lang::IndexOutOfBoundsException();
38 sal_Int32 getIndex_Impl( sal_Int32 _nRow, sal_uInt16 _nColumn, sal_uInt16 _nColumnCount )
40 return _nRow * _nColumnCount + _nColumn;
46 using ::com::sun::star::accessibility::XAccessible;
69 const css::uno::Reference< css::awt::XWindow >& _xFocusWindow,
82 xComponent->addEventListener(
static_cast< XEventListener *
> (
this));
90 Any aRet = AccessibleBrowseBoxCell::queryInterface(rType);
91 if ( !aRet.hasValue() )
99 AccessibleBrowseBoxCell::acquire();
105 AccessibleBrowseBoxCell::release();
113 css::awt::Rectangle aRect;
118 throw IndexOutOfBoundsException();
141 return "com.sun.star.comp.svtools.AccessibleBrowseBoxTableCell";
151 css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
154 throw css::lang::IndexOutOfBoundsException();
163 sal_Int64 nStateSet = 0;
169 nStateSet |= AccessibleStateType::SHOWING;
174 nStateSet |= AccessibleStateType::DEFUNC;
185 osl::MutexGuard aGuard(
getMutex() );
211 throw IndexOutOfBoundsException();
230 throw IndexOutOfBoundsException();
232 return css::uno::Sequence< css::beans::PropertyValue >();
269 throw IndexOutOfBoundsException();
314 checkIndex_Impl( nStartIndex, sText );
315 checkIndex_Impl( nEndIndex, sText );
::vcl::IAccessibleTableProvider * mpBrowseBox
The VCL BrowseBox control.
void ensureIsAlive() const
void setAccessibleDescription(const OUString &rDescription)
Changes the description of the object and notifies listeners.
void setAccessibleName(const OUString &rName)
Changes the name of the object and notifies listeners.
::osl::Mutex & getMutex()
bool implIsShowing()
Determines whether the BrowseBox control is really showing inside of its parent accessible window.
css::uno::Reference< css::accessibility::XAccessible > mxParent
The parent accessible object.
common accessibility-functionality for browse box elements which occupy a cell
sal_Int32 getColumnPos() const
sal_Int32 getRowPos() const
virtual sal_Int32 SAL_CALL getSelectionStart() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual sal_Int32 SAL_CALL getCharacterCount() override
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual OUString SAL_CALL getImplementationName() override
virtual OUString SAL_CALL getText() final override
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
AccessibleBrowseBoxTableCell(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, ::vcl::IAccessibleTableProvider &_rBrowseBox, const css::uno::Reference< css::awt::XWindow > &_xFocusWindow, sal_Int32 _nRowId, sal_uInt16 _nColId, sal_Int32 _nOffset)
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nChildIndex) override
virtual void SAL_CALL release() noexcept override
Releases the object (calls release() on base class).
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
Queries for a new interface.
virtual OUString SAL_CALL getSelectedText() override
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
virtual void SAL_CALL acquire() noexcept override
Acquires the object (calls acquire() on base class).
virtual void implGetSelection(sal_Int32 &nStartIndex, sal_Int32 &nEndIndex) override
virtual sal_Int32 SAL_CALL getSelectionEnd() override
virtual void SAL_CALL disposing() override
Commits DeFunc event to listeners and cleans up members.
virtual sal_Int32 SAL_CALL getCaretPosition() override
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(sal_Int32 nIndex) override
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
virtual css::lang::Locale implGetLocale() override
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &aPoint) override
virtual OUString implGetText() final override
sal_Int64 implCreateStateSet() override
Return a bitset of states of the current object.
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
css::accessibility::TextSegment getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType)
css::accessibility::TextSegment getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType)
sal_Int32 getSelectionEnd()
static bool implIsValidIndex(sal_Int32 nIndex, sal_Int32 nLength)
static bool implIsValidRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex, sal_Int32 nLength)
OUString getSelectedText()
static sal_Unicode implGetCharacter(std::u16string_view rText, sal_Int32 nIndex)
css::accessibility::TextSegment getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType)
sal_Int32 getSelectionStart()
static OUString implGetTextRange(std::u16string_view rText, sal_Int32 nStartIndex, sal_Int32 nEndIndex)
virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const &rType) SAL_OVERRIDE
virtual void FillAccessibleStateSetForCell(sal_Int64 &_rStateSet, sal_Int32 _nRow, sal_uInt16 _nColumnPos) const=0
virtual sal_uInt16 GetColumnCount() const=0
virtual tools::Rectangle GetFieldCharacterBounds(sal_Int32 _nRow, sal_Int32 _nColumnPos, sal_Int32 nIndex)=0
virtual sal_Int32 GetFieldIndexAtPoint(sal_Int32 _nRow, sal_Int32 _nColumnPos, const Point &_rPoint)=0
virtual OUString GetAccessibleObjectName(AccessibleBrowseBoxObjType _eType, sal_Int32 _nPos=-1) const=0
virtual OUString GetAccessibleCellText(sal_Int32 _nRow, sal_uInt16 _nColumnPos) const=0
virtual OUString GetAccessibleObjectDescription(AccessibleBrowseBoxObjType _eType, sal_Int32 _nPos=-1) const=0
virtual css::uno::Reference< css::accessibility::XAccessible > GetAccessible()=0
css::awt::Rectangle AWTRectangle(const ::tools::Rectangle &rVCLRect)
inline ::Point VCLPoint(const css::awt::Point &rAWTPoint)
double getLength(const B2DPolygon &rCandidate)