parent property
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);
}
}