1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-06 12:20:30 +00:00

Reworked signal connection system, added support for Callable and Signal objects and made them default.

This commit is contained in:
Juan Linietsky
2020-02-19 16:27:19 -03:00
committed by Juan Linietsky
parent 1a4be2cd8f
commit 69c95f4b4c
275 changed files with 3831 additions and 2948 deletions

View File

@@ -99,13 +99,13 @@ void AnimationPlayerEditor::_notification(int p_what) {
} break;
case NOTIFICATION_ENTER_TREE: {
tool_anim->get_popup()->connect("id_pressed", this, "_animation_tool_menu");
tool_anim->get_popup()->connect_compat("id_pressed", this, "_animation_tool_menu");
onion_skinning->get_popup()->connect("id_pressed", this, "_onion_skinning_menu");
onion_skinning->get_popup()->connect_compat("id_pressed", this, "_onion_skinning_menu");
blend_editor.next->connect("item_selected", this, "_blend_editor_next_changed");
blend_editor.next->connect_compat("item_selected", this, "_blend_editor_next_changed");
get_tree()->connect("node_removed", this, "_node_removed");
get_tree()->connect_compat("node_removed", this, "_node_removed");
add_style_override("panel", editor->get_gui_base()->get_stylebox("panel", "Panel"));
} break;
@@ -1504,16 +1504,16 @@ void AnimationPlayerEditor::_prepare_onion_layers_2() {
void AnimationPlayerEditor::_start_onion_skinning() {
// FIXME: Using "idle_frame" makes onion layers update one frame behind the current.
if (!get_tree()->is_connected("idle_frame", this, "call_deferred")) {
get_tree()->connect("idle_frame", this, "call_deferred", varray("_prepare_onion_layers_1"));
if (!get_tree()->is_connected_compat("idle_frame", this, "call_deferred")) {
get_tree()->connect_compat("idle_frame", this, "call_deferred", varray("_prepare_onion_layers_1"));
}
}
void AnimationPlayerEditor::_stop_onion_skinning() {
if (get_tree()->is_connected("idle_frame", this, "call_deferred")) {
if (get_tree()->is_connected_compat("idle_frame", this, "call_deferred")) {
get_tree()->disconnect("idle_frame", this, "call_deferred");
get_tree()->disconnect_compat("idle_frame", this, "call_deferred");
_free_onion_layers();
@@ -1630,11 +1630,11 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
accept = memnew(AcceptDialog);
add_child(accept);
accept->connect("confirmed", this, "_menu_confirm_current");
accept->connect_compat("confirmed", this, "_menu_confirm_current");
delete_dialog = memnew(ConfirmationDialog);
add_child(delete_dialog);
delete_dialog->connect("confirmed", this, "_animation_remove_confirmed");
delete_dialog->connect_compat("confirmed", this, "_animation_remove_confirmed");
tool_anim = memnew(MenuButton);
tool_anim->set_flat(false);
@@ -1679,7 +1679,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
onion_toggle = memnew(ToolButton);
onion_toggle->set_toggle_mode(true);
onion_toggle->set_tooltip(TTR("Enable Onion Skinning"));
onion_toggle->connect("pressed", this, "_onion_skinning_menu", varray(ONION_SKINNING_ENABLE));
onion_toggle->connect_compat("pressed", this, "_onion_skinning_menu", varray(ONION_SKINNING_ENABLE));
hb->add_child(onion_toggle);
onion_skinning = memnew(MenuButton);
@@ -1705,7 +1705,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
pin->set_toggle_mode(true);
pin->set_tooltip(TTR("Pin AnimationPlayer"));
hb->add_child(pin);
pin->connect("pressed", this, "_pin_pressed");
pin->connect_compat("pressed", this, "_pin_pressed");
file = memnew(EditorFileDialog);
add_child(file);
@@ -1729,7 +1729,7 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
error_dialog->set_title(TTR("Error!"));
add_child(error_dialog);
name_dialog->connect("confirmed", this, "_animation_name_edited");
name_dialog->connect_compat("confirmed", this, "_animation_name_edited");
blend_editor.dialog = memnew(AcceptDialog);
add_child(blend_editor.dialog);
@@ -1745,21 +1745,21 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
blend_editor.dialog->set_title(TTR("Cross-Animation Blend Times"));
updating_blends = false;
blend_editor.tree->connect("item_edited", this, "_blend_edited");
blend_editor.tree->connect_compat("item_edited", this, "_blend_edited");
autoplay->connect("pressed", this, "_autoplay_pressed");
autoplay->connect_compat("pressed", this, "_autoplay_pressed");
autoplay->set_toggle_mode(true);
play->connect("pressed", this, "_play_pressed");
play_from->connect("pressed", this, "_play_from_pressed");
play_bw->connect("pressed", this, "_play_bw_pressed");
play_bw_from->connect("pressed", this, "_play_bw_from_pressed");
stop->connect("pressed", this, "_stop_pressed");
play->connect_compat("pressed", this, "_play_pressed");
play_from->connect_compat("pressed", this, "_play_from_pressed");
play_bw->connect_compat("pressed", this, "_play_bw_pressed");
play_bw_from->connect_compat("pressed", this, "_play_bw_from_pressed");
stop->connect_compat("pressed", this, "_stop_pressed");
animation->connect("item_selected", this, "_animation_selected", Vector<Variant>(), true);
animation->connect_compat("item_selected", this, "_animation_selected", Vector<Variant>(), true);
file->connect("file_selected", this, "_dialog_action");
frame->connect("value_changed", this, "_seek_value_changed", Vector<Variant>(), true);
scale->connect("text_entered", this, "_scale_changed", Vector<Variant>(), true);
file->connect_compat("file_selected", this, "_dialog_action");
frame->connect_compat("value_changed", this, "_seek_value_changed", Vector<Variant>(), true);
scale->connect_compat("text_entered", this, "_scale_changed", Vector<Variant>(), true);
renaming = false;
last_active = false;
@@ -1769,14 +1769,14 @@ AnimationPlayerEditor::AnimationPlayerEditor(EditorNode *p_editor, AnimationPlay
add_child(track_editor);
track_editor->set_v_size_flags(SIZE_EXPAND_FILL);
track_editor->connect("timeline_changed", this, "_animation_key_editor_seek");
track_editor->connect("animation_len_changed", this, "_animation_key_editor_anim_len_changed");
track_editor->connect_compat("timeline_changed", this, "_animation_key_editor_seek");
track_editor->connect_compat("animation_len_changed", this, "_animation_key_editor_anim_len_changed");
_update_player();
// Onion skinning.
track_editor->connect("visibility_changed", this, "_editor_visibility_changed");
track_editor->connect_compat("visibility_changed", this, "_editor_visibility_changed");
onion.enabled = false;
onion.past = true;