22#include <com/sun/star/awt/Rectangle.hpp>
23#include <com/sun/star/accessibility/AccessibleRole.hpp>
24#include <com/sun/star/accessibility/AccessibleStateType.hpp>
25#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
35#define ACCESSIBLE_ACTION_COUNT 1
40 void checkActionIndex_Impl( sal_Int32 _nIndex )
44 throw css::lang::IndexOutOfBoundsException();
67 m_pIconCtrl ( &_rIconCtrl ),
70 m_xParent ( _xParent )
77 xComp->addEventListener(
this );
119 aTopLeft +=
m_pIconCtrl->GetWindowExtentsAbsolute().TopLeft();
128 return ( !rBHelper.bDisposed && !rBHelper.bInDispose &&
m_pIconCtrl );
133 bool bShowing =
false;
136 if( xParentContext.is() )
139 if( xParentComp.is() )
149 ::osl::MutexGuard aGuard(
m_aMutex );
158 ::osl::MutexGuard aGuard(
m_aMutex );
167 throw lang::DisposedException();
194 return css::uno::Sequence<sal_Int8>();
201 ::osl::MutexGuard aGuard(
m_aMutex );
213 xComp->removeEventListener(
this );
223 return "com.sun.star.comp.svtools.AccessibleIconChoiceControlEntry";
228 return {
"com.sun.star.accessibility.AccessibleContext",
229 "com.sun.star.accessibility.AccessibleComponent",
230 "com.sun.star.awt.AccessibleIconChoiceControlEntry"};
255 throw IndexOutOfBoundsException();
260 ::osl::MutexGuard aGuard(
m_aMutex );
268 ::osl::MutexGuard aGuard(
m_aMutex );
276 return AccessibleRole::LIST_ITEM;
287 ::osl::MutexGuard aGuard(
m_aMutex );
301 ::osl::MutexGuard aGuard(
m_aMutex );
303 sal_Int64 nStateSet = 0;
307 nStateSet |= AccessibleStateType::TRANSIENT;
308 nStateSet |= AccessibleStateType::SELECTABLE;
309 nStateSet |= AccessibleStateType::ENABLED;
310 nStateSet |= AccessibleStateType::SENSITIVE;
313 nStateSet |= AccessibleStateType::SHOWING;
314 nStateSet |= AccessibleStateType::VISIBLE;
318 nStateSet |= AccessibleStateType::SELECTED;
321 nStateSet |= AccessibleStateType::DEFUNC;
329 ::osl::MutexGuard aGuard(
m_aMutex );
374 ::osl::MutexGuard aGuard(
m_aMutex );
376 sal_Int32 nColor = 0;
381 if ( xParentComp.is() )
382 nColor = xParentComp->getForeground();
391 ::osl::MutexGuard aGuard(
m_aMutex );
393 sal_Int32 nColor = 0;
398 if ( xParentComp.is() )
399 nColor = xParentComp->getBackground();
411 ::osl::MutexGuard aGuard(
m_aMutex );
414 throw IndexOutOfBoundsException();
416 awt::Rectangle aBounds( 0, 0, 0, 0 );
421 aCharRect.
Move( -aItemRect.
Left(), -aItemRect.
Top() );
431 ::osl::MutexGuard aGuard(
m_aMutex );
438 m_pIconCtrl->RecordLayoutData( &aLayoutData, aItemRect );
447 bool bInside = aRect.
Contains( aPnt );
460 ::osl::MutexGuard aGuard(
m_aMutex );
464 if ( ( 0 > nStartIndex ) || ( sText.getLength() <= nStartIndex )
465 || ( 0 > nEndIndex ) || ( sText.getLength() <= nEndIndex ) )
466 throw IndexOutOfBoundsException();
468 sal_Int32 nLen = nEndIndex - nStartIndex + 1;
485 ::osl::MutexGuard aGuard(
m_aMutex );
497 ::osl::MutexGuard aGuard(
m_aMutex );
500 if ( !nListenerCount )
519 ::osl::MutexGuard aGuard(
m_aMutex );
523 throw IndexOutOfBoundsException();
530 ::osl::MutexGuard aGuard(
m_aMutex );
537 ::osl::MutexGuard aGuard(
m_aMutex );
543 throw IndexOutOfBoundsException();
545 return css::uno::Sequence< css::beans::PropertyValue >();
550 ::osl::MutexGuard aGuard(
m_aMutex );
558 ::osl::MutexGuard aGuard(
m_aMutex );
565 ::osl::MutexGuard aGuard(
m_aMutex );
572 ::osl::MutexGuard aGuard(
m_aMutex );
579 ::osl::MutexGuard aGuard(
m_aMutex );
583 throw IndexOutOfBoundsException();
590 ::osl::MutexGuard aGuard(
m_aMutex );
597 ::osl::MutexGuard aGuard(
m_aMutex );
604 ::osl::MutexGuard aGuard(
m_aMutex );
611 ::osl::MutexGuard aGuard(
m_aMutex );
618 ::osl::MutexGuard aGuard(
m_aMutex );
636 ::osl::MutexGuard aGuard(
m_aMutex );
639 checkActionIndex_Impl(
nIndex );
656 ::osl::MutexGuard aGuard(
m_aMutex );
658 checkActionIndex_Impl(
nIndex );
667 checkActionIndex_Impl(
nIndex );
#define ACCESSIBLE_ACTION_COUNT
const LanguageTag & GetUILanguageTag() const
static const AllSettings & GetSettings()
const css::lang::Locale & getLocale(bool bResolveSystem=true) const
OUString VCL_DLLPUBLIC GetDisplayText() const
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
virtual sal_Int32 SAL_CALL getSelectionStart() override
virtual css::uno::Reference< css::accessibility::XAccessibleKeyBinding > SAL_CALL getAccessibleActionKeyBinding(sal_Int32 nIndex) override
tools::Rectangle GetBoundingBox()
virtual sal_Int32 SAL_CALL getForeground() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
AccessibleIconChoiceCtrlEntry(SvtIconChoiceCtrl &_rIconCtrl, sal_Int32 _nPos, const css::uno::Reference< css::accessibility::XAccessible > &_xParent)
Ctor()
virtual sal_Int32 SAL_CALL getAccessibleActionCount() override
virtual OUString implGetText() override
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
virtual sal_Bool SAL_CALL doAccessibleAction(sal_Int32 nIndex) override
tools::Rectangle GetBoundingBox_Impl() const
bool IsAlive_Impl() const
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual void SAL_CALL disposing() override
this function is called upon disposing the component
virtual ~AccessibleIconChoiceCtrlEntry() override
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
tools::Rectangle GetBoundingBoxOnScreen_Impl() const
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
virtual sal_Bool SAL_CALL supportsService(const OUString &ServiceName) override
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual sal_Int32 SAL_CALL getCharacterCount() override
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
bool IsShowing_Impl() const
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
virtual OUString SAL_CALL getAccessibleDescription() override
virtual void SAL_CALL grabFocus() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 i) override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
virtual OUString SAL_CALL getText() override
css::uno::Reference< css::accessibility::XAccessible > m_xParent
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual css::lang::Locale SAL_CALL getLocale() override
virtual sal_Int32 SAL_CALL getCaretPosition() override
virtual void implGetSelection(sal_Int32 &nStartIndex, sal_Int32 &nEndIndex) override final
virtual css::lang::Locale implGetLocale() override
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
tools::Rectangle GetBoundingBoxOnScreen()
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &aPoint) override
virtual sal_Int32 SAL_CALL getBackground() override
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(sal_Int32 nIndex) override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual OUString SAL_CALL getSelectedText() override
virtual sal_Int32 SAL_CALL getSelectionEnd() override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
virtual css::awt::Rectangle SAL_CALL getBounds() override
void EnsureIsAlive() const
VclPtr< SvtIconChoiceCtrl > m_pIconCtrl
The treelistbox control.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual OUString SAL_CALL getImplementationName() override
virtual OUString SAL_CALL getAccessibleName() override
virtual OUString SAL_CALL getAccessibleActionDescription(sal_Int32 nIndex) override
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point &aPoint) override
virtual css::awt::Size SAL_CALL getSize() override
sal_uInt32 m_nClientId
client id in the AccessibleEventNotifier queue
virtual css::awt::Point SAL_CALL getLocation() override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
static sal_Int32 addEventListener(const TClientId _nClient, const css::uno::Reference< css::accessibility::XAccessibleEventListener > &_rxListener)
static sal_Int32 removeEventListener(const TClientId _nClient, const css::uno::Reference< css::accessibility::XAccessibleEventListener > &_rxListener)
static TClientId registerClient()
static void revokeClient(const TClientId _nClient)
static void revokeClientNotifyDisposing(const TClientId _nClient, const css::uno::Reference< css::uno::XInterface > &_rxEventSource)
css::accessibility::TextSegment getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType)
css::accessibility::TextSegment getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType)
static bool implIsValidIndex(sal_Int32 nIndex, sal_Int32 nLength)
static bool implIsValidRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex, sal_Int32 nLength)
static sal_Unicode implGetCharacter(std::u16string_view rText, sal_Int32 nIndex)
css::accessibility::TextSegment getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType)
static OUString implGetTextRange(std::u16string_view rText, sal_Int32 nStartIndex, sal_Int32 nEndIndex)
mutable::osl::Mutex m_aMutex
static SVT_DLLPUBLIC void CopyString(const OUString &_rContent, vcl::Window *_pWindow)
css::awt::Size AWTSize(const Size &rVCLSize)
css::awt::Point AWTPoint(const ::Point &rVCLPoint)
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)
double getLength(const B2DPolygon &rCandidate)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
tools::Long GetIndexForPoint(const Point &rPoint) const
tools::Rectangle GetCharacterBounds(tools::Long nIndex) const
std::vector< tools::Rectangle > m_aUnicodeBoundRects