Walker :: AccessibleItemWalker :: AccessibleItemWalker :: Class AccessibleItemWalker
[hide private]
[frames] | no frames]

Class AccessibleItemWalker

source code

 object --+    
          |    
Base.Walker --+
              |
             AccessibleItemWalker

Walks the accessible hierarchy by accessibles and their items returning PORs. The walk order is an in-order traversal of the subtree of the accessible hierarchy rooted at a top-level window accessible. The subtree is assumed to have no loops, though logic could be added to detect them. The supported flags determine whether invisible or trivial items are skipped or not. This class uses the AEInterfaces to leave the decision of what constitutes an item, what constitutes a trivial accessible, and what constitutes and invisible accessible to the objects that implement the interfaces.

Instance Methods [hide private]
 
__init__(self, por, only_visible=True, allow_trivial=False)
Stores the starting POR.
source code
2-tuple of POR, callable
_getNextItem(self, por)
Gets the next item in the current accessible in the given POR.
source code
2-tuple of POR, callable
_getFirstChild(self, por)
Gets the first child of the current accessible in the given POR.
source code
2-tuple of POR, callable
_getNextPeer(self, por)
Gets the next peer of the current accessible in the given POR.
source code
2-tuple of POR, callable
_getParentNextItem(self, por)
Gets the next item in the parent accessible of the current accessible in the given POR.
source code
2-tuple of POR, callable
_getPrevItem(self, por)
Gets the previous item in the current accessible in the given POR.
source code
2-tuple of POR, callable
_getPrevPeer(self, por)
Gets the previous peer of the current accessible in the given POR.
source code
2-tuple of POR, callable
_getParentPrevItem(self, por)
Gets the previous item in the parent accessible of the current accessible in the given POR.
source code
2-tuple of POR, callable
_getLastChild(self, por)
Gets the last child of the accessible in the given POR.
source code
POR
_getLastItem(self, por)
Gets the last visible item of the given POR.
source code
2-tuple of POR, callable
_getParent(self, por)
Gets the parent accessible of the one in the given POR.
source code
POR or None
getNextPOR(self)
Gets the next POR in the walk order.
source code
POR or None
getPrevPOR(self)
Gets the previous POR in the walk order.
source code
POR
getFirstPOR(self)
Gets the first POR in the walk order.
source code
POR
getLastPOR(self)
Gets the last POR in the walk order.
source code
POR
getParentPOR(self)
Gets the parent POR of the current POR.
source code

Inherited from Base.Walker: getCurrPOR

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Instance Variables [hide private]
boolean allow_invisible
Stop on invisible PORs as well as visible?
boolean allow_trivial
Stop on trivial PORs as well as non-trivial?

Inherited from Base.Walker: por

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, por, only_visible=True, allow_trivial=False)
(Constructor)

source code 

Stores the starting POR.

Parameters:
  • only_visible (boolean) - Stop only on visible PORs?
  • allow_trivial (boolean) - Stop on trivial PORs as well as non-trivial?
  • por (POR) - The current POR for the Walker
Overrides: Base.Walker.__init__

_getNextItem(self, por)

source code 

Gets the next item in the current accessible in the given POR. Returns that next item if it exists. If not or if the accessible in the given POR is not visible, returns the current POR and the _getFirstChild as the method to call to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getFirstChild(self, por)

source code 

Gets the first child of the current accessible in the given POR. Returns the child accessible if it exists, is visible, and is not trivial. If it does not exist or is invisible, returns the given POR and _getNextPeer as the method to call to continue the search. If it is trivial, returns the child accessible and _getFirstChild as the method to call to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getNextPeer(self, por)

source code 

Gets the next peer of the current accessible in the given POR. Returns the peer accessible if it exists, is visible, and is not trivial. If it does not exist, returns the given POR and _getParentNextItem as the method to call to continue the search. If it is invisible, returns the peer POR and _getNextPeer as the method to call to continue the search. If it is trivial, returns the peer and _getFirstChild as the method to call to continue the search. If it is trivial, returns the child accessible and _getFirstChild as the method to call to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getParentNextItem(self, por)

