diff --git a/examples/nested_graphs.py b/examples/nested_graphs.py index 54f8d85..0cb5de9 100644 --- a/examples/nested_graphs.py +++ b/examples/nested_graphs.py @@ -38,12 +38,13 @@ def MyNode(file): # o file<> | +--->o file<> | +--->o file<> | # | file o-----+ | file o-----+ | file o # +----------------+ +----------------------------+ +----------------+ - udpate_db_from_file = Graph(name="udpate_db_from_file") - find_file = MyNode(name="Find File", graph=udpate_db_from_file) + update_db_from_file = Graph(name="update_db_from_file") + find_file = MyNode(name="Find File", graph=update_db_from_file) + values_from_file = MyNode( - name="Read Values from File", graph=udpate_db_from_file + name="Read Values from File", graph=update_db_from_file ) - update_db = MyNode(name="Update DB", graph=udpate_db_from_file) + update_db = MyNode(name="Update DB", graph=update_db_from_file) find_file.outputs["file"].connect(values_from_file.inputs["file"]) values_from_file.outputs["file"].connect(update_db.inputs["file"]) @@ -61,7 +62,7 @@ def MyNode(file): # Now the update_db graph can connect nodes to the fix_file graph find_file.outputs["file"].connect(fix_file.inputs["file_to_clean"]) fix_file.outputs["clean_file"].connect( - udpate_db_from_file["Read Values from File"].inputs["file"] + update_db_from_file["Read Values from File"].inputs["file"] ) # Display the graph @@ -73,7 +74,7 @@ def MyNode(file): ) window = QtWidgets.QWidget() - window.setWindowTitle("Flowpipe-Editor Nestd Graphs Example") + window.setWindowTitle("Flowpipe-Editor Nested Graphs Example") window.resize(1100, 800) flowpipe_editor_widget = FlowpipeEditorWidget(parent=window) diff --git a/flowpipe_editor/flowpipe_editor_widget.py b/flowpipe_editor/flowpipe_editor_widget.py index 082b8ae..ce90375 100644 --- a/flowpipe_editor/flowpipe_editor_widget.py +++ b/flowpipe_editor/flowpipe_editor_widget.py @@ -166,11 +166,13 @@ def load_graph(self, graph: Graph): self.clear() self.flowpipe_graph = graph x_pos = 0 + nodes_dict = {} for row in graph.evaluation_matrix: y_pos = 0 x_diff = 250 for fp_node in row: - self._add_node(fp_node, QtCore.QPoint(int(x_pos), int(y_pos))) + qt_node =self._add_node(fp_node, QtCore.QPoint(int(x_pos), int(y_pos))) + nodes_dict[fp_node.identifier] = qt_node y_pos += 150 x_pos += x_diff for fp_node in graph.all_nodes: @@ -179,11 +181,9 @@ def load_graph(self, graph: Graph): in_index = list( connection.node.all_inputs().values() ).index(connection) - self.graph.get_node_by_name(fp_node.name).set_output( + nodes_dict[fp_node.identifier].set_output( i, - self.graph.get_node_by_name( - connection.node.name - ).input(in_index), + nodes_dict[connection.node.identifier].input(in_index), ) nodes = self.graph.all_nodes() diff --git a/flowpipe_editor/widgets/properties_bin/attribute_widgets.py b/flowpipe_editor/widgets/properties_bin/attribute_widgets.py index 50d98b4..691f3c0 100644 --- a/flowpipe_editor/widgets/properties_bin/attribute_widgets.py +++ b/flowpipe_editor/widgets/properties_bin/attribute_widgets.py @@ -17,7 +17,8 @@ def __init__(self, label: str, parent: QtWidgets.QWidget = None): super().__init__(parent) self.label = label - def mouseDoubleClickEvent(self, event: QtGui.QMouseEvent): + def mouseDoubleClickEvent(self, event: QtGui.QMouseEvent): # pylint: disable=invalid-name + """Open a popup dialog to edit the line edit contents on double-click.""" # Open popup dialog on double-click dialog = PopupDialog(self.label, self.text(), self) dialog.exec_()