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

This class contains the actual implementation of the children manager. More...

#include <ChildrenManagerImpl.hxx>

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

Public Member Functions

 ChildrenManagerImpl (const css::uno::Reference< css::accessibility::XAccessible > &rxParent, const css::uno::Reference< css::drawing::XShapes > &rxShapeList, const AccessibleShapeTreeInfo &rShapeTreeInfo, AccessibleContextBase &rContext)
 Create a children manager, which manages the children of the given parent. More...
 
virtual ~ChildrenManagerImpl () override
 If there still are managed children these are disposed and released. More...
 
void Init ()
 Do that part of the initialization that you can not or should not do in the constructor like registering at broadcasters. More...
 
long GetChildCount () const throw ()
 Return the number of currently visible accessible children. More...
 
css::uno::Reference< css::drawing::XShape > GetChildShape (long nIndex)
 
css::uno::Reference< css::accessibility::XAccessible > GetChild (long nIndex)
 Return the requested accessible child or throw and IndexOutOfBoundsException if the given index is invalid. More...
 
css::uno::Reference< css::accessibility::XAccessible > GetChild (ChildDescriptor &aChildDescriptor, sal_Int32 _nIndex)
 Return the requested accessible child. More...
 
css::uno::Reference< css::accessibility::XAccessible > GetChild (const css::uno::Reference< css::drawing::XShape > &xShape)
 Return the requested accessible child given a shape. More...
 
void Update (bool bCreateNewObjectsOnDemand)
 Update the child manager. More...
 
void SetShapeList (const css::uno::Reference< css::drawing::XShapes > &xShapeList)
 Set the list of UNO shapes to the given list. More...
 
void AddAccessibleShape (css::uno::Reference< css::accessibility::XAccessible > const &shape)
 Add an accessible shape. More...
 
void ClearAccessibleShapeList ()
 Clear the lists of accessible shapes and that of visible accessible shapes. More...
 
void SetInfo (const AccessibleShapeTreeInfo &rShapeTreeInfo)
 Set a new event shape tree info. More...
 
void UpdateSelection ()
 Update the SELECTED and FOCUSED states of all visible children according to the given selection. More...
 
bool HasFocus () const
 Return whether one of the shapes managed by this object has currently the focus. More...
 
void RemoveFocus ()
 When there is a shape that currently has the focus, i.e. More...
 
virtual void SAL_CALL disposing (const css::lang::EventObject &rEventObject) override
 
virtual void SAL_CALL notifyEvent (const css::document::EventObject &rEventObject) override
 Listen for new and removed shapes. More...
 
virtual void SAL_CALL selectionChanged (const css::lang::EventObject &rEvent) override
 
virtual void ViewForwarderChanged () override
 Informs this children manager and its children about a change of one (or more) aspect of the view forwarder. More...
 
virtual bool ReplaceChild (AccessibleShape *pCurrentChild, const css::uno::Reference< css::drawing::XShape > &_rxShape, const long _nIndex, const AccessibleShapeTreeInfo &_rShapeTreeInfo) override
 Replace the specified child with a replacement. More...
 
virtual AccessibleControlShapeGetAccControlShapeFromModel (css::beans::XPropertySet *pSet) override
 
virtual css::uno::Reference< css::accessibility::XAccessible > GetAccessibleCaption (const css::uno::Reference< css::drawing::XShape > &xShape) override
 
- Public Member Functions inherited from accessibility::IAccessibleParent
virtual ~IAccessibleParent ()
 Allow for a virtual destructor. More...
 
virtual bool IsDocumentSelAll ()
 

Private Types

typedef std::vector< css::uno::Reference< css::accessibility::XAccessible > > AccessibleShapeList
 This list of additional accessible shapes that can or shall not be created by the shape factory. More...
 

Private Member Functions

virtual void SAL_CALL disposing () override
 This method is called from the component helper base class while disposing. More...
 
void impl_dispose ()
 
 ChildrenManagerImpl (const ChildrenManagerImpl &)=delete
 
