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.