Node

The abstract base class of all SceneGraph nodes and the equivalent of the BrightScript roSGNode component. See roSGNode for supported interfaces.

Node class objects do not draw anything and are skipped in the render traversal of the SceneGraph node tree. The Node class provides the core parenting and key focus management functionality used by all nodes.

Fields

FieldTypeDefaultAccess PermissionDescription
idstring""READ_WRITEAdds a dictionary entry that allows the node to be retrieved with [ifSGNodeDict](doc:ifsgnodedict) findNode() function.
focusedChildN/AN/AREAD_WRITEWhen a node or one of its children gains or loses the keyboard focus, the focusedChild field will be set and call its observer functions. In the observer function, typically, you use [ifSGNodeFocus](doc:ifsgnodefocus) functions to query whether this node or some other node has the key focus or is in the key focus chain. Accessing the value of the field will result in script errors.
focusableBooleanfalseREAD_WRITEProvides a hint as to whether or not this node can take the key focus.
changeassociative array{ Index1: 0, Index2: 0, Operation: none }READ_ONLYOperations affecting the set of children of a Node are recorded in this field if, and only if, this field has been observed. The field associative array indicates the operation and two indexes, index1 and index 2, involved in the change. The operation is denoted by these value strings:
ValueMeaning
noneNo operation on the children nodes since the change field was observed, indexes are irrelevant
insertA child node was inserted at *index1*. If multiple child nodes were inserted (for example, via the [insertChildren() function](doc:ifsgnodechildren)), the last inserted child node is stored at *index2*.
addA child node was added to the end of the children node tree (at *index 1*). If multiple child nodes were added (for example, via the [appendChildren() function](doc:ifsgnodechildren)), the last added child node is stored at *index2*.
removeA child node was removed from position *index1*, and if *index2*>*index1*, all the children nodes between *index1* and *index2* inclusive were removed
setThe child node at position *index1* was replaced with a new child node
clearAll the children nodes were removed
moveThe child node at position *index1* was moved to the new position *index2*
setallAll the children nodes were replaced
modifyA pre-defined content meta-data field of a **ContentNode** node child at *index1* was changed (*only* set for **ContentNode** node children when a pre-defined content meta-data field changes)