ChildrenManagerImploperator= (const ChildrenManagerImpl &)=delete
 
void CreateListOfVisibleShapes (ChildDescriptorListType &raChildList)
 Three helper functions for the <member>Update</member> method. More...
 
void RemoveNonVisibleChildren (const ChildDescriptorListType &raNewChildList, ChildDescriptorListType &raOldChildList)
 From the old list of (former) visible shapes remove those that are not member of the new list. More...
 
void MergeAccessibilityInformation (ChildDescriptorListType &raChildList)
 Merge the information that is already known about the visible shapes from the current list into the new list. More...
 
void CreateAccessibilityObjects (ChildDescriptorListType &raChildList)
 If children have to be created immediately and not on demand the create the missing accessible objects now. More...
 
void AddShape (const css::uno::Reference< css::drawing::XShape > &xShape)
 Add a single shape. More...
 
void RemoveShape (const css::uno::Reference< css::drawing::XShape > &xShape)
 Remove a single shape. More...
 
void RegisterAsDisposeListener (const css::uno::Reference< css::drawing::XShape > &xShape)
 Add the children manager as dispose listener at the given shape so that the associated accessible object can be disposed when the shape is disposed. More...
 
void UnregisterAsDisposeListener (const css::uno::Reference< css::drawing::XShape > &xShape)
 Remove the children manager as dispose listener at the given shape. More...
 

Static Private Member Functions

static void SendVisibleAreaEvents (ChildDescriptorListType &raChildList)
 If the visible area has changed then send events that signal a change of their bounding boxes for all shapes that are members of both the current and the new list of visible shapes. More...
 

Private Attributes

ChildDescriptorListType maVisibleChildren
 This list holds the descriptors of all currently visible shapes and associated accessible object. More...
 
css::uno::Reference< css::drawing::XShapes > mxShapeList
 The original list of UNO shapes. More...
 
AccessibleShapeList maAccessibleShapes
 
tools::Rectangle maVisibleArea
 Rectangle that describes the visible area in which a shape has to lie at least partly, to be accessible through this class. More...
 
css::uno::Reference< css::accessibility::XAccessible > mxParent
 The parent of the shapes. More...
 
AccessibleShapeTreeInfo maShapeTreeInfo
 Bundle of information passed down the shape tree. More...
 
AccessibleContextBasemrContext
 Reference to an accessible context object that is used to inform its listeners of new and removed children. More...
 
AccessibleShapempFocusedShape
 This member points to the currently focused shape. More...
 

Additional Inherited Members

- Public Attributes inherited from accessibility::MutexOwner
mutable::osl::Mutex maMutex
 
- Protected Member Functions inherited from accessibility::IAccessibleViewForwarderListener
 ~IAccessibleViewForwarderListener ()
 

Detailed Description

This class contains the actual implementation of the children manager.

It maintains a set of visible accessible shapes in <member>maVisibleChildren</member>. The objects in this list stem from two sources. The first is a list of UNO shapes like the list of shapes in a draw page. A reference to this list is held in <member>maShapeList</member>. Accessible objects for these shapes are created on demand. The list can be replaced by calls to the <member>SetShapeList</member> method. The second source is a list of already accessible objects. It can be modified by calls to the <member>AddAccessibleShape</member> and <member>ClearAccessibleShapeList</member> methods.

Each call of the <member>Update</member> method leads to a re-calculation of the visible shapes which then can be queried with the <member>GetChildCount</member> and <member>GetChild</member> methods. Events are send informing all listeners about the removed shapes which are not visible anymore and about the added shapes.

The visible area which is used to determine the visibility of the shapes is taken from the view forwarder. Thus, to signal a change of the visible area call <member>ViewForwarderChanged</member>.

The children manager adds itself as disposing() listener at every UNO shape it creates an accessible object for so that when the UNO shape passes away it can dispose() the associated accessible object.

See also
ChildrenManager

Definition at line 74 of file ChildrenManagerImpl.hxx.

Member Typedef Documentation

typedef std::vector< css::uno::Reference< css::accessibility::XAccessible> > accessibility::ChildrenManagerImpl::AccessibleShapeList
private

