tool
extends Resource
# Base class for Layout tree nodes

var parent = null


func emit_tree_changed() -> void:
	var node = self
	while node:
		node.emit_signal("changed")
		node = node.parent


# Returns a deep copy of the layout.
#
# Use this instead of `Resource.duplicate(true)` to ensure objects have the
# right script and parenting is correctly set for each node.
func clone():
	assert(false, "FIXME: implement on child")


# Returns whether there are any nodes
func empty() -> bool:
	return true


# Returns all tab names in this node
func get_names() -> PoolStringArray:
	return PoolStringArray()