22#include <com/sun/star/accessibility/AccessibleRole.hpp>
23#include <com/sun/star/accessibility/AccessibleStateType.hpp>
24#include <com/sun/star/accessibility/AccessibleRelationType.hpp>
25#include <com/sun/star/accessibility/AccessibleEventId.hpp>
26#include <com/sun/star/beans/XPropertySet.hpp>
27#include <com/sun/star/drawing/XShapes.hpp>
28#include <com/sun/star/document/XShapeEventBroadcaster.hpp>
29#include <com/sun/star/lang/IndexOutOfBoundsException.hpp>
30#include <com/sun/star/drawing/FillStyle.hpp>
31#include <com/sun/star/text/XText.hpp>
59using ::com::sun::star::uno::Reference;
60using ::com::sun::star::lang::IndexOutOfBoundsException;
61using ::com::sun::star::uno::RuntimeException;
67OUString GetOptionalProperty (
68 const Reference<beans::XPropertySet>& rxSet,
69 const OUString& rsPropertyName)
75 const Reference<beans::XPropertySetInfo> xInfo (rxSet->getPropertySetInfo());
76 if ( ! xInfo.is() || xInfo->hasPropertyByName(rsPropertyName))
80 rxSet->getPropertyValue(rsPropertyName) >>= sValue;
82 catch (beans::UnknownPropertyException&)
101 maShapeTreeInfo (rShapeTreeInfo),
102 m_nIndexInParent(-1),
103 mpParent (rShapeInfo.mpChildrenManager)
113 SAL_INFO(
"svx",
"~AccessibleShape");
126 Reference<drawing::XShapes> xShapes (
mxShape, uno::UNO_QUERY);
127 if (xShapes.is() && xShapes->getCount() > 0)
136 static_cast<document::XShapeEventListener*
>(
this));
141 Reference<text::XText> xText (
mxShape, uno::UNO_QUERY);
147 if (!(pView !=
nullptr && pWindow !=
nullptr &&
mxShape.is()))
159 if( !hasOutlinerParaObject )
172 mpText->SetEventSource(
this);
180 bool bShapeIsOpaque =
false;
187 uno::Reference<beans::XPropertySet> xSet (
mxShape, uno::UNO_QUERY);
192 drawing::FillStyle aFillStyle;
193 bShapeIsOpaque = ( xSet->getPropertyValue (
"FillStyle") >>= aFillStyle)
194 && aFillStyle == drawing::FillStyle_SOLID;
196 catch (css::beans::UnknownPropertyException&)
209 bool bShapeIsSelected =
false;
216 if (bShapeIsSelected)
229 bool bStateHasChanged =
false;
231 if (aState == AccessibleStateType::FOCUSED &&
mpText !=
nullptr)
235 bool bIsFocused =
mpText->HaveFocus ();
237 bStateHasChanged = (bIsFocused !=
mpText->HaveFocus ());
242 return bStateHasChanged;
248 bool bStateHasChanged =
false;
250 if (aState == AccessibleStateType::FOCUSED &&
mpText !=
nullptr)
254 bool bIsFocused =
mpText->HaveFocus ();
256 bStateHasChanged = (bIsFocused !=
mpText->HaveFocus ());
261 return bStateHasChanged;
267 if (aState == AccessibleStateType::FOCUSED &&
mpText !=
nullptr)
271 return mpText->HaveFocus();
308 sal_Int64 nChildCount = 0;
315 nChildCount +=
mpText->GetChildCount ();
324uno::Reference<XAccessible> SAL_CALL
329 uno::Reference<XAccessible> xChild;
334 && (nIndex < mpChildrenManager->GetChildCount()))
338 else if (
mpText !=
nullptr)
343 xChild =
mpText->GetChild (nI);
346 throw lang::IndexOutOfBoundsException (
347 "shape has no child with index " + OUString::number(
nIndex),
353uno::Reference<XAccessibleRelationSet> SAL_CALL
356 ::osl::MutexGuard aGuard (
m_aMutex);
358 return uno::Reference<XAccessibleRelationSet>();
366 pRelationSet->AddRelation(
367 AccessibleRelation( AccessibleRelationType::DESCRIBED_BY, aSequence ) );
381 ::osl::MutexGuard aGuard (
m_aMutex);
401 css::uno::Reference<XAccessibleContext>
402 xTempAccContext = xTempAcc->getAccessibleContext();
403 if( xTempAccContext.is() )
405 sal_Int64
nState = xTempAccContext->getAccessibleStateSet();
406 if (nState & AccessibleStateType::EDITABLE)
419 nRetStateSet |= AccessibleStateType::SELECTED;
434uno::Reference<XAccessible > SAL_CALL
436 const awt::Point& aPoint)
438 ::osl::MutexGuard aGuard (
m_aMutex);
441 for (sal_Int64
i = 0;
i < nChildCount; ++
i)
446 Reference<XAccessibleComponent> xChildComponent (
447 xChild->getAccessibleContext(), uno::UNO_QUERY);
448 if (xChildComponent.is())
450 awt::Rectangle aBBox (xChildComponent->getBounds());
451 if ( (aPoint.X >= aBBox.X)
452 && (aPoint.Y >= aBBox.Y)
453 && (aPoint.X < aBBox.X+aBBox.Width)
454 && (aPoint.Y < aBBox.Y+aBBox.Height) )
462 return uno::Reference<XAccessible>();
469 ::osl::MutexGuard aGuard (
m_aMutex);
472 awt::Rectangle aBoundingBox;
476 static constexpr OUStringLiteral sBoundRectName =
u"BoundRect";
477 static constexpr OUStringLiteral sAnchorPositionName =
u"AnchorPosition";
482 Reference<beans::XPropertySet> xSet (
mxShape, uno::UNO_QUERY);
483 Reference<beans::XPropertySetInfo> xSetInfo;
484 bool bFoundBoundRect =
false;
487 xSetInfo = xSet->getPropertySetInfo ();
490 if (xSetInfo->hasPropertyByName (sBoundRectName))
494 uno::Any aValue = xSet->getPropertyValue (sBoundRectName);
495 aValue >>= aBoundingBox;
496 bFoundBoundRect =
true;
498 catch (beans::UnknownPropertyException
const&)
504 SAL_WARN(
"svx",
"no property BoundRect");
509 if ( ! bFoundBoundRect )
511 awt::Point aPosition (
mxShape->getPosition());
512 awt::Size aSize (
mxShape->getSize());
513 aBoundingBox = awt::Rectangle (
514 aPosition.X, aPosition.Y,
515 aSize.Width, aSize.Height);
522 if (xSetInfo->hasPropertyByName (sAnchorPositionName))
524 uno::Any aPos = xSet->getPropertyValue (sAnchorPositionName);
525 awt::Point aAnchorPosition;
526 aPos >>= aAnchorPosition;
527 aBoundingBox.X += aAnchorPosition.X;
528 aBoundingBox.Y += aAnchorPosition.Y;
535 throw uno::RuntimeException (
536 "AccessibleShape has no valid view forwarder",
539 ::Size (aBoundingBox.Width, aBoundingBox.Height));
541 ::Point (aBoundingBox.X, aBoundingBox.Y));
544 Reference<XAccessibleComponent> xParentComponent (
546 if (xParentComponent.is())
549 awt::Point aParentLocation (xParentComponent->getLocationOnScreen());
550 int x = aPixelPosition.
getX() - aParentLocation.X;
551 int y = aPixelPosition.
getY() - aParentLocation.Y;
556 awt::Size aParentSize (xParentComponent->getSize());
559 aBoundingBox = awt::Rectangle (
567 SAL_INFO(
"svx",
"parent does not support component");
568 aBoundingBox = awt::Rectangle (
569 aPixelPosition.
getX(), aPixelPosition.
getY(),
581 awt::Rectangle aBoundingBox (
getBounds());
582 return awt::Point (aBoundingBox.X, aBoundingBox.Y);
594 uno::Reference<XAccessibleComponent> xParentComponent (
596 if (xParentComponent.is())
598 awt::Point aParentLocation (xParentComponent->getLocationOnScreen());
599 aLocation.X += aParentLocation.X;
600 aLocation.Y += aParentLocation.Y;
603 SAL_WARN(
"svx",
"parent does not support XAccessibleComponent");
611 awt::Rectangle aBoundingBox (
getBounds());
612 return awt::Size (aBoundingBox.Width, aBoundingBox.Height);
619 sal_Int32 nColor (0x0ffffffL);
623 uno::Reference<beans::XPropertySet> aSet (
mxShape, uno::UNO_QUERY);
627 aColor = aSet->getPropertyValue (
"LineColor");
631 catch (
const css::beans::UnknownPropertyException &)
646 uno::Reference<beans::XPropertySet> aSet (
mxShape, uno::UNO_QUERY);
650 aColor = aSet->getPropertyValue (
"FillColor");
652 aColor = aSet->getPropertyValue (
"FillTransparence");
662 nTrans = short(256 - nTrans / 100. * 256);
668 catch (
const css::beans::UnknownPropertyException &)
672 return sal_Int32(nColor);
677 const Reference<XAccessibleEventListener >& rxListener)
679 if (rBHelper.bDisposed || rBHelper.bInDispose)
681 uno::Reference<uno::XInterface> xThis (
682 static_cast<lang::XComponent *
>(
this), uno::UNO_QUERY);
683 rxListener->disposing (lang::EventObject (xThis));
689 mpText->AddEventListener (rxListener);
695 const Reference<XAccessibleEventListener >& rxListener)
699 mpText->RemoveEventListener (rxListener);
703css::uno::Any SAL_CALL
706 css::uno::Any aReturn = AccessibleContextBase::queryInterface (rType);
707 if ( ! aReturn.hasValue())
708 aReturn = ::cppu::queryInterface (rType,
709 static_cast<XAccessibleComponent*
>(
this),
710 static_cast<XAccessibleExtendedComponent*
>(
this),
711 static_cast< css::accessibility::XAccessibleSelection*
>(
this),
712 static_cast< css::accessibility::XAccessibleExtendedAttributes*
>(
this),
713 static_cast<document::XShapeEventListener*
>(
this),
714 static_cast<lang::XUnoTunnel*
>(
this),
715 static_cast<XAccessibleGroupPosition*
>(
this),
716 static_cast<XAccessibleHypertext*
>(
this)
726 AccessibleContextBase::acquire ();
734 AccessibleContextBase::release ();
746 uno::Reference<XAccessibleContext> xContext;
749 xContext = xAcc->getAccessibleContext();
754 if( xContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
756 uno::Reference< css::accessibility::XAccessibleText >
757 xText(xAcc, uno::UNO_QUERY);
760 if( xText->getSelectionStart() >= 0 )
return true;
763 else if( xContext->getAccessibleRole() == AccessibleRole::SHAPE )
765 sal_Int64 pRState = xContext->getAccessibleStateSet();
767 return bool(pRState & AccessibleStateType::SELECTED);
789 for( sal_Int64
i = 0;
i < TotalCount;
i++ )
799 throw IndexOutOfBoundsException();
803 if( i2 == nSelectedChildIndex )
807 return Reference<XAccessible>();
835 return "AccessibleShape";
839uno::Sequence<OUString> SAL_CALL
843 const css::uno::Sequence<OUString> vals {
"com.sun.star.drawing.AccessibleShape" };
848uno::Sequence<uno::Type> SAL_CALL
853 uno::Sequence<uno::Type> aTypeList (AccessibleContextBase::getTypes());
857 uno::Sequence<uno::Type> localTypesList = {
874 ::osl::MutexGuard aGuard (m_aMutex);
886 catch (uno::RuntimeException
const&)
900 if (rEventObject.EventName !=
"ShapeModified")
911 AccessibleEventId::VISIBLE_DATA_CHANGED,
928 CommitChange (AccessibleEventId::VISIBLE_DATA_CHANGED,
933 if (mpChildrenManager !=
nullptr)
934 mpChildrenManager->ViewForwarderChanged();
938 mpText->UpdateChildren();
964 if (nameStr.isEmpty())
981 AccessibleEventId::NAME_CHANGED,
993 ::osl::MutexGuard aGuard (
m_aMutex);
1002 static_cast<document::XShapeEventListener*
>(
this));
1021 AccessibleContextBase::dispose ();
1043 Reference<beans::XPropertySet> xSet (
mxShape, uno::UNO_QUERY_THROW);
1046 OUString sString = GetOptionalProperty(xSet,
"Title");
1047 if (!sString.isEmpty())
1053 sString = GetOptionalProperty(xSet,
"Name");
1054 if (!sString.isEmpty())
1059 sString = GetOptionalProperty(xSet,
"Description");
1060 if (!sString.isEmpty())
1063 catch (uno::RuntimeException&)
1071 sal_Int16 nAccessibleRole = AccessibleRole::SHAPE ;
1075 nAccessibleRole = AccessibleRole::GRAPHIC ;
break;
1077 nAccessibleRole = AccessibleRole::EMBEDDED_OBJECT ;
break;
1084 return nAccessibleRole;
1090struct XShapePosCompareHelper
1092 bool operator() (
const uno::Reference<drawing::XShape>& xshape1,
1093 const uno::Reference<drawing::XShape>& xshape2 )
const
1108uno::Sequence< sal_Int32 > SAL_CALL
1115 uno::Sequence< sal_Int32 > aRet{ 0, 0, 0 };
1125 if(pObj ==
nullptr )
1131 sal_Int32 nGroupLevel = 0;
1139 css::uno::Reference<XAccessibleContext> xParentContext = xParent->getAccessibleContext();
1140 if( xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT ||
1141 xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT_PRESENTATION ||
1142 xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT_SPREADSHEET ||
1143 xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT_TEXT )
1145 Reference< XAccessibleGroupPosition > xGroupPosition( xParent,uno::UNO_QUERY );
1146 if ( xGroupPosition.is() )
1152 if (xParentContext->getAccessibleRole() != AccessibleRole::SHAPE)
1163 std::vector< uno::Reference<drawing::XShape> > vXShapes;
1167 for(
size_t i = 0 ;
i < nObj ; ++
i)
1171 xParentContext->getAccessibleChild(
i)->getAccessibleContext()->getAccessibleRole() != AccessibleRole::GROUP_BOX)
1178 std::sort( vXShapes.begin(), vXShapes.end(), XShapePosCompareHelper() );
1183 for (
const auto& rpShape : vXShapes )
1185 if ( rpShape.get() ==
mxShape.get() )
1187 sal_Int32* pArray = aRet.getArray();
1188 pArray[0] = nGroupLevel;
1189 pArray[1] = vXShapes.size();
1204 if(pObj ==
nullptr )
1211 if (xGroupPosition.is())
1234uno::Reference< XAccessibleHyperlink > SAL_CALL
1237 uno::Reference< XAccessibleHyperlink > xRet;
1259 uno::Sequence< css::beans::PropertyValue > aValues(0);
1264 return css::awt::Rectangle(0, 0, 0, 0 );
1276 css::accessibility::TextSegment aResult;
1281 css::accessibility::TextSegment aResult;
1286 css::accessibility::TextSegment aResult;
unotools::WeakReference< AnimationNode > mxParent
void SetAlpha(sal_uInt8 nAlpha)
constexpr tools::Long getX() const
constexpr tools::Long getY() const
bool IsObjMarked(SdrObject const *pObj) const
SdrObject * GetObj(size_t nNum) const
size_t GetObjCount() const
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
virtual OUString GetTitle() const
virtual OutlinerParaObject * GetOutlinerParaObject() const
sal_uInt32 GetOrdNum() const
The order number (aka ZOrder, aka z-index) determines whether a SdrObject is located above or below a...
virtual SdrObjList * GetSubList() const
virtual OUString GetDescription() const
virtual const OUString & GetName() const
SdrObject * getParentSdrObjectFromSdrObject() const
bool CanCreateEditOutlinerParaObject() const
constexpr tools::Long getHeight() const
constexpr tools::Long getWidth() const
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes()
virtual bool SetState(sal_Int64 aState)
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual bool ResetState(sal_Int64 aState)
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
void CommitChange(sal_Int16 aEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue, sal_Int32 nValueIndex)
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
bool GetState(sal_Int64 aState)
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
void SetAccessibleDescription(const OUString &rsDescription, StringOrigin eDescriptionOrigin)
void SetAccessibleName(const OUString &rsName, StringOrigin eNameOrigin)
virtual sal_Int16 SAL_CALL getAccessibleRole() override
@descr This class is a container for the information specific for a single shape that is passed to th...
This class bundles all information that is passed down the tree of accessible shapes so that each sha...
const IAccessibleViewForwarder * GetViewForwarder() const
Return the current view forwarder.
const css::uno::Reference< css::accessibility::XAccessibleComponent > & GetDocumentWindow() const
Deprecated.
SdrView * GetSdrView() const
Return the current SdrView.
void SetModelBroadcaster(const css::uno::Reference< css::document::XShapeEventBroadcaster > &rxModelBroadcaster)
Set a new broadcaster that sends events indicating shape changes.
vcl::Window * GetWindow() const
Return the current Window.
const css::uno::Reference< css::document::XShapeEventBroadcaster > & GetModelBroadcaster() const
Return the current model broadcaster.
This base class provides a base implementation for all shapes.
virtual OUString SAL_CALL getSelectedText() override
virtual OUString CreateAccessibleName() override
Create a unique name string that contains the accessible name.
OUString GetFullAccessibleName(AccessibleShape *shape)
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &rxListener) override
This call is forwarded to a) the base class and b) to the accessible edit engine if it is present.
void UpdateStates()
Update the <const>OPAQUE</const> and <const>SELECTED</const> state.
virtual css::awt::Point SAL_CALL getLocation() override
virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int64 nChildIndex) override
void UpdateNameAndDescription()
Call this method when the title, name, or description of the mxShape member (may) have been changed.
virtual void Init()
Initialize a new shape.
virtual sal_Int32 SAL_CALL getBackground() override
css::uno::Reference< css::drawing::XShape > mxShape
Reference to the actual shape.
virtual void SAL_CALL release() noexcept override
AccessibleShape(const AccessibleShapeInfo &rShapeInfo, const AccessibleShapeTreeInfo &rShapeTreeInfo)
Create a new accessible object that makes the given shape accessible.
virtual OUString CreateAccessibleBaseName()
Create a base name string that contains the accessible name.
virtual void SAL_CALL selectAccessibleChild(sal_Int64 nChildIndex) override
sal_Int32 m_nIndexInParent
the index in parent.
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual bool ResetState(sal_Int64 aState) override
Reset the specified state.
virtual sal_Int64 SAL_CALL getSelectedAccessibleChildCount() override
virtual sal_Int32 SAL_CALL getSelectionEnd() override
virtual sal_Int64 SAL_CALL getAccessibleStateSet() override
Return the set of current states.
bool GetState(sal_Int64 aState)
Return the state of the specified state.
std::unique_ptr< AccessibleTextHelper > mpText
The accessible text engine.
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
virtual ~AccessibleShape() override
The destructor releases its children manager and text engine if still existent.
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(sal_Int32 nIndex) override
virtual sal_Int32 SAL_CALL getSelectionStart() override
virtual void SAL_CALL acquire() noexcept override
virtual OUString SAL_CALL getAccessibleName() override
virtual sal_Int64 SAL_CALL getAccessibleChildCount() override
Return the number of currently visible children.
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
SdrObject * m_pShape
This object can be removed when we have an extra interface to ask if the shape is selected.
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
virtual OUString SAL_CALL getObjectLink(const css::uno::Any &accoject) override
AccessibleShapeTreeInfo maShapeTreeInfo
Bundle of information passed to all shapes in a document tree.
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
std::unique_ptr< ChildrenManager > mpChildrenManager
Children manager. May be empty if there are no children.
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &rxListener) override
This call is forwarded to a) the base class and b) to the accessible edit engine if it is present.
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual OUString GetStyle() const
virtual sal_Int32 SAL_CALL getHyperLinkCount() override
virtual void SAL_CALL clearAccessibleSelection() override
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
virtual OUString SAL_CALL getText() override
virtual css::uno::Any SAL_CALL getExtendedAttributes() override
virtual sal_Int32 SAL_CALL getForeground() override
virtual void SAL_CALL notifyShapeEvent(const css::document::EventObject &rEventObject) override
virtual css::awt::Size SAL_CALL getSize() override
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getGroupPosition(const css::uno::Any &rAny) override
virtual OUString SAL_CALL getImplementationName() override
Returns an identifier for the implementation of this object.
virtual void SAL_CALL selectAllAccessibleChildren() override
virtual sal_Int32 SAL_CALL getCaretPosition() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
virtual void SAL_CALL disposing() override
This method is called from the component helper base class while disposing.
IAccessibleParent * mpParent
This object can be used to modify the child list of our parent.
virtual OUString SAL_CALL getAccessibleDescription() override
virtual css::awt::Rectangle SAL_CALL getBounds() override
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual sal_Int64 SAL_CALL getAccessibleIndexInParent() override
Return this objects index among the parents children.
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &aPoint) override
virtual sal_Int32 SAL_CALL getCharacterCount() override
virtual bool SetState(sal_Int64 aState) override
Set the specified state.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(sal_Int64 nSelectedChildIndex) override
virtual sal_Int32 SAL_CALL getHyperLinkIndex(sal_Int32 nCharIndex) override
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual void SAL_CALL deselectAccessibleChild(sal_Int64 nSelectedChildIndex) override
virtual css::uno::Reference< css::accessibility::XAccessibleHyperlink > SAL_CALL getHyperLink(sal_Int32 nLinkIndex) override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
Return this object's role.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int64 nIndex) override
Return the specified child.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
The implementation below is at the moment straightforward.
Helper class for objects containing EditEngine/Outliner text.
The AccessibleChildrenManager class acts as a cache of the accessible objects of the currently visibl...
virtual css::uno::Reference< css::accessibility::XAccessible > GetAccessibleCaption(const css::uno::Reference< css::drawing::XShape > &)
virtual bool IsDocumentSelAll()
virtual Point LogicToPixel(const Point &rPoint) const =0
Transform the specified point from internal coordinates in 100th of mm to an absolute screen position...
static OUString CreateAccessibleBaseName(const css::uno::Reference< css::drawing::XShape > &rxShape)
get the accessible base name for an object
static ShapeTypeHandler & Instance()
This function returns a reference to the only instance of this class.
css::uno::Type const & get()
::OutputDevice const * GetOutDev() const
#define TOOLS_WARN_EXCEPTION(area, stream)
RegionData_Impl * mpParent
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
uno::Reference< drawing::XShape > const mxShape
SdrTextObj * DynCastSdrTextObj(SdrObject *pObj)
UNO3_GETIMPLEMENTATION_IMPL(SvxDrawPage)
uno::Reference< drawing::XShape > GetXShapeForSdrObject(SdrObject *pObj) noexcept
returns a StarOffice API wrapper for the given SdrObject