This list of additional accessible shapes that can or shall not be created by the shape factory.

Definition at line 309 of file ChildrenManagerImpl.hxx.

Constructor & Destructor Documentation

accessibility::ChildrenManagerImpl::ChildrenManagerImpl ( const css::uno::Reference< css::accessibility::XAccessible > &  rxParent,
const css::uno::Reference< css::drawing::XShapes > &  rxShapeList,
const AccessibleShapeTreeInfo rShapeTreeInfo,
AccessibleContextBase rContext 
)

Create a children manager, which manages the children of the given parent.

The parent is used for creating accessible objects. The list of shapes for which to create those objects is not derived from the parent and has to be provided separately by calling one of the update methods.

Parameters
rxParentThe parent of the accessible objects which will be created on demand at some point of time in the future.
rxShapeListList of UNO shapes to manage.
rShapeTreeInfoBundle of information passed down the shape tree.
rContextAn accessible context object that is called for firing events for new and deleted children, i.e. that holds a list of listeners to be informed.
accessibility::ChildrenManagerImpl::~ChildrenManagerImpl ( )
overridevirtual

If there still are managed children these are disposed and released.

Definition at line 83 of file ChildrenManagerImpl.cxx.

References DBG_ASSERT.

accessibility::ChildrenManagerImpl::ChildrenManagerImpl ( const ChildrenManagerImpl )
privatedelete

Member Function Documentation

void accessibility::ChildrenManagerImpl::AddAccessibleShape ( css::uno::Reference< css::accessibility::XAccessible > const &  shape)

Add an accessible shape.

This does not modify the list of UNO shapes or the list of visible shapes. Accessible shapes are, at the moment, not tested against the visible area but are always appended to the list of visible children.

Parameters
shapeThe new shape that is added to the list of accessible shapes; must be non-null.

Definition at line 510 of file ChildrenManagerImpl.cxx.

References maAccessibleShapes.

void accessibility::ChildrenManagerImpl::AddShape ( const css::uno::Reference< css::drawing::XShape > &  xShape)
private
void accessibility::ChildrenManagerImpl::ClearAccessibleShapeList ( )

Clear the lists of accessible shapes and that of visible accessible shapes.

The list of UNO shapes is not modified.

Definition at line 517 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleContextBase::CommitChange(), maAccessibleShapes, maVisibleChildren, and mrContext.

Referenced by impl_dispose().

void accessibility::ChildrenManagerImpl::CreateAccessibilityObjects ( ChildDescriptorListType raChildList)
private

If children have to be created immediately and not on demand the create the missing accessible objects now.

Parameters
raDescriptorListCreate an accessible object for every member of this list where that object does not already exist.

Definition at line 404 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleContextBase::CommitChange(), GetChild(), mrContext, and nPos.

Referenced by Update().

void accessibility::ChildrenManagerImpl::CreateListOfVisibleShapes ( ChildDescriptorListType raChildList)
private

Three helper functions for the <member>Update</member> method.

Create a list of visible shapes from the list of UNO shapes <member>maShapeList</member> and the list of accessible objects.

Parameters
raChildListFor every visible shape from the two sources mentioned above one descriptor is added to this list.

Definition at line 279 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleShapeTreeInfo::GetViewForwarder(), accessibility::IAccessibleViewForwarder::GetVisibleArea(), tools::Rectangle::IsOver(), maAccessibleShapes, maShapeTreeInfo, mxShapeList, tools::Rectangle::SetBottom(), tools::Rectangle::SetLeft(), tools::Rectangle::SetRight(), tools::Rectangle::SetTop(), and xComponent.

Referenced by Update().

virtual void SAL_CALL accessibility::ChildrenManagerImpl::disposing ( const css::lang::EventObject &  rEventObject)
overridevirtual
void SAL_CALL accessibility::ChildrenManagerImpl::disposing ( )
overrideprivatevirtual

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

Definition at line 708 of file ChildrenManagerImpl.cxx.

