23#include <com/sun/star/accessibility/AccessibleEventId.hpp>
24#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
41 :VCLXAccessibleComponent( pVCLXWindow )
58 if ( pVCLXAccessibleStatusBarItem )
59 pVCLXAccessibleStatusBarItem->
SetShowing( bShowing );
74 if ( pVCLXAccessibleStatusBarItem )
76 OUString sItemName = pVCLXAccessibleStatusBarItem->
GetItemName();
77 pVCLXAccessibleStatusBarItem->
SetItemName( sItemName );
92 if ( pVCLXAccessibleStatusBarItem )
94 OUString sItemText = pVCLXAccessibleStatusBarItem->
GetItemText();
95 pVCLXAccessibleStatusBarItem->
SetItemText( sItemText );
113 Any aOldValue, aNewValue;
114 aNewValue <<= xChild;
115 NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue );
134 Any aOldValue, aNewValue;
135 aOldValue <<= xChild;
136 NotifyAccessibleEvent( AccessibleEventId::CHILD, aOldValue, aNewValue );
138 Reference< XComponent > xComponent( xChild, UNO_QUERY );
139 if ( xComponent.is() )
140 xComponent->dispose();
147 switch ( rVclWindowEvent.
GetId() )
149 case VclEventId::StatusbarItemAdded:
153 sal_uInt16 nItemId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
154 sal_uInt16 nItemPos =
m_pStatusBar->GetItemPos( nItemId );
159 case VclEventId::StatusbarItemRemoved:
163 sal_uInt16 nItemId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
170 if ( pVCLXAccessibleStatusBarItem && pVCLXAccessibleStatusBarItem->
GetItemId() == nItemId )
180 case VclEventId::StatusbarAllItemsRemoved:
186 case VclEventId::StatusbarShowItem:
187 case VclEventId::StatusbarHideItem:
191 sal_uInt16 nItemId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
192 sal_uInt16 nItemPos =
m_pStatusBar->GetItemPos( nItemId );
197 case VclEventId::StatusbarNameChanged:
201 sal_uInt16 nItemId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
202 sal_uInt16 nItemPos =
m_pStatusBar->GetItemPos( nItemId );
207 case VclEventId::StatusbarDrawItem:
211 sal_uInt16 nItemId =
static_cast<sal_uInt16
>(
reinterpret_cast<sal_IntPtr
>(rVclWindowEvent.
GetData()));
212 sal_uInt16 nItemPos =
m_pStatusBar->GetItemPos( nItemId );
217 case VclEventId::ObjectDying:
226 Reference< XComponent > xComponent(
i, UNO_QUERY );
227 if ( xComponent.is() )
228 xComponent->dispose();
233 VCLXAccessibleComponent::ProcessWindowEvent( rVclWindowEvent );
237 VCLXAccessibleComponent::ProcessWindowEvent( rVclWindowEvent );
247 VCLXAccessibleComponent::disposing();
257 Reference< XComponent > xComponent(
i, UNO_QUERY );
258 if ( xComponent.is() )
259 xComponent->dispose();
270 return "com.sun.star.comp.toolkit.AccessibleStatusBar";
276 return {
"com.sun.star.awt.AccessibleStatusBar" };
285 OExternalLockGuard aGuard(
this );
293 OExternalLockGuard aGuard(
this );
296 throw IndexOutOfBoundsException();
303 sal_uInt16 nItemId =
m_pStatusBar->GetItemId(
static_cast<sal_uInt16
>(
i) );
321 OExternalLockGuard aGuard(
this );
327 sal_Int32 nItemPos =
m_pStatusBar->GetItemPos( nItemId );
void SetItemText(const OUString &sItemText)
void SetItemName(const OUString &sItemName)
void SetShowing(bool bShowing)
sal_uInt16 GetItemId() const
void UpdateItemName(sal_Int32 i)
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
void RemoveChild(sal_Int32 i)
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
void UpdateShowing(sal_Int32 i, bool bShowing)
virtual void ProcessWindowEvent(const VclWindowEvent &rVclWindowEvent) override
void InsertChild(sal_Int32 i)
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual OUString SAL_CALL getImplementationName() override
AccessibleChildren m_aAccessibleChildren
void UpdateItemText(sal_Int32 i)
virtual void SAL_CALL disposing() override
VclPtr< StatusBar > m_pStatusBar
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
VCLXAccessibleStatusBar(VCLXWindow *pVCLXWindow)
inline ::Point VCLPoint(const css::awt::Point &rAWTPoint)
constexpr std::enable_if_t< std::is_signed_v< T >, std::make_unsigned_t< T > > make_unsigned(T value)