31#include <com/sun/star/accessibility/AccessibleRole.hpp>
32#include <com/sun/star/accessibility/AccessibleStateType.hpp>
33#include <com/sun/star/accessibility/IllegalAccessibleComponentStateException.hpp>
34#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
53 const Reference<XAccessible>& rxParent,
55 sal_uInt16 nPageNumber)
57 mnPageNumber(nPageNumber),
76 AccessibleEventObject aEventObject;
78 aEventObject.Source = Reference<XWeak>(
this);
79 aEventObject.EventId = nEventId;
80 aEventObject.NewValue = rNewValue;
81 aEventObject.OldValue = rOldValue;
99Reference<XAccessibleContext> SAL_CALL
117 throw lang::IndexOutOfBoundsException();
130 sal_Int64 nIndexInParent(-1);
134 Reference<XAccessibleContext> xParentContext (
mxParent->getAccessibleContext());
135 if (xParentContext.is())
137 sal_Int64 nChildCount (xParentContext->getAccessibleChildCount());
138 for (sal_Int64
i=0;
i<nChildCount; ++
i)
139 if (xParentContext->getAccessibleChild(
i).get()
140 ==
static_cast<XAccessible*
>(
this))
148 return nIndexInParent;
154 return AccessibleRole::SHAPE;
169 if (pPage !=
nullptr)
175Reference<XAccessibleRelationSet> SAL_CALL
179 return Reference<XAccessibleRelationSet>();
187 sal_Int64 nStateSet = 0;
192 nStateSet |= AccessibleStateType::SELECTABLE;
193 nStateSet |= AccessibleStateType::FOCUSABLE;
194 nStateSet |= AccessibleStateType::ENABLED;
196 nStateSet |= AccessibleStateType::SHOWING;
197 nStateSet |= AccessibleStateType::ACTIVE;
198 nStateSet |= AccessibleStateType::SENSITIVE;
202 nStateSet |= AccessibleStateType::SELECTED;
205 nStateSet |= AccessibleStateType::FOCUSED;
217 Reference<XAccessibleContext> xParentContext (
mxParent->getAccessibleContext());
218 if (xParentContext.is())
219 return xParentContext->getLocale ();
224 throw IllegalAccessibleComponentStateException();
230 const Reference<XAccessibleEventListener>& rxListener)
232 if (!rxListener.is())
235 const std::unique_lock aGuard(
m_aMutex);
239 uno::Reference<uno::XInterface>
x (
static_cast<lang::XComponent *
>(
this), uno::UNO_QUERY);
240 rxListener->disposing (lang::EventObject (
x));
251 const Reference<XAccessibleEventListener>& rxListener)
257 const std::unique_lock aGuard(
m_aMutex);
260 if ( !nListenerCount )
276 const awt::Size aSize (
getSize());
277 return (aPoint.X >= 0)
278 && (aPoint.X < aSize.Width)
280 && (aPoint.Y < aSize.Height);
283Reference<XAccessible> SAL_CALL
303 Reference<XAccessibleComponent> xParentComponent(
mxParent->getAccessibleContext(), UNO_QUERY);
304 if (xParentComponent.is())
306 awt::Rectangle aParentBBox (xParentComponent->getBounds());
311 aParentBBox.Height));
315 return awt::Rectangle(
325 const awt::Rectangle aBBox (
getBounds());
326 return awt::Point(aBBox.X, aBBox.Y);
339 Reference<XAccessibleComponent> xParentComponent(
mxParent->getAccessibleContext(),UNO_QUERY);
340 if (xParentComponent.is())
342 const awt::Point aParentLocationOnScreen(xParentComponent->getLocationOnScreen());
343 aLocation.X += aParentLocationOnScreen.X;
344 aLocation.Y += aParentLocationOnScreen.Y;
354 const awt::Rectangle aBBox (
getBounds());
355 return awt::Size(aBBox.Width,aBBox.Height);
368 return static_cast<sal_Int32
>(nColor);
375 return sal_Int32(nColor);
382 return "AccessibleSlideSorterObject";
390uno::Sequence< OUString> SAL_CALL
395 return uno::Sequence<OUString> {
396 OUString(
"com.sun.star.accessibility.Accessible"),
397 OUString(
"com.sun.star.accessibility.AccessibleContext")
405 SAL_WARN(
"sd",
"Calling disposed object. Throwing exception:");
406 throw lang::DisposedException (
"object has been already disposed",
407 static_cast<uno::XWeak*
>(
this));
421 return pDescriptor->GetPage();
SlideSorter & mrSlideSorter
constexpr OUStringLiteral sServiceName
unotools::WeakReference< AnimationNode > mxParent
const StyleSettings & GetStyleSettings() const
static const AllSettings & GetSettings()
const OUString & GetName() const
const Color & GetWindowColor() const
virtual sal_Bool SAL_CALL containsPoint(const css::awt::Point &aPoint) override
virtual OUString SAL_CALL getAccessibleDescription() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
virtual OUString SAL_CALL getImplementationName() override
Returns an identifier for the implementation of this object.
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
virtual css::awt::Rectangle SAL_CALL getBounds() override
virtual sal_Int32 SAL_CALL getBackground() override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
::sd::slidesorter::SlideSorter & mrSlideSorter
AccessibleSlideSorterObject(const css::uno::Reference< css::accessibility::XAccessible > &rxParent, ::sd::slidesorter::SlideSorter &rSlideSorter, sal_uInt16 nPageNumber)
Create a new object that represents a page object in the slide sorter.
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &rxListener) override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nIndex) override
SdPage * GetPage() const
Return the page that is made accessible by the called object.
virtual ~AccessibleSlideSorterObject() override
void FireAccessibleEvent(short nEventId, const css::uno::Any &rOldValue, const css::uno::Any &rNewValue)
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
virtual sal_Int32 SAL_CALL getForeground() override
virtual css::awt::Size SAL_CALL getSize() override
virtual sal_Bool SAL_CALL supportsService(const OUString &sServiceName) override
Return whether the specified service is supported by this class.
virtual css::lang::Locale SAL_CALL getLocale() override
virtual void SAL_CALL grabFocus() override
bool IsDisposed() const
Check whether or not the object has been disposed (or is in the state of being disposed).
virtual void disposing(std::unique_lock< std::mutex > &) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &rxListener) override
virtual css::awt::Point SAL_CALL getLocation() override
void ThrowIfDisposed()
Check whether or not the object has been disposed (or is in the state of being disposed).
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
css::uno::Reference< css::accessibility::XAccessible > mxParent
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
Returns a list of all supported services.
virtual OUString SAL_CALL getAccessibleName() override
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
static sal_Int32 addEventListener(const TClientId _nClient, const css::uno::Reference< css::accessibility::XAccessibleEventListener > &_rxListener)
static void addEvent(const TClientId _nClient, const css::accessibility::AccessibleEventObject &_rEvent)
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)
virtual void SAL_CALL dispose() noexcept final override
Show previews for all the slides in a document and allow the user to insert or delete slides and modi...
SD_DLLPUBLIC controller::SlideSorterController & GetController() const
model::SlideSorterModel & GetModel() const
view::SlideSorterView & GetView() const
bool IsFocusShowing() const
Return <TRUE> when the focus indicator is currently shown.
sal_Int32 GetFocusedPageIndex() const
Return the index of the page that currently has the focus as it is accepted by the slide sorter model...
SD_DLLPUBLIC bool IsPageSelected(int nPageIndex)
Return whether the specified page is selected.
FocusManager & GetFocusManager()
SD_DLLPUBLIC PageSelector & GetPageSelector()
SharedPageDescriptor GetPageDescriptor(const sal_Int32 nPageIndex, const bool bCreate=true) const
Return a page descriptor for the page with the specified index.
std::shared_ptr< PageObjectLayouter > const & GetPageObjectLayouter() const
view::Layouter & GetLayouter()
#define SAL_WARN(area, stream)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
std::shared_ptr< PageDescriptor > SharedPageDescriptor
OUString SdResId(TranslateId aId)