From 920e53cacb105122d8c727618d0a8bd78b755049 Mon Sep 17 00:00:00 2001 From: Haoyu Qiu Date: Tue, 17 Oct 2023 23:04:19 +0800 Subject: [PATCH] Readd close button for nodes in AnimationNodeBlendTree editor --- editor/editor_themes.cpp | 7 ++++--- editor/plugins/animation_blend_tree_editor_plugin.cpp | 10 +++++++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp index bf0c5392c1a5..2a42224c8767 100644 --- a/editor/editor_themes.cpp +++ b/editor/editor_themes.cpp @@ -2046,12 +2046,13 @@ Ref create_editor_theme(const Ref p_theme) { graphn_sb_panel_selected->set_corner_radius_individual(0, 0, corner_radius * EDSCALE, corner_radius * EDSCALE); graphn_sb_panel_selected->set_expand_margin(SIDE_TOP, 17 * EDSCALE); - const int gn_titlebar_margin_side = 12; - Ref graphn_sb_titlebar = make_flat_stylebox(graphnode_bg, gn_titlebar_margin_side, gn_margin_top, gn_titlebar_margin_side, 0, corner_width); + const int gn_titlebar_margin_left = 12; + const int gn_titlebar_margin_right = 4; // The rest is for the close button. + Ref graphn_sb_titlebar = make_flat_stylebox(graphnode_bg, gn_titlebar_margin_left, gn_margin_top, gn_titlebar_margin_right, 0, corner_width); graphn_sb_titlebar->set_expand_margin(SIDE_TOP, 2 * EDSCALE); graphn_sb_titlebar->set_corner_radius_individual(corner_radius * EDSCALE, corner_radius * EDSCALE, 0, 0); - Ref graphn_sb_titlebar_selected = make_flat_stylebox(graph_node_selected_border_color, gn_titlebar_margin_side, gn_margin_top, gn_titlebar_margin_side, 0, corner_width); + Ref graphn_sb_titlebar_selected = make_flat_stylebox(graph_node_selected_border_color, gn_titlebar_margin_left, gn_margin_top, gn_titlebar_margin_right, 0, corner_width); graphn_sb_titlebar_selected->set_corner_radius_individual(corner_radius * EDSCALE, corner_radius * EDSCALE, 0, 0); graphn_sb_titlebar_selected->set_expand_margin(SIDE_TOP, 2 * EDSCALE); Ref graphn_sb_slot = make_empty_stylebox(12, 0, 12, 0); diff --git a/editor/plugins/animation_blend_tree_editor_plugin.cpp b/editor/plugins/animation_blend_tree_editor_plugin.cpp index 772957bc5530..4a17fd89ff9b 100644 --- a/editor/plugins/animation_blend_tree_editor_plugin.cpp +++ b/editor/plugins/animation_blend_tree_editor_plugin.cpp @@ -170,7 +170,15 @@ void AnimationNodeBlendTreeEditor::update_graph() { name->connect("text_changed", callable_mp(this, &AnimationNodeBlendTreeEditor::_node_rename_lineedit_changed), CONNECT_DEFERRED); base = 1; agnode->set_closable(true); - node->connect("delete_request", callable_mp(this, &AnimationNodeBlendTreeEditor::_delete_node_request).bind(E), CONNECT_DEFERRED); + + if (!read_only) { + Button *delete_button = memnew(Button); + delete_button->set_flat(true); + delete_button->set_focus_mode(FOCUS_NONE); + delete_button->set_icon(get_editor_theme_icon(SNAME("Close"))); + delete_button->connect("pressed", callable_mp(this, &AnimationNodeBlendTreeEditor::_delete_node_request).bind(E), CONNECT_DEFERRED); + node->get_titlebar_hbox()->add_child(delete_button); + } } for (int i = 0; i < agnode->get_input_count(); i++) {