LibreOffice Module svx (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
accessibility::AccessibleControlShape Class Referencefinal

More...

#include <AccessibleControlShape.hxx>

Inheritance diagram for accessibility::AccessibleControlShape:
[legend]
Collaboration diagram for accessibility::AccessibleControlShape:
[legend]

Public Member Functions

 AccessibleControlShape (const AccessibleShapeInfo &rShapeInfo, const AccessibleShapeTreeInfo &rShapeTreeInfo)
 
virtual ~AccessibleControlShape () override
 
const css::uno::Reference< css::beans::XPropertySet > & GetControlModel () const
 
AccessibleControlShapeGetLabeledByControlShape ()
 
- Public Member Functions inherited from accessibility::AccessibleShape
 AccessibleShape (const AccessibleShapeInfo &rShapeInfo, const AccessibleShapeTreeInfo &rShapeTreeInfo)
 Create a new accessible object that makes the given shape accessible. More...
 
virtual OUString SAL_CALL getAccessibleName () override
 
virtual OUString SAL_CALL getAccessibleDescription () override
 
virtual void SAL_CALL selectAccessibleChild (sal_Int32 nChildIndex) override
 
virtual sal_Bool SAL_CALL isAccessibleChildSelected (sal_Int32 nChildIndex) override
 
virtual void SAL_CALL clearAccessibleSelection () override
 
virtual void SAL_CALL selectAllAccessibleChildren () override
 
virtual sal_Int32 SAL_CALL getSelectedAccessibleChildCount () override
 
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getSelectedAccessibleChild (sal_Int32 nSelectedChildIndex) override
 
virtual void SAL_CALL deselectAccessibleChild (sal_Int32 nSelectedChildIndex) override
 
virtual css::uno::Any SAL_CALL getExtendedAttributes () override
 
virtual sal_Int16 SAL_CALL getAccessibleRole () override
 Return this object's role. More...
 
virtual css::uno::Sequence< sal_Int32 > SAL_CALL getGroupPosition (const css::uno::Any &rAny) override
 
virtual OUString SAL_CALL getObjectLink (const css::uno::Any &accoject) override
 
virtual ~AccessibleShape () override
 The destructor releases its children manager and text engine if still existent. More...
 
virtual bool ResetState (sal_Int16 aState) override
 Reset the specified state. More...
 
bool GetState (sal_Int16 aState)
 Return the state of the specified state. More...
 
virtual css::uno::Reference< css::accessibility::XAccessibleStateSet > SAL_CALL getAccessibleStateSet () override
 Return the set of current states. More...
 
virtual sal_Int32 SAL_CALL getAccessibleIndexInParent () override
 Return this objects index among the parents children. More...
 
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleAtPoint (const css::awt::Point &aPoint) override
 The implementation below is at the moment straightforward. More...
 
virtual css::awt::Rectangle SAL_CALL getBounds () override
 
virtual css::awt::Point SAL_CALL getLocation () override
 
virtual css::awt::Point SAL_CALL getLocationOnScreen () override
 
virtual css::awt::Size SAL_CALL getSize () override
 
virtual sal_Int32 SAL_CALL getForeground () override
 
virtual sal_Int32 SAL_CALL getBackground () 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. More...
 
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. More...
 
virtual css::uno::Any SAL_CALL queryInterface (const css::uno::Type &rType) override
 
virtual void SAL_CALL acquire () override throw ()
 
virtual void SAL_CALL release () override throw ()
 
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () override
 
virtual void ViewForwarderChanged () override
 This method is called to indicate a change of the specified view forwarder, specifically, a change in visible area. More...
 
void disposing (const css::lang::EventObject &Source)
 Listen for disposing events of the model. More...
 
virtual void SAL_CALL notifyShapeEvent (const css::document::EventObject &rEventObject) override
 
virtual sal_Int32 SAL_CALL getHyperLinkCount () override
 
virtual css::uno::Reference< css::accessibility::XAccessibleHyperlink > SAL_CALL getHyperLink (sal_Int32 nLinkIndex) override
 
virtual sal_Int32 SAL_CALL getHyperLinkIndex (sal_Int32 nCharIndex) override
 
virtual sal_Int32 SAL_CALL getCaretPosition () override
 
virtual sal_Bool SAL_CALL setCaretPosition (sal_Int32 nIndex) override
 
virtual sal_Unicode SAL_CALL getCharacter (sal_Int32 nIndex) override
 
virtual css::uno::Sequence< css::beans::PropertyValue > SAL_CALL getCharacterAttributes (sal_Int32 nIndex, const css::uno::Sequence< OUString > &aRequestedAttributes) override
 
virtual css::awt::Rectangle SAL_CALL getCharacterBounds (sal_Int32 nIndex) override
 
virtual sal_Int32 SAL_CALL getCharacterCount () override
 
virtual sal_Int32 SAL_CALL getIndexAtPoint (const css::awt::Point &aPoint) override
 
virtual OUString SAL_CALL getSelectedText () override
 
virtual sal_Int32 SAL_CALL getSelectionStart () override
 
virtual sal_Int32 SAL_CALL getSelectionEnd () override
 
virtual sal_Bool SAL_CALL setSelection (sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
 
virtual OUString SAL_CALL getText () override
 
virtual OUString SAL_CALL getTextRange (sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
 
virtual css::accessibility::TextSegment SAL_CALL getTextAtIndex (sal_Int32 nIndex, sal_Int16 aTextType) override
 
virtual css::accessibility::TextSegment SAL_CALL getTextBeforeIndex (sal_Int32 nIndex, sal_Int16 aTextType) override
 
virtual css::accessibility::TextSegment SAL_CALL getTextBehindIndex (sal_Int32 nIndex, sal_Int16 aTextType) override
 
virtual sal_Bool SAL_CALL copyText (sal_Int32 nStartIndex, sal_Int32 nEndIndex) override
 
const css::uno::Reference< css::drawing::XShape > & GetXShape () const
 
void setIndexInParent (sal_Int32 _nIndex)
 set the index _nIndex at the accessible shape More...
 
- Public Member Functions inherited from accessibility::AccessibleContextBase
 AccessibleContextBase (const css::uno::Reference< css::accessibility::XAccessible > &rxParent, const sal_Int16 aRole)
 
virtual ~AccessibleContextBase () override
 
void CommitChange (sal_Int16 aEventId, const css::uno::Any &rNewValue, const css::uno::Any &rOldValue)
 
void SetAccessibleDescription (const OUString &rsDescription, StringOrigin eDescriptionOrigin)
 
void SetAccessibleName (const OUString &rsName, StringOrigin eNameOrigin)
 
bool GetState (sal_Int16 aState)
 
void SetRelationSet (const css::uno::Reference< css::accessibility::XAccessibleRelationSet > &rxRelationSet)
 
virtual css::uno::Reference< css::accessibility::XAccessibleContext > SAL_CALL getAccessibleContext () override
 
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleParent () override
 
virtual css::lang::Locale SAL_CALL getLocale () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &sServiceName) override
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () override
 
- Public Member Functions inherited from accessibility::AccessibleComponentBase
 AccessibleComponentBase ()
 
virtual ~AccessibleComponentBase ()
 
virtual sal_Bool SAL_CALL containsPoint (const css::awt::Point &aPoint) override
 
virtual css::uno::Reference< css::awt::XFont > SAL_CALL getFont () override
 
virtual OUString SAL_CALL getTitledBorderText () override
 
virtual OUString SAL_CALL getToolTipText () override
 
- Public Member Functions inherited from cppu::ImplHelper4< class, class, class, class >
virtual css::uno::Any SAL_CALL queryInterface (css::uno::Type const &rType) SAL_OVERRIDE
 
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () SAL_OVERRIDE
 
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId () SAL_OVERRIDE
 

Private Member Functions

virtual void SAL_CALL grabFocus () override
 forward the focus to the contained control(in alive mode) More...
 
virtual sal_Int32 SAL_CALL getAccessibleChildCount () override
 Return the number of currently visible children. More...
 
virtual css::uno::Reference< css::accessibility::XAccessible > SAL_CALL getAccessibleChild (sal_Int32 i) override
 Return the specified child. More...
 
virtual css::uno::Reference< css::accessibility::XAccessibleRelationSet > SAL_CALL getAccessibleRelationSet () override
 
virtual OUString SAL_CALL getImplementationName () override
 Returns an identifier for the implementation of this object. More...
 
virtual void SAL_CALL propertyChange (const css::beans::PropertyChangeEvent &_rEvent) override
 
virtual void SAL_CALL disposing () override
 This method is called from the component helper base class while disposing. More...
 
virtual void SAL_CALL disposing (const css::lang::EventObject &Source) override
 
virtual void SAL_CALL modeChanged (const css::util::ModeChangeEvent &_rSource) override
 
virtual void SAL_CALL notifyEvent (const css::accessibility::AccessibleEventObject &aEvent) override
 
virtual void SAL_CALL elementInserted (const css::container::ContainerEvent &Event) override
 
virtual void SAL_CALL elementRemoved (const css::container::ContainerEvent &Event) override
 
virtual void SAL_CALL elementReplaced (const css::container::ContainerEvent &Event) override
 
virtual void Init () override
 Initialize a new shape. More...
 
virtual OUString CreateAccessibleBaseName () override
 Create a name string that contains the accessible name. More...
 
virtual OUString CreateAccessibleName () override
 Create a unique name string that contains the accessible name. More...
 
OUString CreateAccessibleDescription ()
 Create a description string that contains the accessible description. More...
 
virtual bool SetState (sal_Int16 _nState) override
 Set the specified state. More...
 
OUString getControlModelStringProperty (const OUString &_rPropertyName) const
 (safely) reads the given property from the model of the UNO control More...
 
bool ensureControlModelAccess ()
 ensure that our control model exists(will be retrieved upon need only) More...
 
bool ensureListeningState (const bool _bCurrentlyListening, const bool _bNeedNewListening, const OUString &_rPropertyName)
 ensures that we're listening for the given property if(and only if!) necessary More...
 
void startStateMultiplexing ()
 starts multiplexing the state changes of our aggregate context More...
 
void stopStateMultiplexing ()
 stops multiplexing the state changes of our aggregate context More...
 
void adjustAccessibleRole ()
 adjusts our AccessibleRole, depending on the control type we're working for More...
 
void initializeComposedState ()
 initializes composed states of the context More...
 
 AccessibleControlShape (const AccessibleControlShape &)=delete
 
AccessibleControlShapeoperator= (const AccessibleControlShape &)=delete
 

Private Attributes

css::uno::Reference< css::beans::XPropertySet > m_xControlModel
 
css::uno::Reference< css::beans::XPropertySetInfo > m_xModelPropsMeta
 
css::uno::Reference< css::awt::XControl > m_xUnoControl
 
css::uno::WeakReference< css::accessibility::XAccessibleContext > m_aControlContext
 
css::uno::Reference< css::uno::XAggregation > m_xControlContextProxy
 
css::uno::Reference< css::lang::XTypeProvider > m_xControlContextTypeAccess
 
css::uno::Reference< css::lang::XComponent > m_xControlContextComponent
 
rtl::Reference<::comphelper::OWrappedAccessibleChildrenManagerm_pChildManager
 
bool m_bListeningForName: 1
 
bool m_bListeningForDesc: 1
 
bool m_bMultiplexingStates: 1
 
bool m_bDisposeNativeContext: 1
 
bool m_bWaitingForControl: 1
 

Additional Inherited Members

- Public Types inherited from accessibility::AccessibleContextBase
enum  StringOrigin
 
- Public Attributes inherited from accessibility::AccessibleContextBase
 ManuallySet
 
 FromShape
 
 AutomaticallyCreated
 
 NotSet
 
- Public Attributes inherited from accessibility::MutexOwner
mutable::osl::Mutex maMutex
 
- Protected Member Functions inherited from accessibility::AccessibleShape
OUString GetFullAccessibleName (AccessibleShape *shape)
 
virtual OUString GetStyle ()
 
void UpdateStates ()
 Update the <const>OPAQUE</const> and <const>SELECTED</const> state. More...
 
- Protected Member Functions inherited from accessibility::AccessibleContextBase
void FireEvent (const css::accessibility::AccessibleEventObject &aEvent)
 
void ThrowIfDisposed ()
 
bool IsDisposed () const
 
void SetAccessibleRole (sal_Int16 _nRole)
 
- Protected Member Functions inherited from accessibility::IAccessibleViewForwarderListener
 ~IAccessibleViewForwarderListener ()
 
- Protected Member Functions inherited from cppu::ImplHelper4< class, class, class, class >
 ~ImplHelper4 ()
 
- Protected Attributes inherited from accessibility::AccessibleShape
std::unique_ptr< ChildrenManagermpChildrenManager
 Children manager. May be empty if there are no children. More...
 
css::uno::Reference< css::drawing::XShape > mxShape
 Reference to the actual shape. More...
 
AccessibleShapeTreeInfo maShapeTreeInfo
 Bundle of information passed to all shapes in a document tree. More...
 
sal_Int32 m_nIndexInParent
 the index in parent. More...
 
std::unique_ptr< AccessibleTextHelpermpText
 The accessible text engine. More...
 
IAccessibleParentmpParent
 This object can be used to modify the child list of our parent. More...
 
SdrObjectm_pShape
 This object can be removed when we have an extra interface to ask if the shape is selected. More...
 
- Protected Attributes inherited from accessibility::AccessibleContextBase
css::uno::Reference< css::accessibility::XAccessibleStateSet > mxStateSet
 
css::uno::Reference< css::accessibility::XAccessibleRelationSet > mxRelationSet
 

Detailed Description

Definition at line 69 of file AccessibleControlShape.hxx.

Constructor & Destructor Documentation

AccessibleControlShape::AccessibleControlShape ( const AccessibleShapeInfo rShapeInfo,
const AccessibleShapeTreeInfo rShapeTreeInfo 
)
AccessibleControlShape::~AccessibleControlShape ( )
overridevirtual
accessibility::AccessibleControlShape::AccessibleControlShape ( const AccessibleControlShape )
privatedelete

Member Function Documentation

void AccessibleControlShape::adjustAccessibleRole ( )
private

adjusts our AccessibleRole, depending on the control type we're working for

Only to be called during initialization

Definition at line 746 of file AccessibleControlShape.cxx.

References m_aControlContext, m_xUnoControl, and accessibility::AccessibleContextBase::SetAccessibleRole().

Referenced by Init().

OUString AccessibleControlShape::CreateAccessibleBaseName ( )
overrideprivatevirtual
OUString AccessibleControlShape::CreateAccessibleDescription ( )
private
OUString AccessibleControlShape::CreateAccessibleName ( )
overrideprivatevirtual
virtual void SAL_CALL accessibility::AccessibleControlShape::disposing ( )
overrideprivatevirtual

This method is called from the component helper base class while disposing.

Reimplemented from accessibility::AccessibleShape.

virtual void SAL_CALL accessibility::AccessibleControlShape::disposing ( const css::lang::EventObject &  Source)
overrideprivatevirtual
void SAL_CALL AccessibleControlShape::elementInserted ( const css::container::ContainerEvent &  Event)
overrideprivatevirtual
void SAL_CALL AccessibleControlShape::elementRemoved ( const css::container::ContainerEvent &  Event)
overrideprivatevirtual

Definition at line 853 of file AccessibleControlShape.cxx.

void SAL_CALL AccessibleControlShape::elementReplaced ( const css::container::ContainerEvent &  Event)
overrideprivatevirtual

Definition at line 858 of file AccessibleControlShape.cxx.

bool AccessibleControlShape::ensureControlModelAccess ( )
private

ensure that our control model exists(will be retrieved upon need only)

Definition at line 669 of file AccessibleControlShape.cxx.

References Exception, m_xControlModel, m_xModelPropsMeta, and accessibility::AccessibleShape::mxShape.

Referenced by CreateAccessibleName(), elementInserted(), ensureListeningState(), getAccessibleRelationSet(), and getControlModelStringProperty().

bool AccessibleControlShape::ensureListeningState ( const bool  _bCurrentlyListening,
const bool  _bNeedNewListening,
const OUString &  _rPropertyName 
)
private

ensures that we're listening for the given property if(and only if!) necessary

Definition at line 471 of file AccessibleControlShape.cxx.

References ensureControlModelAccess(), Exception, m_xControlModel, and m_xModelPropsMeta.

Referenced by CreateAccessibleDescription(), and CreateAccessibleName().

Reference< XAccessible > SAL_CALL AccessibleControlShape::getAccessibleChild ( sal_Int32  nIndex)
overrideprivatevirtual

Return the specified child.

Forward the request to the shape.

Parameters
nIndexIndex of the requested child.
Returns
Reference of the requested child which is the accessible object of a visible shape.
Exceptions
IndexOutOfBoundsExceptionThrows an exception if the index is not valid.

Return the requested shape or throw an exception for a wrong index.

Reimplemented from accessibility::AccessibleShape.

Definition at line 517 of file AccessibleControlShape.cxx.

References accessibility::AccessibleShape::getAccessibleChild(), m_aControlContext, m_pChildManager, m_xUnoControl, and SAL_WARN_IF.

sal_Int32 SAL_CALL AccessibleControlShape::getAccessibleChildCount ( )
overrideprivatevirtual

Return the number of currently visible children.

The children of this shape come from two sources: The children from group or scene shapes and the paragraphs of text.

Reimplemented from accessibility::AccessibleShape.

Definition at line 500 of file AccessibleControlShape.cxx.

References accessibility::AccessibleShape::getAccessibleChildCount(), m_aControlContext, and m_xUnoControl.

Reference< XAccessibleRelationSet > SAL_CALL AccessibleControlShape::getAccessibleRelationSet ( )
overrideprivatevirtual
const css::uno::Reference< css::beans::XPropertySet >& accessibility::AccessibleControlShape::GetControlModel ( ) const
inline

Definition at line 80 of file AccessibleControlShape.hxx.

OUString AccessibleControlShape::getControlModelStringProperty ( const OUString &  _rPropertyName) const
private

(safely) reads the given property from the model of the UNO control

Definition at line 726 of file AccessibleControlShape.cxx.

References ensureControlModelAccess(), Exception, m_xControlModel, and m_xModelPropsMeta.

Referenced by CreateAccessibleDescription(), and CreateAccessibleName().

OUString SAL_CALL AccessibleControlShape::getImplementationName ( )
overrideprivatevirtual

Returns an identifier for the implementation of this object.

Reimplemented from accessibility::AccessibleShape.

Definition at line 299 of file AccessibleControlShape.cxx.

AccessibleControlShape * AccessibleControlShape::GetLabeledByControlShape ( )
void SAL_CALL AccessibleControlShape::grabFocus ( )
overrideprivatevirtual

forward the focus to the contained control(in alive mode)

Reimplemented from accessibility::AccessibleComponentBase.

Definition at line 283 of file AccessibleControlShape.cxx.

References accessibility::AccessibleComponentBase::grabFocus(), and m_xUnoControl.

void AccessibleControlShape::Init ( void  )
overrideprivatevirtual
void AccessibleControlShape::initializeComposedState ( )
private

initializes composed states of the context

Some of the states of our inner context need to be propagated to the "composed context", too (such as "checked" for check boxes). At lifetime, this is done by multiplexing state changes, at initialization time, this method is used.

Definition at line 769 of file AccessibleControlShape.cxx.

References utl::AccessibleStateSetHelper::AddState(), utl::AccessibleStateSetHelper::contains(), utl::AccessibleStateSetHelper::getStates(), i, m_aControlContext, m_xUnoControl, accessibility::AccessibleContextBase::mxStateSet, and utl::AccessibleStateSetHelper::RemoveState().

Referenced by Init().

void SAL_CALL AccessibleControlShape::modeChanged ( const css::util::ModeChangeEvent &  _rSource)
overrideprivatevirtual
void SAL_CALL AccessibleControlShape::notifyEvent ( const css::accessibility::AccessibleEventObject &  aEvent)
overrideprivatevirtual
AccessibleControlShape& accessibility::AccessibleControlShape::operator= ( const AccessibleControlShape )
privatedelete
void SAL_CALL AccessibleControlShape::propertyChange ( const css::beans::PropertyChangeEvent &  _rEvent)
overrideprivatevirtual
bool AccessibleControlShape::SetState ( sal_Int16  _nState)
overrideprivatevirtual

Set the specified state.

Reimplemented from accessibility::AccessibleShape.

Definition at line 761 of file AccessibleControlShape.cxx.

References m_xUnoControl, and accessibility::AccessibleShape::SetState().

void AccessibleControlShape::startStateMultiplexing ( )
private

starts multiplexing the state changes of our aggregate context

Definition at line 691 of file AccessibleControlShape.cxx.

References m_aControlContext, m_bMultiplexingStates, and m_xUnoControl.

Referenced by Init().

void AccessibleControlShape::stopStateMultiplexing ( )
private

stops multiplexing the state changes of our aggregate context

Definition at line 711 of file AccessibleControlShape.cxx.

References m_aControlContext, and m_bMultiplexingStates.

Member Data Documentation

css::uno::WeakReference< css::accessibility::XAccessibleContext > accessibility::AccessibleControlShape::m_aControlContext
private
bool accessibility::AccessibleControlShape::m_bDisposeNativeContext
private

Definition at line 199 of file AccessibleControlShape.hxx.

Referenced by Init().

bool accessibility::AccessibleControlShape::m_bListeningForDesc
private

Definition at line 197 of file AccessibleControlShape.hxx.

Referenced by CreateAccessibleDescription().

bool accessibility::AccessibleControlShape::m_bListeningForName
private

Definition at line 196 of file AccessibleControlShape.hxx.

Referenced by CreateAccessibleName().

bool accessibility::AccessibleControlShape::m_bMultiplexingStates
private

Definition at line 198 of file AccessibleControlShape.hxx.

Referenced by startStateMultiplexing(), and stopStateMultiplexing().

bool accessibility::AccessibleControlShape::m_bWaitingForControl
private

Definition at line 200 of file AccessibleControlShape.hxx.

Referenced by elementInserted(), and Init().

rtl::Reference<::comphelper::OWrappedAccessibleChildrenManager> accessibility::AccessibleControlShape::m_pChildManager
private
css::uno::Reference< css::lang::XComponent > accessibility::AccessibleControlShape::m_xControlContextComponent
private

Definition at line 191 of file AccessibleControlShape.hxx.

Referenced by Init(), and ~AccessibleControlShape().

css::uno::Reference< css::uno::XAggregation > accessibility::AccessibleControlShape::m_xControlContextProxy
private

Definition at line 187 of file AccessibleControlShape.hxx.

Referenced by Init(), and ~AccessibleControlShape().

css::uno::Reference< css::lang::XTypeProvider > accessibility::AccessibleControlShape::m_xControlContextTypeAccess
private

Definition at line 189 of file AccessibleControlShape.hxx.

Referenced by Init(), and ~AccessibleControlShape().

css::uno::Reference< css::beans::XPropertySet > accessibility::AccessibleControlShape::m_xControlModel
private
css::uno::Reference< css::beans::XPropertySetInfo > accessibility::AccessibleControlShape::m_xModelPropsMeta
private
css::uno::Reference< css::awt::XControl > accessibility::AccessibleControlShape::m_xUnoControl
private

The documentation for this class was generated from the following files: