Class: STreeAccessor

Environment: Siren
Superclass: Siren.StructureAccessor
Category: MusicUI-Layout
Instance variables: terminalQuery childAccessor

Instances of STreeAccessor tree-navigation interfaces to diverse data structures.
The basic display tree walking protocol is:
(aSTreeAccessor childrenOf: aModelNode); and
(aSTreeAccessor isTerminal: aModelNode).

InstanceVariableNames:
terminalQuery the isLeaf or hasChildrenNot query
childAccessor accessor to get a node's children
Model items are passed to these (if they're Blocks),
or have to perform: them (if they're Symbols).

accessing

childAccessor: anObject
Set the cA of the receiver.

terminalQuery: anObject
Set the tQ of the receiver.

treeAccessor
Answer the receiver.

tree accessing

childrenOf: aNode
Answer the children of the argument by using the child accessor.

isTerminal: aNode
Answer whether the argument is terminal by using the terminal query.

leavesOf: aRoot
Answer the leaves of the argument by using the child accessor.

MetaClass: STreeAccessor class

instance creation

subject: aS terminalQuery: aTQ childAccessor: aCA itemGenerator: anIG
Answer an initialized instance.