summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaoyu Qiu <timothyqiu32@gmail.com>2023-10-17 23:04:19 +0800
committerHaoyu Qiu <timothyqiu32@gmail.com>2023-10-23 11:11:51 +0800
commit920e53cacb105122d8c727618d0a8bd78b755049 (patch)
tree86f175c9d77e4da311deb4917298c0303d0b0538
parent8c25a98fdf68dc388eddaefa188f3386236cdfe4 (diff)
downloadredot-engine-920e53cacb105122d8c727618d0a8bd78b755049.tar.gz
Readd close button for nodes in AnimationNodeBlendTree editor
-rw-r--r--editor/editor_themes.cpp7
-rw-r--r--editor/plugins/animation_blend_tree_editor_plugin.cpp10
2 files changed, 13 insertions, 4 deletions
diff --git a/editor/editor_themes.cpp b/editor/editor_themes.cpp
index bf0c5392c1..2a42224c87 100644
--- a/editor/editor_themes.cpp
+++ b/editor/editor_themes.cpp
@@ -2046,12 +2046,13 @@ Ref<Theme> create_editor_theme(const Ref<Theme> 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<StyleBoxFlat> 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<StyleBoxFlat> 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<StyleBoxFlat> 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<StyleBoxFlat> 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<StyleBoxEmpty> 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 772957bc55..4a17fd89ff 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++) {