24#include <com/sun/star/accessibility/AccessibleRole.hpp>
25#include <com/sun/star/accessibility/AccessibleRelationType.hpp>
26#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
38 :ImplInheritanceHelper(_pTable->GetComponentInterface().is() ? _pTable->GetWindowPeer() : nullptr)
45 VCLXAccessibleComponent::disposing();
49 if ( rVclWindowEvent.
GetId() == VclEventId::ObjectDying )
51 ::osl::MutexGuard aGuard(
m_aMutex );
55 VCLXAccessibleComponent::ProcessWindowEvent( rVclWindowEvent );
59 return "org.openoffice.comp.dbu.TableWindowAccessibility";
63 return {
"com.sun.star.accessibility.Accessible",
64 "com.sun.star.accessibility.AccessibleContext" };
69 ::osl::MutexGuard aGuard(
m_aMutex );
81 ::osl::MutexGuard aGuard(
m_aMutex );
91 aRet = xCtrl->GetAccessible();
98 aRet = xCtrl->GetAccessible();
102 throw IndexOutOfBoundsException();
109 ::osl::MutexGuard aGuard(
m_aMutex );
114 bool bFoundElem =
false;
115 for (
auto const& tabWin :
m_pTable->getTableView()->GetTabWinMap())
130 return AccessibleRole::PANEL;
134 ::osl::MutexGuard aGuard(
m_aMutex );
140 ::osl::MutexGuard aGuard(
m_aMutex );
144 Point aPoint(_aPoint.X,_aPoint.Y);
148 else if(
m_pTable->GetListBox()->GetDesktopRectPixel().Contains(aPoint))
149 aRet =
m_pTable->GetListBox()->GetAccessible();
160 if ( xParentContext.is() )
162 xReturn = xParentContext->getAccessibleChild(_nIndex);
170 ::osl::MutexGuard aGuard(
m_aMutex );
175 ::osl::MutexGuard aGuard(
m_aMutex );
177 throw IndexOutOfBoundsException();
179 AccessibleRelation aRet;
185 aRet.RelationType = AccessibleRelationType::CONTROLLER_FOR;
191 ::osl::MutexGuard aGuard(
m_aMutex );
192 return AccessibleRelationType::CONTROLLER_FOR == aRelationType
197 ::osl::MutexGuard aGuard(
m_aMutex );
198 if( AccessibleRelationType::CONTROLLER_FOR == aRelationType &&
m_pTable)
204 auto aEnd = rConnectionList.end();
205 std::vector< Reference<XInterface> > aRelations;
206 aRelations.reserve(5);
209 for (; aIter != aEnd ; ++aIter )
211 uno::Reference<uno::XInterface> xInterface(
213 aRelations.push_back(xInterface);
217 return AccessibleRelation(AccessibleRelationType::CONTROLLER_FOR,
aSeq);
219 return AccessibleRelation();
227 ::osl::MutexGuard aGuard(
m_aMutex );
228 OUString sAccessibleName;
230 sAccessibleName =
m_pTable->getTitle();
231 return sAccessibleName;
const std::vector< VclPtr< OTableConnection > > & getTableConnections() const
gives a read only access to the connection vector
virtual void SAL_CALL disposing() override
this function is called upon disposing the component
OTableWindowAccess(OTableWindow *_pTable)
virtual OUString SAL_CALL getAccessibleName() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
css::uno::Reference< css::accessibility::XAccessible > getParentChild(sal_Int64 _nIndex)
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
virtual sal_Int32 SAL_CALL getRelationCount() override
virtual css::accessibility::AccessibleRelation SAL_CALL getRelationByType(sal_Int16 aRelationType) override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual OUString SAL_CALL getTitledBorderText() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
VclPtr< OTableWindow > m_pTable
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual sal_Bool SAL_CALL containsRelation(sal_Int16 aRelationType) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
virtual css::accessibility::AccessibleRelation SAL_CALL getRelation(sal_Int32 nIndex) override
Sequence< sal_Int8 > aSeq