parent property

Node? get parent

Get this node's parent.

Implementation

Node? get parent => _parent;
set parent (Node? newParent)

Update this node's parent. Syncs state of both parent and child.

Implementation

set parent(Node? newParent) {
	var oldParent = _parent;
	_parent = newParent;
	// if we had a parent before and it still contains this node...
	if (oldParent != null && oldParent.children.contains(this)) {
		// remove it
		oldParent.removeChild(this);
	}
	// make sure newParent contains this node
	if (!newParent!.children.contains(this)) {
		newParent.appendChild(this);
	}
}