diff --git a/egui_node_graph/src/editor_ui.rs b/egui_node_graph/src/editor_ui.rs index 33edcc9..2d0d68e 100644 --- a/egui_node_graph/src/editor_ui.rs +++ b/egui_node_graph/src/editor_ui.rs @@ -16,6 +16,7 @@ pub type PortLocations = std::collections::HashMap; pub enum NodeResponse { ConnectEventStarted(NodeId, AnyParameterId), ConnectEventEnded(AnyParameterId), + CreatedNode(NodeId), SelectNode(NodeId), DeleteNode(NodeId), DisconnectEvent(InputId), @@ -126,7 +127,9 @@ where self.node_positions .insert(new_node, cursor_pos - self.pan_zoom.pan); self.node_order.push(new_node); + should_close_node_finder = true; + delayed_responses.push(NodeResponse::CreatedNode(new_node)); } }); } @@ -179,6 +182,9 @@ where self.graph.add_connection(output, input) } } + NodeResponse::CreatedNode(_) => { + //Convenience NodeResponse for users + } NodeResponse::SelectNode(node_id) => { self.selected_node = Some(node_id); }