source code 

Gets the next item in the parent accessible of the current accessible in the given POR. Returns the next item if it exists. Else, returns the parent accessible and _getNextPeer as the method to call to continue the search if the parent exists. Returns a sentinel (None, None) if there is no parent indicating the given POR is the root of the subtree containing the starting POR.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getPrevItem(self, por)

source code 

Gets the previous item in the current accessible in the given POR. Returns that previous item if it exists. If not or if the accessible in the given POR is not visible, returns the current POR and the _getPrevPeer as the method to call to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getPrevPeer(self, por)

source code 

Gets the previous peer of the current accessible in the given POR. If it does not exist, returns the given POR and _getParent as the method to call to continue the search. If it is not visible, returns the peer accessible and _getPrevPeer as the method to call to continue the search. Otherwise, returns the peer accessible and _getLastChild as the method to call to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getParentPrevItem(self, por)

source code 

Gets the previous item in the parent accessible of the current accessible in the given POR. Returns the previous item if it exists. Else, returns the parent accessible and _getParent as the method to call to continue the search if the parent exists. Returns a sentinel (None, None) if there is no parent indicating the given POR is the root of the subtree containing the starting POR.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getLastChild(self, por)

source code 

Gets the last child of the accessible in the given POR. If it does not exist, checks if the given POR is invisible or trivial. If so, returns the given POR and _getPrevPeer to continue the search. If not, returns a POR to the last item in the given POR as the result.

If the last child does exist, checks if it is visible. If so, returns the child and _getLastChild to continue the search. If not, returns the child and _getPrevPeer to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete

_getLastItem(self, por)

source code 

Gets the last visible item of the given POR. Returns the given POR if any errors occur.

Parameters:
Returns: POR
POR pointing to the last item of the accessible in the given POR

_getParent(self, por)

source code 

Gets the parent accessible of the one in the given POR. Returns the last item in the parent if it exists. If it does not exist, Returns a sentinel (None, None) indicating the given POR is the root of the subtree containing the starting POR. If the parent is invisible or trivial, returns the parent and _getPrevPeer as the method to call to continue the search.

Parameters:
Returns: 2-tuple of POR, callable
POR and the next method to call to continue the search, or POR and None to indicate the search is complete, or None and None to indicate we're at the root

getNextPOR(self)

source code 

Gets the next POR in the walk order. Calls _getNextItem, _getFirstChild, _getNextPeer, and _getParentNextItem to attempt to get the next valid POR. Each method determines whether the POR is valid as the next POR, and, if not, which call to make next. Each method potentially returns a POR and the next method to call to continue the search for the next POR.

Returns: POR or None
Next POR or None if this is the last POR
Overrides: Base.Walker.getNextPOR

getPrevPOR(self)

source code 

Gets the previous POR in the walk order. Calls _getPrevItem, _getPrevPeer, _getLastChild, and _getParentPrevItem to attempt to get the previous valid POR. Each method determines whether the POR is valid as the previous POR, and, if not, which call to make next. Each method potentially returns a POR and the next method to call to continue the search for the previous POR.

Returns: POR or None
Previous POR or None if this is the first POR
Overrides: Base.Walker.getPrevPOR

getFirstPOR(self)

source code 

Gets the first POR in the walk order. Searches up the accessible hierarchy until an accessible with no parent is encountered. The last visited child of that accessible is the first POR (i.e. the top-level window containing the starting POR).

Returns: POR
First POR
Overrides: Base.Walker.getFirstPOR

getLastPOR(self)

source code 

Gets the last POR in the walk order. Searches down the last child branch of the accessible hierarchy to the deepest accessible. The search then proceeds through previous PORs in the walk order until the first visible, non-trivial accessible is encountered. The last item of that accessible is the last POR.

Returns: POR
Last POR
Overrides: Base.Walker.getLastPOR

getParentPOR(self)

source code 

Gets the parent POR of the current POR. Searches up the accessible hierarchy to find the first non-trivial, visible containing element.

Returns: POR
Parent POR or None if at root
Overrides: Base.Walker.getParentPOR