References impl_dispose().

AccessibleControlShape * accessibility::ChildrenManagerImpl::GetAccControlShapeFromModel ( css::beans::XPropertySet *  )
overridevirtual
uno::Reference< XAccessible > accessibility::ChildrenManagerImpl::GetAccessibleCaption ( const css::uno::Reference< css::drawing::XShape > &  )
overridevirtual
Exceptions
css::uno::RuntimeException

Reimplemented from accessibility::IAccessibleParent.

Definition at line 785 of file ChildrenManagerImpl.cxx.

References maVisibleChildren.

uno::Reference< XAccessible > accessibility::ChildrenManagerImpl::GetChild ( long  nIndex)

Return the requested accessible child or throw and IndexOutOfBoundsException if the given index is invalid.

Return the requested accessible child object.

Parameters
nIndexIndex of the requested child. Call getChildCount for obtaining the number of children.
Returns
In case of a valid index this method returns a reference to the requested accessible child. This reference is empty if it has not been possible to create the accessible object of the corresponding shape.
Exceptions
Throwsan IndexOutOfBoundsException if the index is not valid.

Create it if it is not yet in the cache.

Definition at line 132 of file ChildrenManagerImpl.cxx.

References maVisibleChildren, and mxParent.

Referenced by AddShape(), CreateAccessibilityObjects(), and GetChildShape().

uno::Reference< XAccessible > accessibility::ChildrenManagerImpl::GetChild ( ChildDescriptor rChildDescriptor,
sal_Int32  _nIndex 
)

Return the requested accessible child.

Return the requested accessible child object.

Parameters
aChildDescriptorThis object contains references to the original shape and its associated accessible object.
_nIndexThe index which will be used in getAccessibleIndexInParent of the accessible shape.
Returns
Returns a reference to the requested accessible child. This reference is empty if it has not been possible to create the accessible object of the corresponding shape.
Exceptions
css::uno::RuntimeExceptionCreate it if it is not yet in the cache.

Definition at line 148 of file ChildrenManagerImpl.cxx.

References accessibility::ShapeTypeHandler::Instance(), maShapeTreeInfo, accessibility::ChildDescriptor::mxAccessibleShape, mxParent, and accessibility::ChildDescriptor::mxShape.

css::uno::Reference<css::accessibility::XAccessible> accessibility::ChildrenManagerImpl::GetChild ( const css::uno::Reference< css::drawing::XShape > &  xShape)

Return the requested accessible child given a shape.

This method searches the list of descriptors for the one that holds the association of the given shape to the requested accessible object and returns that. If no such descriptor is found that is interpreted so that the specified shape is not visible at the moment.

Parameters
xShapeThe shape for which to return the associated accessible object.
Returns
Returns a reference to the requested accessible child. The reference is empty if there is no shape descriptor that associates the shape with an accessible object.
Exceptions
css::uno::RuntimeException
long accessibility::ChildrenManagerImpl::GetChildCount ( ) const
throw (
)

Return the number of currently visible accessible children.

Returns
If there are no children a 0 is returned.

Definition at line 112 of file ChildrenManagerImpl.cxx.

References maVisibleChildren.

Referenced by GetAccControlShapeFromModel().

css::uno::Reference< css::drawing::XShape > accessibility::ChildrenManagerImpl::GetChildShape ( long  nIndex)
Exceptions
css::uno::RuntimeException
css::lang::IndexOutOfBoundsException

Definition at line 118 of file ChildrenManagerImpl.cxx.

References GetChild(), and maVisibleChildren.

bool accessibility::ChildrenManagerImpl::HasFocus ( ) const

Return whether one of the shapes managed by this object has currently the focus.

Returns
Returns <true> when there is a shape that has the focus and <false> when there is no such shape.

Definition at line 961 of file ChildrenManagerImpl.cxx.

References mpFocusedShape.

void accessibility::ChildrenManagerImpl::impl_dispose ( )
private
void accessibility::ChildrenManagerImpl::Init ( void  )

Do that part of the initialization that you can not or should not do in the constructor like registering at broadcasters.

