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/awt/XDevice.hpp>
27#include <com/sun/star/awt/XVclWindowPeer.hpp>
28#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
54 :ImplInheritanceHelper( pTabBar )
63 Any aOldValue, aNewValue;
65 switch ( rVclWindowEvent.
GetId() )
67 case VclEventId::WindowEnabled:
69 aNewValue <<= AccessibleStateType::SENSITIVE;
70 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
71 aNewValue <<= AccessibleStateType::ENABLED;
72 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
75 case VclEventId::WindowDisabled:
77 aOldValue <<= AccessibleStateType::ENABLED;
78 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
79 aOldValue <<= AccessibleStateType::SENSITIVE;
80 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
83 case VclEventId::WindowGetFocus:
85 aNewValue <<= AccessibleStateType::FOCUSED;
86 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
89 case VclEventId::WindowLoseFocus:
91 aOldValue <<= AccessibleStateType::FOCUSED;
92 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
95 case VclEventId::WindowShow:
97 aNewValue <<= AccessibleStateType::SHOWING;
98 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
101 case VclEventId::WindowHide:
103 aOldValue <<= AccessibleStateType::SHOWING;
104 NotifyAccessibleEvent( AccessibleEventId::STATE_CHANGED, aOldValue, aNewValue );
121 if ( m_pTabBar->IsEnabled() )
123 rStateSet |= AccessibleStateType::ENABLED;
124 rStateSet |= AccessibleStateType::SENSITIVE;
127 rStateSet |= AccessibleStateType::FOCUSABLE;
129 if ( m_pTabBar->HasFocus() )
130 rStateSet |= AccessibleStateType::FOCUSED;
132 rStateSet |= AccessibleStateType::VISIBLE;
134 if ( m_pTabBar->IsVisible() )
135 rStateSet |= AccessibleStateType::SHOWING;
138 rStateSet |= AccessibleStateType::RESIZABLE;
147 awt::Rectangle aBounds;
166 if ( xComponent.is() )
167 xComponent->dispose();
178 return "com.sun.star.comp.svtools.AccessibleTabBar";
190 return {
"com.sun.star.awt.AccessibleTabBar" };
221 throw IndexOutOfBoundsException();
228 sal_Int32
nCount = m_pTabBar->GetAccessibleChildWindowCount();
232 vcl::Window* pChild = m_pTabBar->GetAccessibleChildWindow(
static_cast<sal_uInt16
>(
i) );
257 vcl::Window* pParent = m_pTabBar->GetAccessibleParentWindow();
270 sal_Int64 nIndexInParent = -1;
273 vcl::Window* pParent = m_pTabBar->GetAccessibleParentWindow();
279 if ( pChild ==
static_cast< vcl::Window*
>( m_pTabBar ) )
288 return nIndexInParent;
296 return AccessibleRole::PANEL;
304 OUString sDescription;
306 sDescription = m_pTabBar->GetAccessibleDescription();
318 sName = m_pTabBar->GetAccessibleName();
336 sal_Int64 nStateSet = 0;
338 if ( !rBHelper.bDisposed && !rBHelper.bInDispose )
344 nStateSet |= AccessibleStateType::DEFUNC;
395 m_pTabBar->GrabFocus();
406 if ( m_pTabBar->IsControlForeground() )
407 nColor = m_pTabBar->GetControlForeground();
411 if ( m_pTabBar->IsControlFont() )
412 aFont = m_pTabBar->GetControlFont();
414 aFont = m_pTabBar->GetFont();
419 return sal_Int32(nColor);
430 if ( m_pTabBar->IsControlBackground() )
431 nColor = m_pTabBar->GetControlBackground();
433 nColor = m_pTabBar->GetBackground().GetColor();
436 return sal_Int32(nColor);
454 if ( m_pTabBar->IsControlFont() )
455 aFont = m_pTabBar->GetControlFont();
457 aFont = m_pTabBar->GetFont();
459 pVCLXFont->Init( *xDev, aFont );
474 sText = m_pTabBar->GetText();
486 sText = m_pTabBar->GetQuickHelpText();
const LanguageTag & GetLanguageTag() const
static const AllSettings & GetSettings()
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
virtual void SAL_CALL disposing() override
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent)
virtual OUString SAL_CALL getImplementationName() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
virtual css::awt::Rectangle implGetBounds() override
virtual OUString SAL_CALL getTitledBorderText() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual void SAL_CALL disposing() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual OUString SAL_CALL getToolTipText() override
virtual OUString SAL_CALL getAccessibleName() override
virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont() override
virtual sal_Int32 SAL_CALL getForeground() override
virtual OUString SAL_CALL getAccessibleDescription() override
virtual void SAL_CALL grabFocus() override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
AccessibleChildren m_aAccessibleChildren
virtual sal_Bool SAL_CALL supportsService(const OUString &rServiceName) override
virtual sal_Int32 SAL_CALL getBackground() override
void FillAccessibleStateSet(sal_Int64 &rStateSet)
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
virtual css::lang::Locale SAL_CALL getLocale() override
AccessibleTabBar(TabBar *pTabBar)
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent) override
const Color & GetColor() const
vcl::Window * GetAccessibleChildWindow(sal_uInt16 n)
sal_uInt16 GetAccessibleChildWindowCount()
css::uno::Reference< css::accessibility::XAccessible > GetAccessible(bool bCreate=true)
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)
WinBits const WB_SIZEABLE