@@ -25,28 +25,29 @@ class NodeGraph(QtCore.QObject):
2525 base node graph controller.
2626 """
2727
28- #: signal emits the node object when a node is created in the node graph.
28+ #: ( signal) emits the node object when a node is created in the node graph.
2929 node_created = QtCore .Signal (NodeObject )
30- #: signal emits a list of node ids from the deleted nodes.
30+ #: ( signal) emits a list of node ids from the deleted nodes.
3131 nodes_deleted = QtCore .Signal (list )
32- #: signal emits the node object when selected in the node graph.
32+ #: ( signal) emits the node object when selected in the node graph.
3333 node_selected = QtCore .Signal (NodeObject )
34- #: signal triggered when a node is double clicked and emits the node.
34+ #: ( signal) triggered when a node is double clicked and emits the node.
3535 node_double_clicked = QtCore .Signal (NodeObject )
36- #: signal for when a node has been connected emits (source port, target port).
36+ #: ( signal) for when a node has been connected emits (source port, target port).
3737 port_connected = QtCore .Signal (Port , Port )
38- #: signal for when a node has been disconnected emits (source port, target port).
38+ #: ( signal) for when a node has been disconnected emits (source port, target port).
3939 port_disconnected = QtCore .Signal (Port , Port )
40- #: signal for when a node property has changed emits (node, property name, property value).
40+ #: ( signal) for when a node property has changed emits (node, property name, property value).
4141 property_changed = QtCore .Signal (NodeObject , str , object )
42- #: signal for when drop data has been added to the graph.
42+ #: ( signal) for when drop data has been added to the graph.
4343 data_dropped = QtCore .Signal (QtCore .QMimeData , QtCore .QPoint )
4444
4545 def __init__ (self , parent = None ):
4646 super (NodeGraph , self ).__init__ (parent )
4747 self .setObjectName ('NodeGraphQt' )
48+ self ._widget = None
4849 self ._model = NodeGraphModel ()
49- self ._viewer = NodeViewer (parent )
50+ self ._viewer = NodeViewer ()
5051 self ._node_factory = NodeFactory ()
5152 self ._undo_stack = QtWidgets .QUndoStack (self )
5253
@@ -223,23 +224,42 @@ def model(self):
223224 """
224225 return self ._model
225226
227+ @property
228+ def widget (self ):
229+ """
230+ Return the node graph widget.
231+
232+ Returns:
233+ QtWidgets.QWidget: node graph widget.
234+ """
235+ if self ._widget is None :
236+ self ._widget = QtWidgets .QWidget ()
237+ layout = QtWidgets .QVBoxLayout (self ._widget )
238+ layout .setContentsMargins (0 , 0 , 0 , 0 )
239+ layout .addWidget (self ._viewer )
240+ return self ._widget
241+
226242 def show (self ):
227243 """
228- Show node graph viewer widget this is just a convenience
229- function to :meth:`NodeGraph.viewer() .show()`.
244+ Show node graph widget this is just a convenience
245+ function to :meth:`NodeGraph.widget .show()`.
230246 """
231- self ._viewer .show ()
247+ self ._widget .show ()
232248
233249 def close (self ):
234250 """
235251 Close node graph NodeViewer widget this is just a convenience
236- function to :meth:`NodeGraph.viewer() .close()`.
252+ function to :meth:`NodeGraph.widget .close()`.
237253 """
238- self ._viewer .close ()
254+ self ._widget .close ()
239255
240256 def viewer (self ):
241257 """
242- Return the node graph viewer widget.
258+ Returns the view interface used by the node graph.
259+
260+ Note:
261+ All functions in the `NodeViewer` should only be used internally
262+ by the `NodeGraph` class.
243263
244264 Returns:
245265 NodeGraphQt.widgets.viewer.NodeViewer: viewer widget.
0 commit comments