Definition at line 90 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleShapeTreeInfo::GetController(), accessibility::AccessibleShapeTreeInfo::GetModelBroadcaster(), maShapeTreeInfo, and xController.

void accessibility::ChildrenManagerImpl::MergeAccessibilityInformation ( ChildDescriptorListType raChildList)
private

Merge the information that is already known about the visible shapes from the current list into the new list.

Parameters
raChildListInformation is merged from the current list of visible children to this list.

Definition at line 366 of file ChildrenManagerImpl.cxx.

References maVisibleChildren, and RegisterAsDisposeListener().

Referenced by Update().

void SAL_CALL accessibility::ChildrenManagerImpl::notifyEvent ( const css::document::EventObject &  rEventObject)
overridevirtual

Listen for new and removed shapes.

Definition at line 646 of file ChildrenManagerImpl.cxx.

References AddShape(), and RemoveShape().

ChildrenManagerImpl& accessibility::ChildrenManagerImpl::operator= ( const ChildrenManagerImpl )
privatedelete
void accessibility::ChildrenManagerImpl::RegisterAsDisposeListener ( const css::uno::Reference< css::drawing::XShape > &  xShape)
private

Add the children manager as dispose listener at the given shape so that the associated accessible object can be disposed when the shape is disposed.

Parameters
xShapeRegister at this shape as dispose listener.

Definition at line 977 of file ChildrenManagerImpl.cxx.

References xComponent.

Referenced by AddShape(), and MergeAccessibilityInformation().

void accessibility::ChildrenManagerImpl::RemoveFocus ( )

When there is a shape that currently has the focus, i.e.

<member>HasFocus()</member> returns <true> then remove the focus from that shape. Otherwise nothing changes.

Definition at line 967 of file ChildrenManagerImpl.cxx.

References mpFocusedShape, and accessibility::AccessibleShape::ResetState().

void accessibility::ChildrenManagerImpl::RemoveNonVisibleChildren ( const ChildDescriptorListType raNewChildList,
ChildDescriptorListType raOldChildList 
)
private

From the old list of (former) visible shapes remove those that are not member of the new list.

Send appropriate events for every such shape.

Parameters
raNewChildListThe new list of visible children against which the old one is compared.
raOldChildListThe old list of visible children against which the new one is compared.

Definition at line 336 of file ChildrenManagerImpl.cxx.

References mrContext, accessibility::AccessibleShape::ResetState(), and UnregisterAsDisposeListener().

Referenced by Update().

void accessibility::ChildrenManagerImpl::RemoveShape ( const css::uno::Reference< css::drawing::XShape > &  xShape)
private

Remove a single shape.

Update all relevant data structures accordingly. Use this method instead of <member>Update()</member> when only a single shape has been removed.

Definition at line 475 of file ChildrenManagerImpl.cxx.

References maVisibleChildren, mrContext, and UnregisterAsDisposeListener().

Referenced by notifyEvent().

bool accessibility::ChildrenManagerImpl::ReplaceChild ( AccessibleShape pCurrentChild,
const css::uno::Reference< css::drawing::XShape > &  _rxShape,
const long  _nIndex,
const AccessibleShapeTreeInfo _rShapeTreeInfo 
)
overridevirtual

Replace the specified child with a replacement.

Parameters
pCurrentChildThis child is to be replaced.
pReplacementThe replacement for the current child.
Returns
The returned value indicates whether the replacement has been finished successfully.

Implements accessibility::IAccessibleParent.

Definition at line 720 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleContextBase::CommitChange(), accessibility::AccessibleContextBase::getAccessibleParent(), accessibility::ShapeTypeHandler::Instance(), maVisibleChildren, and mrContext.

void SAL_CALL accessibility::ChildrenManagerImpl::selectionChanged ( const css::lang::EventObject &  rEvent)
overridevirtual

Definition at line 658 of file ChildrenManagerImpl.cxx.

References UpdateSelection().

void accessibility::ChildrenManagerImpl::SendVisibleAreaEvents ( ChildDescriptorListType raChildList)
staticprivate

