23#include <com/sun/star/accessibility/AccessibleEventId.hpp>
24#include <com/sun/star/accessibility/AccessibleRole.hpp>
25#include <com/sun/star/accessibility/AccessibleStateType.hpp>
26#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
45 :ImplInheritanceHelper( pVCLXWindow )
66 if ( pVCLXAccessibleTabPage )
81 if ( pVCLXAccessibleTabPage )
96 if ( pVCLXAccessibleTabPage )
111 if ( pVCLXAccessibleTabPage )
112 pVCLXAccessibleTabPage->
Update( bNew );
130 Any aOldValue, aNewValue;
131 aNewValue <<= xChild;
132 NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue );
151 Any aOldValue, aNewValue;
152 aOldValue <<= xChild;
153 NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue );
155 Reference< XComponent > xComponent( xChild, UNO_QUERY );
156 if ( xComponent.is() )
157 xComponent->dispose();
164 switch ( rVclWindowEvent.
GetId() )
166 case VclEventId::TabpageActivate:
167 case VclEventId::TabpageDeactivate:
171 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
178 case VclEventId::TabpagePageTextChanged:
182 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
188 case VclEventId::TabpageInserted:
192 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
198 case VclEventId::TabpageRemoved:
202 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
209 if ( pVCLXAccessibleTabPage && pVCLXAccessibleTabPage->
GetPageId() ==
nPageId )
219 case VclEventId::TabpageRemovedAll:
225 case VclEventId::WindowGetFocus:
226 case VclEventId::WindowLoseFocus:
231 case VclEventId::ObjectDying:
240 Reference< XComponent > xComponent(
i, UNO_QUERY );
241 if ( xComponent.is() )
242 xComponent->dispose();
247 VCLXAccessibleComponent::ProcessWindowEvent( rVclWindowEvent );
251 VCLXAccessibleComponent::ProcessWindowEvent( rVclWindowEvent );
258 switch ( rVclWindowEvent.
GetId() )
260 case VclEventId::WindowShow:
261 case VclEventId::WindowHide:
266 if ( pChild && pChild->
GetType() == WindowType::TABPAGE )
272 if ( pTabPage ==
static_cast<TabPage*
>(pChild) )
280 VCLXAccessibleComponent::ProcessWindowChildEvent( rVclWindowEvent );
287 VCLXAccessibleComponent::FillAccessibleStateSet( rStateSet );
290 rStateSet |= AccessibleStateType::FOCUSABLE;
299 VCLXAccessibleComponent::disposing();
309 Reference< XComponent > xComponent(
i, UNO_QUERY );
310 if ( xComponent.is() )
311 xComponent->dispose();
322 return "com.sun.star.comp.toolkit.AccessibleTabControl";
328 return {
"com.sun.star.awt.AccessibleTabControl" };
337 OExternalLockGuard aGuard(
this );
345 OExternalLockGuard aGuard(
this );
348 throw IndexOutOfBoundsException();
374 OExternalLockGuard aGuard(
this );
376 return AccessibleRole::PAGE_TAB_LIST;
382 OExternalLockGuard aGuard(
this );
393 OExternalLockGuard aGuard(
this );
396 throw IndexOutOfBoundsException();
405 OExternalLockGuard aGuard(
this );
408 throw IndexOutOfBoundsException();
415 bool bSelected =
false;
437 OExternalLockGuard aGuard(
this );
445 OExternalLockGuard aGuard(
this );
447 if ( nSelectedChildIndex != 0 )
448 throw IndexOutOfBoundsException();
467 OExternalLockGuard aGuard(
this );
470 throw IndexOutOfBoundsException();
void UpdateSelected(sal_Int32 i, bool bSelected)
VclPtr< TabControl > m_pTabControl
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
bool implIsAccessibleChildSelected(sal_Int32 nChildIndex)
virtual void SAL_CALL selectAllAccessibleChildren() override
AccessibleChildren m_aAccessibleChildren
void InsertChild(sal_Int32 i)
virtual void SAL_CALL deselectAccessibleChild(sal_Int64 nChildIndex) override
void UpdatePageText(sal_Int32 i)
virtual void SAL_CALL clearAccessibleSelection() override
VCLXAccessibleTabControl(VCLXWindow *pVCLXWindow)
void UpdateTabPage(sal_Int32 i, bool bNew)
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(sal_Int64 nSelectedChildIndex) override
virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int64 nChildIndex) override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void FillAccessibleStateSet(sal_Int64 &rStateSet) override
virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual OUString SAL_CALL getImplementationName() override
virtual void ProcessWindowChildEvent(const VclWindowEvent &rVclWindowEvent) override
virtual void SAL_CALL disposing() override
css::uno::Reference< css::accessibility::XAccessible > implGetAccessibleChild(sal_Int64 i)
virtual OUString SAL_CALL getAccessibleName() override
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent) override
virtual void SAL_CALL selectAccessibleChild(sal_Int64 nChildIndex) override
void RemoveChild(sal_Int32 i)
void SetFocused(bool bFocused)
void SetPageText(const OUString &sPageText)
void SetSelected(bool bSelected)
sal_uInt16 GetPageId() const
WindowType GetType() const
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)