23#include <com/sun/star/accessibility/AccessibleEventId.hpp>
24#include <com/sun/star/accessibility/AccessibleRole.hpp>
25#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
42 const css::uno::Reference< css::accessibility::XAccessible >& _rxParent,
const css::uno::Reference< css::accessibility::XAccessible >& _rxCreator,
45 m_aCreator(_rxCreator)
90css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
96 throw IndexOutOfBoundsException();
98 css::uno::Reference< css::accessibility::XAccessible > xChild;
135 return AccessibleRole::PANEL;
141css::uno::Reference< css::accessibility::XAccessible > SAL_CALL
147 css::uno::Reference< css::accessibility::XAccessible > xChild;
159 css::uno::Reference< css::accessibility::XAccessibleComponent >
160 xCurrChildComp( xCurrChild, uno::UNO_QUERY );
162 if( xCurrChildComp.is() &&
182 return "com.sun.star.accessibility.AccessibleGridControl";
191 OSL_ENSURE( pParent,
"implGetBoundingBox - missing parent window" );
212css::uno::Reference< css::accessibility::XAccessible >
215 css::uno::Reference< css::accessibility::XAccessible > xRet;
225 if( !pxMember->is() )
230 xRet = pxMember->get();
235css::uno::Reference< css::accessibility::XAccessible >
238 css::uno::Reference< css::accessibility::XAccessible > xRet;
239 switch( nChildIndex )
259 css::uno::Reference< css::accessibility::XAccessible > xCreator(
m_aCreator);
260 OSL_ENSURE( xCreator.is(),
"extended/AccessibleGridControl::createAccessibleTable: my creator died - how this?" );
269 for(sal_Int64
i=0;
i<nChildCount;
i++)
271 css::uno::Reference< css::accessibility::XAccessible > xAccessible =
getAccessibleChild(
i);
272 if(css::uno::Reference< css::accessibility::XAccessible >(
m_xTable) == xAccessible)
277 pCell->
commitEvent(_nEventId, _rNewValue, _rOldValue);
284 m_xTable->commitEvent(_nEventId,_rNewValue,_rOldValue);
293 if(_nEventId == AccessibleEventId::ACTIVE_DESCENDANT_CHANGED)
297 css::uno::Reference< css::accessibility::XAccessible > xChild;
298 if (nCurrentRow > -1 && nCurrentCol > -1)
299 xChild =
m_xTable->getAccessibleCellAt(nCurrentRow, nCurrentCol);
301 m_xTable->commitEvent(_nEventId,
Any(xChild),_rOldValue);
304 m_xTable->commitEvent(_nEventId,_rNewValue,_rOldValue);
312 : m_xParent(
std::move( xParent ))
313 , m_pTable( & rTable )
virtual ~AccessibleGridControlAccess() override
rtl::Reference< AccessibleGridControl > m_xContext
css::uno::Reference< css::accessibility::XAccessible > m_xParent
void DisposeAccessImpl() override
AccessibleGridControlAccess(css::uno::Reference< css::accessibility::XAccessible > _xParent, ::vcl::table::IAccessibleTable &_rTable)
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
::vcl::table::IAccessibleTable * m_pTable
The GridControl accessible objects inherit from this base class.
::vcl::table::IAccessibleTable & m_aTable
The SVT Table control.
virtual void commitEvent(sal_Int16 nEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue)
Commits an event to all listeners.
virtual void SAL_CALL disposing() override
Commits DeFunc event to listeners and cleans up members.
void ensureIsAlive() const
This class represents the accessible object of the data table of a Grid control.
This class represents the complete accessible Grid Control object.
virtual void SAL_CALL disposing() override
Commits DeFunc event to listeners and cleans up members.
void commitCellEvent(sal_Int16 nEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue)
commitCellEvent commit the event at all listeners of the table
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
sal_Int64 implGetAccessibleChildCount()
css::uno::Reference< css::accessibility::XAccessible > implGetFixedChild(sal_Int64 nChildIndex)
This method returns one of the children that are always present: Data table, row and column header ba...
virtual tools::Rectangle implGetBoundingBox() override
rtl::Reference< AccessibleGridControlHeader > m_xRowHeaderBar
The header bar for rows.
AccessibleGridControl(const css::uno::Reference< css::accessibility::XAccessible > &_rxParent, const css::uno::Reference< css::accessibility::XAccessible > &_rxCreator, ::vcl::table::IAccessibleTable &_rTable)
css::uno::Reference< css::accessibility::XAccessible > implGetTable()
This method creates (once) and returns the accessible data table child.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &rPoint) override
rtl::Reference< AccessibleGridControlTable > createAccessibleTable()
This method creates and returns an accessible table.
virtual void SAL_CALL grabFocus() override
Grabs the focus to the Grid Control.
void commitTableEvent(sal_Int16 nEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue)
commitTableEvent commit the event at all listeners of the table
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual OUString SAL_CALL getImplementationName() override
css::uno::WeakReference< css::accessibility::XAccessible > m_aCreator
the css::accessibility::XAccessible which created the AccessibleGridControl
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nChildIndex) override
css::uno::Reference< css::accessibility::XAccessible > implGetHeaderBar(::vcl::table::AccessibleTableControlObjType eObjType)
This method creates (once) and returns the specified header bar.
rtl::Reference< AccessibleGridControlHeader > m_xColumnHeaderBar
The header bar for columns (first row of the table).
rtl::Reference< AccessibleGridControlTable > m_xTable
The data table child.
virtual tools::Rectangle implGetBoundingBoxOnScreen() override
virtual vcl::Window * GetAccessibleParentWindow() const=0
virtual bool HasColHeader()=0
virtual sal_Int32 GetCurrentColumn() const=0
virtual void GrabFocus()=0
virtual css::uno::Reference< css::accessibility::XAccessible > CreateAccessibleControl(sal_Int32 _nIndex)=0
virtual tools::Rectangle GetWindowExtentsRelative(const vcl::Window &rRelativeWindow) const=0
virtual sal_Int32 GetCurrentRow() const=0
virtual tools::Rectangle GetWindowExtentsAbsolute() const=0
virtual sal_Int32 GetAccessibleControlCount() const=0
virtual bool HasRowHeader()=0
virtual bool ConvertPointToControlIndex(sal_Int32 &_rnIndex, const Point &_rPoint)=0
inline ::tools::Rectangle VCLRectangle(const css::awt::Rectangle &rAWTRect)
inline ::Point VCLPoint(const css::awt::Point &rAWTPoint)
AccessibleTableControlObjType