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>
60 using ::com::sun::star::uno::Reference;
61 using ::com::sun::star::lang::IndexOutOfBoundsException;
62 using ::com::sun::star::uno::RuntimeException;
68 OUString GetOptionalProperty (
70 const OUString& rsPropertyName)
77 if ( ! xInfo.is() || xInfo->hasPropertyByName(rsPropertyName))
81 rxSet->getPropertyValue(rsPropertyName) >>= sValue;
83 catch (beans::UnknownPropertyException&)
102 maShapeTreeInfo (rShapeTreeInfo),
103 m_nIndexInParent(-1),
104 mpParent (rShapeInfo.mpChildrenManager)
114 SAL_INFO(
"svx",
"~AccessibleShape");
127 Reference<drawing::XShapes> xShapes (
mxShape, uno::UNO_QUERY);
128 if (xShapes.is() && xShapes->getCount() > 0)
137 static_cast<document::XShapeEventListener*>(
this));
148 if (!(pView !=
nullptr && pWindow !=
nullptr &&
mxShape.is()))
160 if( !hasOutlinerParaObject )
173 mpText->SetEventSource(
this);
184 bool bShapeIsOpaque =
false;
191 uno::Reference<beans::XPropertySet> xSet (
mxShape, uno::UNO_QUERY);
196 drawing::FillStyle aFillStyle;
197 bShapeIsOpaque = ( xSet->getPropertyValue (
"FillStyle") >>= aFillStyle)
198 && aFillStyle == drawing::FillStyle_SOLID;
200 catch (css::beans::UnknownPropertyException&)
208 mxStateSet->AddState (AccessibleStateType::OPAQUE);
210 mxStateSet->RemoveState (AccessibleStateType::OPAQUE);
213 bool bShapeIsSelected =
false;
220 if (bShapeIsSelected)
221 mxStateSet->AddState (AccessibleStateType::SELECTED);
223 mxStateSet->RemoveState (AccessibleStateType::SELECTED);
233 bool bStateHasChanged =
false;
235 if (aState == AccessibleStateType::FOCUSED &&
mpText !=
nullptr)
239 bool bIsFocused =
mpText->HaveFocus ();
241 bStateHasChanged = (bIsFocused !=
mpText->HaveFocus ());
246 return bStateHasChanged;
252 bool bStateHasChanged =
false;
254 if (aState == AccessibleStateType::FOCUSED &&
mpText !=
nullptr)
258 bool bIsFocused =
mpText->HaveFocus ();
260 bStateHasChanged = (bIsFocused !=
mpText->HaveFocus ());
265 return bStateHasChanged;
271 if (aState == AccessibleStateType::FOCUSED &&
mpText !=
nullptr)
275 return mpText->HaveFocus();
312 sal_Int32 nChildCount = 0;
319 nChildCount +=
mpText->GetChildCount ();
328 uno::Reference<XAccessible> SAL_CALL
333 uno::Reference<XAccessible> xChild;
338 && (nIndex < mpChildrenManager->GetChildCount()))
342 else if (
mpText !=
nullptr)
344 sal_Int32 nI = nIndex;
347 xChild =
mpText->GetChild (nI);
350 throw lang::IndexOutOfBoundsException (
351 "shape has no child with index " + OUString::number(nIndex),
352 static_cast<uno::XWeak*>(
this));
357 uno::Reference<XAccessibleRelationSet> SAL_CALL
360 ::osl::MutexGuard aGuard (
m_aMutex);
362 return uno::Reference<XAccessibleRelationSet>();
370 pRelationSet->AddRelation(
371 AccessibleRelation( AccessibleRelationType::DESCRIBED_BY, aSequence ) );
382 uno::Reference<XAccessibleStateSet> SAL_CALL
385 ::osl::MutexGuard aGuard (
m_aMutex);
396 return Reference<XAccessibleStateSet>();
402 pStateSet->
AddState (AccessibleStateType::FOCUSED);
404 pStateSet->
RemoveState (AccessibleStateType::FOCUSED);
410 css::uno::Reference<XAccessibleContext>
411 xTempAccContext = xTempAcc->getAccessibleContext();
412 if( xTempAccContext.is() )
414 css::uno::Reference<XAccessibleStateSet> rState =
415 xTempAccContext->getAccessibleStateSet();
418 const css::uno::Sequence<short> aStates = rState->getStates();
419 if (std::find(aStates.begin(), aStates.end(), AccessibleStateType::EDITABLE) != aStates.end())
421 pStateSet->
AddState (AccessibleStateType::EDITABLE);
422 pStateSet->
AddState (AccessibleStateType::RESIZABLE);
423 pStateSet->
AddState (AccessibleStateType::MOVEABLE);
431 Reference<XAccessibleStateSet> xStateSet(new ::utl::AccessibleStateSetHelper(*pStateSet));
437 pCopyStateSet->
AddState (AccessibleStateType::SELECTED);
452 uno::Reference<XAccessible > SAL_CALL
454 const awt::Point& aPoint)
456 ::osl::MutexGuard aGuard (
m_aMutex);
459 for (sal_Int32
i=0;
i<nChildCount; ++
i)
464 Reference<XAccessibleComponent> xChildComponent (
465 xChild->getAccessibleContext(), uno::UNO_QUERY);
466 if (xChildComponent.is())
468 awt::Rectangle aBBox (xChildComponent->getBounds());
469 if ( (aPoint.X >= aBBox.X)
470 && (aPoint.Y >= aBBox.Y)
471 && (aPoint.X < aBBox.X+aBBox.Width)
472 && (aPoint.Y < aBBox.Y+aBBox.Height) )
480 return uno::Reference<XAccessible>();
487 ::osl::MutexGuard aGuard (
m_aMutex);
490 awt::Rectangle aBoundingBox;
494 static constexpr OUStringLiteral sBoundRectName =
u"BoundRect";
495 static constexpr OUStringLiteral sAnchorPositionName =
u"AnchorPosition";
502 bool bFoundBoundRect =
false;
505 xSetInfo = xSet->getPropertySetInfo ();
508 if (xSetInfo->hasPropertyByName (sBoundRectName))
512 uno::Any aValue = xSet->getPropertyValue (sBoundRectName);
513 aValue >>= aBoundingBox;
514 bFoundBoundRect =
true;
516 catch (beans::UnknownPropertyException
const&)
522 SAL_WARN(
"svx",
"no property BoundRect");
527 if ( ! bFoundBoundRect )
529 awt::Point aPosition (
mxShape->getPosition());
530 awt::Size aSize (
mxShape->getSize());
531 aBoundingBox = awt::Rectangle (
532 aPosition.X, aPosition.Y,
533 aSize.Width, aSize.Height);
540 if (xSetInfo->hasPropertyByName (sAnchorPositionName))
542 uno::Any aPos = xSet->getPropertyValue (sAnchorPositionName);
543 awt::Point aAnchorPosition;
544 aPos >>= aAnchorPosition;
545 aBoundingBox.X += aAnchorPosition.X;
546 aBoundingBox.Y += aAnchorPosition.Y;
553 throw uno::RuntimeException (
554 "AccessibleShape has no valid view forwarder",
555 static_cast<uno::XWeak*>(
this));
557 ::
Size (aBoundingBox.Width, aBoundingBox.Height));
559 ::
Point (aBoundingBox.X, aBoundingBox.Y));
562 Reference<XAccessibleComponent> xParentComponent (
564 if (xParentComponent.is())
567 awt::Point aParentLocation (xParentComponent->getLocationOnScreen());
568 int x = aPixelPosition.getX() - aParentLocation.X;
569 int y = aPixelPosition.getY() - aParentLocation.Y;
574 awt::Size aParentSize (xParentComponent->getSize());
576 aBBox = aBBox.GetIntersection (aParentBBox);
577 aBoundingBox = awt::Rectangle (
585 SAL_INFO(
"svx",
"parent does not support component");
586 aBoundingBox = awt::Rectangle (
587 aPixelPosition.getX(), aPixelPosition.getY(),
599 awt::Rectangle aBoundingBox (
getBounds());
600 return awt::Point (aBoundingBox.X, aBoundingBox.Y);
612 uno::Reference<XAccessibleComponent> xParentComponent (
614 if (xParentComponent.is())
616 awt::Point aParentLocation (xParentComponent->getLocationOnScreen());
617 aLocation.X += aParentLocation.X;
618 aLocation.Y += aParentLocation.Y;
621 SAL_WARN(
"svx",
"parent does not support XAccessibleComponent");
629 awt::Rectangle aBoundingBox (
getBounds());
630 return awt::Size (aBoundingBox.Width, aBoundingBox.Height);
637 sal_Int32 nColor (0x0ffffffL);
641 uno::Reference<beans::XPropertySet> aSet (
mxShape, uno::UNO_QUERY);
645 aColor = aSet->getPropertyValue (
"LineColor");
649 catch (
const css::beans::UnknownPropertyException &)
664 uno::Reference<beans::XPropertySet> aSet (
mxShape, uno::UNO_QUERY);
668 aColor = aSet->getPropertyValue (
"FillColor");
670 aColor = aSet->getPropertyValue (
"FillTransparence");
680 nTrans = short(256 - nTrans / 100. * 256);
686 catch (
const css::beans::UnknownPropertyException &)
690 return sal_Int32(nColor);
695 const Reference<XAccessibleEventListener >& rxListener)
697 if (rBHelper.bDisposed || rBHelper.bInDispose)
699 uno::Reference<uno::XInterface> xThis (
700 static_cast<lang::XComponent *>(
this), uno::UNO_QUERY);
701 rxListener->disposing (lang::EventObject (xThis));
707 mpText->AddEventListener (rxListener);
713 const Reference<XAccessibleEventListener >& rxListener)
717 mpText->RemoveEventListener (rxListener);
721 css::uno::Any SAL_CALL
724 css::uno::Any aReturn = AccessibleContextBase::queryInterface (rType);
725 if ( ! aReturn.hasValue())
727 static_cast<XAccessibleComponent*>(
this),
728 static_cast<XAccessibleExtendedComponent*
>(
this),
729 static_cast< css::accessibility::XAccessibleSelection* >(
this),
730 static_cast< css::accessibility::XAccessibleExtendedAttributes*
>(
this),
731 static_cast<document::XShapeEventListener*>(
this),
732 static_cast<lang::XUnoTunnel*
>(
this),
733 static_cast<XAccessibleGroupPosition*>(
this),
734 static_cast<XAccessibleHypertext*
>(
this)
744 AccessibleContextBase::acquire ();
752 AccessibleContextBase::release ();
764 uno::Reference<XAccessibleContext> xContext;
767 xContext = xAcc->getAccessibleContext();
772 if( xContext->getAccessibleRole() == AccessibleRole::PARAGRAPH )
774 uno::Reference< css::accessibility::XAccessibleText >
775 xText(xAcc, uno::UNO_QUERY);
778 if( xText->getSelectionStart() >= 0 )
return true;
781 else if( xContext->getAccessibleRole() == AccessibleRole::SHAPE )
783 Reference< XAccessibleStateSet > pRState = xContext->getAccessibleStateSet();
787 const uno::Sequence<short> aStates = pRState->getStates();
788 return std::find(aStates.begin(), aStates.end(), AccessibleStateType::SELECTED) != aStates.end();
810 for( sal_Int32
i = 0;
i < TotalCount;
i++ )
820 throw IndexOutOfBoundsException();
825 if( i2 == nSelectedChildIndex )
829 return Reference<XAccessible>();
857 return "AccessibleShape";
861 uno::Sequence<OUString> SAL_CALL
865 const css::uno::Sequence<OUString> vals {
"com.sun.star.drawing.AccessibleShape" };
870 uno::Sequence<uno::Type> SAL_CALL
875 uno::Sequence<uno::Type> aTypeList (AccessibleContextBase::getTypes());
879 uno::Sequence<uno::Type> localTypesList = {
896 ::osl::MutexGuard aGuard (m_aMutex);
908 catch (uno::RuntimeException
const&)
918 if (rEventObject.EventName !=
"ShapeModified")
929 AccessibleEventId::VISIBLE_DATA_CHANGED,
946 CommitChange (AccessibleEventId::VISIBLE_DATA_CHANGED,
951 if (mpChildrenManager !=
nullptr)
952 mpChildrenManager->ViewForwarderChanged();
956 mpText->UpdateChildren();
982 if (nameStr.isEmpty())
999 AccessibleEventId::NAME_CHANGED,
1011 ::osl::MutexGuard aGuard (
m_aMutex);
1016 if (pStateSet !=
nullptr)
1017 pStateSet->
RemoveState (AccessibleStateType::FOCUSED);
1022 static_cast<document::XShapeEventListener*>(
this));
1041 AccessibleContextBase::dispose ();
1066 OUString sString = GetOptionalProperty(xSet,
"Title");
1067 if (!sString.isEmpty())
1073 sString = GetOptionalProperty(xSet,
"Name");
1074 if (!sString.isEmpty())
1079 sString = GetOptionalProperty(xSet,
"Description");
1080 if (!sString.isEmpty())
1083 catch (uno::RuntimeException&)
1091 sal_Int16 nAccessibleRole = AccessibleRole::SHAPE ;
1095 nAccessibleRole = AccessibleRole::GRAPHIC ;
break;
1097 nAccessibleRole = AccessibleRole::EMBEDDED_OBJECT ;
break;
1104 return nAccessibleRole;
1110 struct XShapePosCompareHelper
1112 bool operator() (
const uno::Reference<drawing::XShape>& xshape1,
1113 const uno::Reference<drawing::XShape>& xshape2 )
const
1128 uno::Sequence< sal_Int32 > SAL_CALL
1135 uno::Sequence< sal_Int32 > aRet{ 0, 0, 0 };
1145 if(pObj ==
nullptr )
1151 sal_Int32 nGroupLevel = 0;
1159 css::uno::Reference<XAccessibleContext> xParentContext = xParent->getAccessibleContext();
1160 if( xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT ||
1161 xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT_PRESENTATION ||
1162 xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT_SPREADSHEET ||
1163 xParentContext->getAccessibleRole() == AccessibleRole::DOCUMENT_TEXT )
1165 Reference< XAccessibleGroupPosition > xGroupPosition( xParent,uno::UNO_QUERY );
1166 if ( xGroupPosition.is() )
1172 if (xParentContext->getAccessibleRole() != AccessibleRole::SHAPE)
1183 std::vector< uno::Reference<drawing::XShape> > vXShapes;
1187 for(
size_t i = 0 ;
i < nObj ; ++
i)
1191 xParentContext->getAccessibleChild(
i)->getAccessibleContext()->getAccessibleRole() != AccessibleRole::GROUP_BOX)
1198 std::sort( vXShapes.begin(), vXShapes.end(), XShapePosCompareHelper() );
1203 for (
const auto& rpShape : vXShapes )
1205 if ( rpShape.get() ==
mxShape.get() )
1207 sal_Int32* pArray = aRet.getArray();
1208 pArray[0] = nGroupLevel;
1209 pArray[1] = vXShapes.size();
1224 if(pObj ==
nullptr )
1231 if (xGroupPosition.is())
1254 uno::Reference< XAccessibleHyperlink > SAL_CALL
1257 uno::Reference< XAccessibleHyperlink > xRet;
1279 uno::Sequence< css::beans::PropertyValue > aValues(0);
1284 return css::awt::Rectangle(0, 0, 0, 0 );
1296 css::accessibility::TextSegment aResult;
1301 css::accessibility::TextSegment aResult;
1306 css::accessibility::TextSegment aResult;
virtual void SAL_CALL removeAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
uno::Reference< drawing::XShape > GetXShapeForSdrObject(SdrObject *pObj) noexcept
returns a StarOffice API wrapper for the given SdrObject
virtual OUString SAL_CALL getSelectedText() override
void SetAlpha(sal_uInt8 nAlpha)
virtual void SAL_CALL addAccessibleEventListener(const css::uno::Reference< css::accessibility::XAccessibleEventListener > &xListener) override
virtual void SAL_CALL disposing() override
This method is called from the component helper base class while disposing.
virtual void SAL_CALL deselectAccessibleChild(sal_Int32 nSelectedChildIndex) override
UNO3_GETIMPLEMENTATION_IMPL(SvxDrawPage)
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes()
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getGroupPosition(const css::uno::Any &rAny) override
virtual sal_Int32 SAL_CALL getHyperLinkCount() 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...
Helper class for objects containing EditEngine/Outliner text.
vcl::Window * GetWindow() const
Return the current Window.
virtual bool IsDocumentSelAll()
virtual void SAL_CALL selectAllAccessibleChildren() override
SdrView * GetSdrView() const
Return the current SdrView.
virtual sal_Unicode SAL_CALL getCharacter(sal_Int32 nIndex) override
sal_Int32 m_nIndexInParent
the index in parent.
static SdrObject * getSdrObjectFromXShape(const css::uno::Reference< css::uno::XInterface > &xInt)
OUString GetDescription() const
WeakReference< XInterface > mxParent
The AccessibleChildrenManager class acts as a cache of the accessible objects of the currently visibl...
SdrObject * GetObj(size_t nNum) const
void SetAccessibleDescription(const OUString &rsDescription, StringOrigin eDescriptionOrigin)
size_t GetObjCount() const
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet() override
virtual void SAL_CALL release() noexcept override
virtual sal_Int32 SAL_CALL getCaretPosition() override
virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override
void UpdateNameAndDescription()
Call this method when the title, name, or description of the mxShape member (may) have been changed...
virtual OUString CreateAccessibleBaseName()
Create a base name string that contains the accessible name.
virtual sal_Int32 SAL_CALL getBackground() override
void CommitChange(sal_Int16 aEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue)
rtl::Reference<::utl::AccessibleStateSetHelper > mxStateSet
bool GetState(sal_Int16 aState)
Return the state of the specified state.
virtual css::awt::Size SAL_CALL getSize() override
virtual SdrObjList * GetSubList() const
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...
virtual css::awt::Rectangle SAL_CALL getCharacterBounds(sal_Int32 nIndex) override
uno::Reference< drawing::XShape > const mxShape
IAccessibleParent * mpParent
This object can be used to modify the child list of our parent.
virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() override
virtual sal_Bool SAL_CALL scrollSubstringTo(sal_Int32 nStartIndex, sal_Int32 nEndIndex, css::accessibility::AccessibleScrollType aScrollType) override
virtual OUString SAL_CALL getObjectLink(const css::uno::Any &accoject) override
void SetModelBroadcaster(const css::uno::Reference< css::document::XShapeEventBroadcaster > &rxModelBroadcaster)
Set a new broadcaster that sends events indicating shape changes.
virtual OUString SAL_CALL getAccessibleName() override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint(const css::awt::Point &aPoint) override
The implementation below is at the moment straightforward.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild(sal_Int32 nSelectedChildIndex) override
constexpr tools::Long getHeight() const
virtual sal_Int16 SAL_CALL getAccessibleRole() override
Return this object's role.
virtual css::uno::Reference< css::accessibility::XAccessibleHyperlink > SAL_CALL getHyperLink(sal_Int32 nLinkIndex) override
std::unique_ptr< ChildrenManager > mpChildrenManager
Children manager. May be empty if there are no children.
virtual ~AccessibleShape() override
The destructor releases its children manager and text engine if still existent.
virtual sal_Bool SAL_CALL setSelection(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent() override
virtual OUString SAL_CALL getText() override
AccessibleShape(const AccessibleShapeInfo &rShapeInfo, const AccessibleShapeTreeInfo &rShapeTreeInfo)
Create a new accessible object that makes the given shape accessible.
#define TOOLS_WARN_EXCEPTION(area, stream)
virtual sal_Int32 SAL_CALL getSelectionEnd() override
css::uno::Reference< css::drawing::XShape > mxShape
Reference to the actual shape.
bool GetState(sal_Int16 aState)
virtual css::awt::Point SAL_CALL getLocationOnScreen() override
OUString GetFullAccessibleName(AccessibleShape *shape)
virtual void SAL_CALL selectAccessibleChild(sal_Int32 nChildIndex) override
OUString GetTitle() const
static ShapeTypeHandler & Instance()
This function returns a reference to the only instance of this class.
sal_uInt32 GetOrdNum() const
The order number (aka ZOrder, aka z-index) determines whether a SdrObject is located above or below a...
virtual sal_Int32 SAL_CALL getSelectionStart() override
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext() override
void UpdateStates()
Update the OPAQUE and SELECTED state.
css::uno::Type const & get()
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual OUString SAL_CALL getImplementationName() override
Returns an identifier for the implementation of this object.
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType) override
static OUString CreateAccessibleBaseName(const css::uno::Reference< css::drawing::XShape > &rxShape)
get the accessible base name for an object
virtual void SAL_CALL acquire() noexcept override
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &...rSn)
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual Point LogicToPixel(const Point &rPoint) const =0
Transform the specified point from internal coordinates in 100th of mm to an absolute screen position...
virtual css::uno::Reference< css::accessibility::XAccessible > GetAccessibleCaption(const css::uno::Reference< css::drawing::XShape > &)
exports com.sun.star. style
std::unique_ptr< AccessibleTextHelper > mpText
The accessible text engine.
virtual sal_Int32 SAL_CALL getAccessibleIndexInParent() override
Return this objects index among the parents children.
AccessibleShapeTreeInfo maShapeTreeInfo
Bundle of information passed to all shapes in a document tree.
virtual sal_Int32 SAL_CALL getCharacterCount() override
virtual sal_Int16 SAL_CALL getAccessibleRole() override
This base class provides a base implementation for all shapes.
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild(sal_Int32 nIndex) override
Return the specified child.
RegionData_Impl * mpParent
bool CanCreateEditOutlinerParaObject() const
virtual OUString SAL_CALL getTextRange(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual OUString GetStyle() const
virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet() override
Return the set of current states.
const css::uno::Reference< css::document::XShapeEventBroadcaster > & GetModelBroadcaster() const
Return the current model broadcaster.
virtual OUString CreateAccessibleName() override
Create a unique name string that contains the accessible name.
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
#define SAL_INFO(area, stream)
const css::uno::Reference< css::accessibility::XAccessibleComponent > & GetDocumentWindow() const
Deprecated.
::OutputDevice const * GetOutDev() const
virtual css::awt::Point SAL_CALL getLocation() override
virtual void SAL_CALL notifyShapeEvent(const css::document::EventObject &rEventObject) override
virtual sal_Int32 SAL_CALL getAccessibleChildCount() override
Return the number of currently visible children.
virtual void Init()
Initialize a new shape.
const IAccessibleViewForwarder * GetViewForwarder() const
Return the current view forwarder.
virtual bool ResetState(sal_Int16 aState) override
Reset the specified state.
SdrObject * getParentSdrObjectFromSdrObject() const
virtual bool SetState(sal_Int16 aState) override
Set the specified state.
virtual bool SetState(sal_Int16 aState)
virtual void SAL_CALL clearAccessibleSelection() override
This class is a container for the information specific for a single shape that is passed to the const...
#define SAL_WARN(area, stream)
virtual sal_Int32 SAL_CALL getHyperLinkIndex(sal_Int32 nCharIndex) override
virtual sal_Bool SAL_CALL isAccessibleChildSelected(sal_Int32 nChildIndex) override
constexpr tools::Long getWidth() const
virtual bool ResetState(sal_Int16 aState)
void SetAccessibleName(const OUString &rsName, StringOrigin eNameOrigin)
virtual css::uno::Any SAL_CALL getExtendedAttributes() override
virtual sal_Bool SAL_CALL copyText(sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
virtual css::awt::Rectangle SAL_CALL getBounds() override
SdrObject * m_pShape
This object can be removed when we have an extra interface to ask if the shape is selected...
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes(sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
void AddState(sal_Int16 aState)
virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount() override
virtual sal_Bool SAL_CALL setCaretPosition(sal_Int32 nIndex) override
virtual OutlinerParaObject * GetOutlinerParaObject() const
const OUString & GetName() const
virtual sal_Int32 SAL_CALL getForeground() override
This class bundles all information that is passed down the tree of accessible shapes so that each sha...
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex(sal_Int32 nIndex, sal_Int16 aTextType) override
virtual OUString SAL_CALL getAccessibleDescription() override
css::uno::Any SAL_CALL queryInterface(const css::uno::Type &rType, Interface1 *p1)
bool IsObjMarked(SdrObject const *pObj) const
virtual sal_Int32 SAL_CALL getIndexAtPoint(const css::awt::Point &aPoint) override
void RemoveState(sal_Int16 aState)