21#include <com/sun/star/accessibility/XAccessible.hpp>
22#include <com/sun/star/accessibility/AccessibleEventId.hpp>
35 using namespace ::com::sun::star::accessibility::AccessibleEventId;
42 if ( xAccessible.is() )
43 xAccContext = xAccessible->getAccessibleContext();
46 if ( xAccContext.is() )
49 xAccContext->getAccessibleChild( ::vcl::BBINDEX_TABLE ),
68 DBG_ASSERT(
IsEditing(),
"EditBrowseBox::implCreateActiveAccessible: not to be called if we're not editing currently!" );
69 DBG_ASSERT( !
m_aImpl->m_xActiveCell.is(),
"EditBrowseBox::implCreateActiveAccessible: not to be called if the old one is still alive!" );
76 if ( !(xMy.is() && xCont.is()) )
94 DBG_ASSERT( 0 == _nIndex,
"EditBrowseBox::CreateAccessibleControl: invalid index!" );
98 if ( !
m_aImpl->m_xActiveCell.is() )
113 TOOLS_WARN_EXCEPTION(
"svtools",
"EditBrowseBoxImpl::clearActiveCell: caught an exception while disposing the AccessibleCell!" );
131 bFocus = pWindow ==
this;
142 && ( _nGetFocusFlags & GetFocusFlags::Tab ))
149 if (( nRows <= 0 ) || ( nCols <= 0 ))
152 if ( _nGetFocusFlags & GetFocusFlags::Forward )
164 else if ( _nGetFocusFlags & GetFocusFlags::Backward )
176 _nRow,
GetColumnId( sal::static_int_cast< sal_uInt16 >(_nColumnPos) ) );
189 _nRow,
GetColumnId( sal::static_int_cast< sal_uInt16 >(_nColumnPos) ) );
static vcl::Window * GetFocusWindow()
sal_uInt16 GetColumnId(sal_uInt16 nPos) const
::vcl::IAccessibleFactory & getAccessibleFactory()
retrieves the XAccessible implementation associated with the BrowseBox instance
virtual css::uno::Reference< css::accessibility::XAccessible > GetAccessible() override
sal_Int32 GetCurRow() const
sal_uInt16 ColCount() const
bool GoToRowColumnId(sal_Int32 nRow, sal_uInt16 nColId)
sal_uInt16 GetColumnPos(sal_uInt16 nColumnId) const
static const sal_uInt16 HandleColumnId
sal_uInt16 GetCurColumnId() const
virtual sal_Int32 GetRowCount() const override
bool isAccessibleAlive() const
return <TRUE> if and only if the accessible object for this instance has been created and is alive
void commitBrowseBoxEvent(sal_Int16 nEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue)
commitBrowseBoxEvent commit the event at all listeners of the browsebox
tools::Long GetIndexForPoint(const Point &rPoint) const
tools::Rectangle GetCharacterBounds(tools::Long nIndex) const
static css::uno::Reference< css::awt::XWindow > GetInterface(vcl::Window *pWindow)
ControlBase & GetWindow() const
css::uno::Reference< css::accessibility::XAccessible > m_xActiveCell
virtual CellController * GetController(sal_Int32 nRow, sal_uInt16 nCol)
css::uno::Reference< css::accessibility::XAccessible > CreateAccessibleCheckBoxCell(sal_Int32 _nRow, sal_uInt16 _nColumnPos, const TriState &eState)
SVT_DLLPRIVATE void DetermineFocus(const GetFocusFlags _nGetFocusFlags=GetFocusFlags::NONE)
CellControllerRef aController
std::unique_ptr< EditBrowseBoxImpl > m_aImpl
void implCreateActiveAccessible()
virtual sal_Int32 GetFieldIndexAtPoint(sal_Int32 _nRow, sal_Int32 _nColumnPos, const Point &_rPoint) override
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessibleControl(sal_Int32 nIndex) override
Creates the accessible object of an additional control.
EditBrowseBoxFlags GetBrowserFlags() const
bool ControlHasFocus() const
virtual void GrabTableFocus() override
Sets focus to current cell of the data table.
virtual bool SeekRow(sal_Int32 nRow) override
seeks for the given row position
virtual sal_Int32 GetAccessibleControlCount() const override
virtual tools::Rectangle GetFieldCharacterBounds(sal_Int32 _nRow, sal_Int32 _nColumnPos, sal_Int32 nIndex) override
virtual css::uno::Reference< css::accessibility::XAccessible > createAccessibleCheckBoxCell(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, vcl::IAccessibleTableProvider &_rBrowseBox, const css::uno::Reference< css::awt::XWindow > &_xFocusWindow, sal_Int32 _nRowPos, sal_uInt16 _nColPos, const TriState &_eState, bool _bIsTriState) const=0
virtual css::uno::Reference< css::accessibility::XAccessible > createEditBrowseBoxTableCellAccess(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, const css::uno::Reference< css::accessibility::XAccessible > &_rxControlAccessible, const css::uno::Reference< css::awt::XWindow > &_rxFocusWindow, vcl::IAccessibleTableProvider &_rBrowseBox, sal_Int32 _nRowPos, sal_uInt16 _nColPos) const=0
vcl::Window * GetParent() const
#define DBG_ASSERT(sCon, aError)
#define TOOLS_WARN_EXCEPTION(area, stream)
@ SMART_TAB_TRAVEL
If this bit is set, tab traveling is somewhat modified If the control gets the focus because the use...