If the visible area has changed then send events that signal a change of their bounding boxes for all shapes that are members of both the current and the new list of visible shapes.

Parameters
raChildListEvents are sent to all entries of this list that already contain an accessible object.

Definition at line 389 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleShape::ViewForwarderChanged().

Referenced by Update().

void accessibility::ChildrenManagerImpl::SetInfo ( const AccessibleShapeTreeInfo rShapeTreeInfo)

Set a new event shape tree info.

If the broadcasters change at which this object is registered then unregister at old and register at new broadcasters.

Call this method to inform the children manager of a change of the info bundle.

Parameters
rShapeTreeInfoThe new info that replaces the current one.

Definition at line 558 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleShapeTreeInfo::GetController(), accessibility::AccessibleShapeTreeInfo::GetModelBroadcaster(), and maShapeTreeInfo.

void accessibility::ChildrenManagerImpl::SetShapeList ( const css::uno::Reference< css::drawing::XShapes > &  xShapeList)

Set the list of UNO shapes to the given list.

This removes the old list and does not add to it. The list of accessible shapes that is build up by calls to <member>AddAccessibleShape</member> is not modified. Neither is the list of visible children. Accessible objects are created on demand.

Parameters
xShapeListThe list of UNO shapes that replaces the old list.

Definition at line 504 of file ChildrenManagerImpl.cxx.

References mxShapeList.

Referenced by impl_dispose().

void accessibility::ChildrenManagerImpl::UnregisterAsDisposeListener ( const css::uno::Reference< css::drawing::XShape > &  xShape)
private

Remove the children manager as dispose listener at the given shape.

Parameters
xShapeUnregister at this shape as dispose listener.

Definition at line 987 of file ChildrenManagerImpl.cxx.

References xComponent.

Referenced by RemoveNonVisibleChildren(), and RemoveShape().

void accessibility::ChildrenManagerImpl::Update ( bool  bCreateNewObjectsOnDemand)

Update the child manager.

Find all shapes among the specified shapes that lie fully or partially inside the visible area.

Take care of a modified set of children and modified visible area. This method can optimize the update process with respect separate updates of a modified children list and visible area.

Parameters
bCreateNewObjectsOnDemandIf </true> then accessible objects associated with the visible shapes are created only when asked for. No event is sent on creation. If </false> then the accessible objects are created before this method returns and events are sent to inform the listeners of the new object.

Put those shapes into the cleared cache. The corresponding accessible objects will be created on demand.

At the moment, first all accessible objects are removed from the cache and the appropriate listeners are informed of this. Next, the list is created again. This should be optimized in the future to not remove and create objects that will be in the list before and after the update method.

Definition at line 203 of file ChildrenManagerImpl.cxx.

References CreateAccessibilityObjects(), CreateListOfVisibleShapes(), accessibility::AccessibleShapeTreeInfo::GetViewForwarder(), accessibility::IAccessibleViewForwarder::GetVisibleArea(), maShapeTreeInfo, maVisibleArea, maVisibleChildren, MergeAccessibilityInformation(), RemoveNonVisibleChildren(), and SendVisibleAreaEvents().

Referenced by ViewForwarderChanged().

void accessibility::ChildrenManagerImpl::UpdateSelection ( )

Update the SELECTED and FOCUSED states of all visible children according to the given selection.

Update the <const>SELECTED</const> and the <const>FOCUSED</const> state of all visible children.

This includes setting and resetting the states.

Maybe this should be changed to all children.

Iterate over all descriptors of visible accessible shapes and look them up in the selection.

If there is no valid controller then all shapes are deselected and unfocused. If the controller's frame is not active then all shapes are unfocused.

Definition at line 804 of file ChildrenManagerImpl.cxx.

