|
@@ -1370,7 +1370,18 @@ void GraphEdit::_gui_input(const Ref<InputEvent> &p_ev) {
|
|
|
}
|
|
|
|
|
|
if (k->get_scancode() == KEY_DELETE && k->is_pressed()) {
|
|
|
- emit_signal("delete_nodes_request");
|
|
|
+ Array nodes;
|
|
|
+
|
|
|
+ for (int i = 0; i < get_child_count(); i++) {
|
|
|
+ GraphNode *gn = Object::cast_to<GraphNode>(get_child(i));
|
|
|
+ if (gn) {
|
|
|
+ if (gn->is_selected() && gn->is_close_button_visible()) {
|
|
|
+ nodes.push_back(gn->get_name());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ emit_signal("delete_nodes_request", nodes);
|
|
|
accept_event();
|
|
|
}
|
|
|
}
|
|
@@ -1746,7 +1757,7 @@ void GraphEdit::_bind_methods() {
|
|
|
ADD_SIGNAL(MethodInfo("node_unselected", PropertyInfo(Variant::OBJECT, "node", PROPERTY_HINT_RESOURCE_TYPE, "Node")));
|
|
|
ADD_SIGNAL(MethodInfo("connection_to_empty", PropertyInfo(Variant::STRING, "from"), PropertyInfo(Variant::INT, "from_slot"), PropertyInfo(Variant::VECTOR2, "release_position")));
|
|
|
ADD_SIGNAL(MethodInfo("connection_from_empty", PropertyInfo(Variant::STRING, "to"), PropertyInfo(Variant::INT, "to_slot"), PropertyInfo(Variant::VECTOR2, "release_position")));
|
|
|
- ADD_SIGNAL(MethodInfo("delete_nodes_request"));
|
|
|
+ ADD_SIGNAL(MethodInfo("delete_nodes_request", PropertyInfo(Variant::ARRAY, "nodes")));
|
|
|
ADD_SIGNAL(MethodInfo("_begin_node_move"));
|
|
|
ADD_SIGNAL(MethodInfo("_end_node_move"));
|
|
|
ADD_SIGNAL(MethodInfo("scroll_offset_changed", PropertyInfo(Variant::VECTOR2, "ofs")));
|