extends VBoxContainer

var populated : bool = false

func _enter_tree():
	connect("visibility_changed", self, "on_visibility_changed")

func on_visibility_changed():
	if visible:
		populate()

func populate():
	if populated:
		return
		
	populated = true
	
	for key in Engine.get_donor_info():
		var l : Label = Label.new()
		l.text = key
		add_child(l)
		
		var il : ItemList = ItemList.new()
		il.size_flags_horizontal = Control.SIZE_EXPAND_FILL
		il.mouse_filter = MOUSE_FILTER_IGNORE
		il.auto_height = true
		
		for e in Engine.get_donor_info()[key]:
			il.add_item(e)
		
		add_child(il)