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>
51 :ImplInheritanceHelper( pTabBar )
52 ,m_nIndexInParent( nIndexInParent )
66 if ( pAccessibleTabBarPage )
75 NotifyAccessibleEvent( AccessibleEventId::SELECTION_CHANGED,
Any(),
Any() );
83 if ( pAccessibleTabBarPage )
99 if ( pAccessibleTabBarPage && m_pTabBar )
101 OUString sPageText = m_pTabBar->GetPageText( m_pTabBar->GetPageId(
static_cast<sal_uInt16
>(
i) ) );
120 Any aOldValue, aNewValue;
121 aNewValue <<= xChild;
122 NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue );
141 Any aOldValue, aNewValue;
142 aOldValue <<= xChild;
143 NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue );
146 if ( xComponent.is() )
147 xComponent->dispose();
174 switch ( rVclWindowEvent.
GetId() )
176 case VclEventId::WindowEnabled:
179 aNewValue <<= AccessibleStateType::SENSITIVE;
180 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED,
Any(), aNewValue );
181 aNewValue <<= AccessibleStateType::ENABLED;
182 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED,
Any(), aNewValue );
185 case VclEventId::WindowDisabled:
188 aOldValue <<= AccessibleStateType::ENABLED;
189 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue,
Any() );
190 aOldValue <<= AccessibleStateType::SENSITIVE;
191 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue,
Any() );
194 case VclEventId::WindowShow:
196 Any aOldValue, aNewValue;
197 aNewValue <<= AccessibleStateType::SHOWING;
198 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
202 case VclEventId::WindowHide:
204 Any aOldValue, aNewValue;
205 aOldValue <<= AccessibleStateType::SHOWING;
206 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
210 case VclEventId::TabbarPageSelected:
215 case VclEventId::TabbarPageActivated:
219 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
220 sal_uInt16 nPagePos = m_pTabBar->GetPagePos(
nPageId );
225 case VclEventId::TabbarPageDeactivated:
229 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
230 sal_uInt16 nPagePos = m_pTabBar->GetPagePos(
nPageId );
235 case VclEventId::TabbarPageInserted:
239 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
240 sal_uInt16 nPagePos = m_pTabBar->GetPagePos(
nPageId );
245 case VclEventId::TabbarPageRemoved:
249 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
264 if ( pAccessibleTabBarPage && pAccessibleTabBarPage->
GetPageId() ==
nPageId )
275 case VclEventId::TabbarPageMoved:
282 case VclEventId::TabbarPageTextChanged:
284 sal_uInt16
nPageId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
285 sal_uInt16 nPagePos = m_pTabBar->GetPagePos(
nPageId );
303 if ( m_pTabBar->IsEnabled() )
305 rStateSet |= AccessibleStateType::ENABLED;
306 rStateSet |= AccessibleStateType::SENSITIVE;
309 rStateSet |= AccessibleStateType::VISIBLE;
311 if ( m_pTabBar->IsVisible() )
312 rStateSet |= AccessibleStateType::SHOWING;
321 awt::Rectangle aBounds;
340 if ( xComponent.is() )
341 xComponent->dispose();
352 return "com.sun.star.comp.svtools.AccessibleTabBarPageList";
364 return {
"com.sun.star.awt.AccessibleTabBarPageList" };
395 throw IndexOutOfBoundsException();
402 sal_uInt16
nPageId = m_pTabBar->GetPageId(
static_cast<sal_uInt16
>(
i) );
421 xParent = m_pTabBar->GetAccessible();
437 return AccessibleRole::PAGE_TAB_LIST;
465 sal_Int64 nStateSet = 0;
467 if ( !rBHelper.bDisposed && !rBHelper.bInDispose )
473 nStateSet |= AccessibleStateType::DEFUNC;
529 sal_Int32 nColor = 0;
534 if ( xParentComp.is() )
535 nColor = xParentComp->getForeground();
546 sal_Int32 nColor = 0;
551 if ( xParentComp.is() )
552 nColor = xParentComp->getBackground();
571 if ( xParentComp.is() )
572 xFont = xParentComp->getFont();
599 throw IndexOutOfBoundsException();
603 m_pTabBar->SetCurPageId( m_pTabBar->GetPageId(
static_cast<sal_uInt16
>(nChildIndex) ) );
604 m_pTabBar->PaintImmediately();
605 m_pTabBar->ActivatePage();
616 throw IndexOutOfBoundsException();
618 bool bSelected =
false;
619 if ( m_pTabBar && m_pTabBar->GetCurPageId() == m_pTabBar->GetPageId(
static_cast<sal_uInt16
>(nChildIndex) ) )
649 throw IndexOutOfBoundsException();
671 throw IndexOutOfBoundsException();
const LanguageTag & GetLanguageTag() const
static const AllSettings & GetSettings()
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
static const sal_uInt16 PAGE_NOT_FOUND
virtual void SAL_CALL disposing() override
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent)
virtual OUString SAL_CALL getAccessibleName() override
virtual css::lang::Locale SAL_CALL getLocale() override
virtual void SAL_CALL disposing() override
virtual OUString SAL_CALL getToolTipText() override
virtual sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(sal_Int64 nSelectedChildIndex) override
virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont() override
void MoveChild(sal_Int32 i, sal_Int32 j)
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
virtual void SAL_CALL grabFocus() override
virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount() override
void UpdatePageText(sal_Int32 i)
void InsertChild(sal_Int32 i)
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent) override
virtual OUString SAL_CALL getTitledBorderText() override
virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int64 nChildIndex) override
void UpdateShowing(bool bShowing)
void RemoveChild(sal_Int32 i)
virtual void SAL_CALL deselectAccessibleChild(sal_Int64 nChildIndex) override
virtual void SAL_CALL selectAccessibleChild(sal_Int64 nChildIndex) override
void UpdateSelected(sal_Int32 i, bool bSelected)
virtual void SAL_CALL clearAccessibleSelection() override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual void SAL_CALL selectAllAccessibleChildren() override
sal_Int32 m_nIndexInParent
virtual OUString SAL_CALL getAccessibleDescription() override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
virtual css::awt::Rectangle implGetBounds() override
void FillAccessibleStateSet(sal_Int64 &rStateSet)
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual sal_Int32 SAL_CALL getBackground() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
AccessibleChildren m_aAccessibleChildren
AccessibleTabBarPageList(TabBar *pTabBar, sal_Int32 nIndexInParent)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
virtual OUString SAL_CALL getImplementationName() override
virtual sal_Int32 SAL_CALL getForeground() override
void SetPageText(const OUString &sPageText)
sal_uInt16 GetPageId() const
void SetSelected(bool bSelected)
void SetShowing(bool bShowing)
css::awt::Rectangle AWTRectangle(const ::tools::Rectangle &rVCLRect)
inline ::tools::Rectangle VCLRectangle(const css::awt::Rectangle &rAWTRect)
inline ::Point VCLPoint(const css::awt::Point &rAWTPoint)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)