@@ -91,6 +91,7 @@ def __init__(self, parent=None, node_graph=None):
9191 # wire up node graph.
9292 node_graph .add_properties_bin (self )
9393 node_graph .node_double_clicked .connect (self .add_node )
94+ node_graph .nodes_deleted .connect (self .__on_nodes_deleted )
9495 node_graph .property_changed .connect (self .__on_graph_property_changed )
9596
9697 def __repr__ (self ):
@@ -105,6 +106,15 @@ def __on_limit_changed(self, value):
105106 if rows > value :
106107 self ._prop_list .removeRow (rows - 1 )
107108
109+ def __on_nodes_deleted (self , nodes ):
110+ """
111+ Slot function when a node has been deleted.
112+
113+ Args:
114+ nodes (list[str]): list of node ids.
115+ """
116+ [self .__on_prop_close (n ) for n in nodes ]
117+
108118 def __on_graph_property_changed (self , node , prop_name , prop_value ):
109119 """
110120 Slot function that updates the property bin from the node graph signal.
@@ -187,9 +197,10 @@ def remove_node(self, node):
187197 Remove node from the properties bin.
188198
189199 Args:
190- node (NodeGraphQt.BaseNode): node object.
200+ node (str or NodeGraphQt.BaseNode): node id or node object.
191201 """
192- self .__on_prop_close (node .id )
202+ node_id = node if isinstance (node , str ) else node .id
203+ self .__on_prop_close (node_id )
193204
194205 def clear_bin (self ):
195206 """
@@ -202,12 +213,13 @@ def prop_widget(self, node):
202213 Returns the node property widget.
203214
204215 Args:
205- node (NodeGraphQt.NodeObject): node object.
216+ node (str or NodeGraphQt.NodeObject): node id or node object.
206217
207218 Returns:
208219 NodePropWidget: node property widget.
209220 """
210- itm_find = self ._prop_list .findItems (node .id , QtCore .Qt .MatchExactly )
221+ node_id = node if isinstance (node , str ) else node .id
222+ itm_find = self ._prop_list .findItems (node_id , QtCore .Qt .MatchExactly )
211223 if itm_find :
212224 item = itm_find [0 ]
213225 return self ._prop_list .cellWidget (item .row (), 0 )
0 commit comments