References accessibility::AccessibleContextBase::CommitChange(), accessibility::AccessibleShape::getAccessibleRole(), accessibility::AccessibleShapeTreeInfo::GetController(), vcl::Window::GetParent(), accessibility::AccessibleShape::GetState(), accessibility::AccessibleShapeTreeInfo::GetWindow(), vcl::Window::HasFocus(), maShapeTreeInfo, maVisibleChildren, mpFocusedShape, mrContext, accessibility::AccessibleShape::ResetState(), accessibility::AccessibleShape::SetState(), and xController.

Referenced by selectionChanged().

void accessibility::ChildrenManagerImpl::ViewForwarderChanged ( )
overridevirtual

Informs this children manager and its children about a change of one (or more) aspect of the view forwarder.

Parameters
aChangeTypeA change type of <const>VISIBLE_AREA</const> leads to a call to the <member>Update</member> which creates accessible objects of new shapes immediately. Other change types are passed to the visible accessible children without calling <member>Update</member>.
pViewForwarderThe modified view forwarder. Use this one from now on.

Implements accessibility::IAccessibleViewForwarderListener.

Definition at line 714 of file ChildrenManagerImpl.cxx.

References Update().

Member Data Documentation

AccessibleShapeList accessibility::ChildrenManagerImpl::maAccessibleShapes
private
AccessibleShapeTreeInfo accessibility::ChildrenManagerImpl::maShapeTreeInfo
private

Bundle of information passed down the shape tree.

Definition at line 325 of file ChildrenManagerImpl.hxx.

Referenced by AddShape(), CreateListOfVisibleShapes(), GetChild(), impl_dispose(), Init(), SetInfo(), Update(), and UpdateSelection().

tools::Rectangle accessibility::ChildrenManagerImpl::maVisibleArea
private

Rectangle that describes the visible area in which a shape has to lie at least partly, to be accessible through this class.

Used to detect changes of the visible area after changes of the view forwarder.

Definition at line 316 of file ChildrenManagerImpl.hxx.

Referenced by Update().

ChildDescriptorListType accessibility::ChildrenManagerImpl::maVisibleChildren
private

This list holds the descriptors of all currently visible shapes and associated accessible object.

With the descriptors it maintains a mapping of shapes to accessible objects. It acts as a cache in that accessible objects are only created on demand and released with every update (where the latter may be optimized by the update methods).

The list is realized as a vector because it remains unchanged between updates (i.e. complete rebuilds of the list) and allows a fast (constant time) access to its elements for given indices.

Definition at line 298 of file ChildrenManagerImpl.hxx.

Referenced by AddShape(), ClearAccessibleShapeList(), GetAccControlShapeFromModel(), GetAccessibleCaption(), GetChild(), GetChildCount(), GetChildShape(), MergeAccessibilityInformation(), RemoveShape(), ReplaceChild(), Update(), and UpdateSelection().

AccessibleShape* accessibility::ChildrenManagerImpl::mpFocusedShape
private

This member points to the currently focused shape.

It is NULL when there is no focused shape.

Definition at line 345 of file ChildrenManagerImpl.hxx.

Referenced by HasFocus(), RemoveFocus(), and UpdateSelection().

AccessibleContextBase& accessibility::ChildrenManagerImpl::mrContext
private

Reference to an accessible context object that is used to inform its listeners of new and removed children.

Definition at line 330 of file ChildrenManagerImpl.hxx.

Referenced by AddShape(), ClearAccessibleShapeList(), CreateAccessibilityObjects(), RemoveNonVisibleChildren(), RemoveShape(), ReplaceChild(), and UpdateSelection().

css::uno::Reference<css::accessibility::XAccessible> accessibility::ChildrenManagerImpl::mxParent
private

The parent of the shapes.

It is used for creating accessible objects for given shapes.

Definition at line 321 of file ChildrenManagerImpl.hxx.

Referenced by GetChild().

css::uno::Reference<css::drawing::XShapes> accessibility::ChildrenManagerImpl::mxShapeList
private

The original list of UNO shapes.

The visible shapes are inserted into the list of visible children <member>maVisibleChildren</member>.

Definition at line 304 of file ChildrenManagerImpl.hxx.

Referenced by AddShape(), CreateListOfVisibleShapes(), and SetShapeList().


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