tool extends Control # has to be set by the parent before adding it to the tree var editor_reference var event_data = {} signal data_changed # emit this to set the enabling of the body signal request_set_body_enabled(enabled) # emit these if you want the body to be closed/opened signal request_open_body signal request_close_body # emit these if you want the event to be selected signal request_selection # emit this if you want a warning to be displayed/hidden signal set_warning(text) signal remove_warning() # when the node is ready func _ready(): pass # to be overwritten by the subclasses func load_data(data:Dictionary): event_data = data # to be overwritten by body-parts that provide a preview func get_preview_text(): return '' # to be overwritten by the body-parts if some kind of focus (on event creation) is wanted func focus(): pass # has to be called everytime the data got changed func data_changed(): emit_signal("data_changed", event_data)