From 312e261e101af2c8051f32c7ff556ec1871b6483 Mon Sep 17 00:00:00 2001
From: Oscar Gustafsson <oscar.gustafsson@gmail.com>
Date: Sun, 23 Apr 2023 13:04:57 +0200
Subject: [PATCH] Better SFG editing (return SFG dict)

---
 b_asic/GUI/main_window.py   | 5 +++--
 b_asic/signal_flow_graph.py | 4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/b_asic/GUI/main_window.py b/b_asic/GUI/main_window.py
index 7ce2ebf3..a9aac100 100644
--- a/b_asic/GUI/main_window.py
+++ b/b_asic/GUI/main_window.py
@@ -803,13 +803,14 @@ class SFGMainWindow(QMainWindow):
         self._keybindings_page.show()
 
 
-def start_editor(sfg: Optional[SFG] = None):
+def start_editor(sfg: Optional[SFG] = None) -> Dict[str, SFG]:
     app = QApplication(sys.argv)
     window = SFGMainWindow()
     if sfg:
         window._load_sfg(sfg)
     window.show()
-    sys.exit(app.exec_())
+    app.exec_()
+    return window._sfg_dict
 
 
 if __name__ == "__main__":
diff --git a/b_asic/signal_flow_graph.py b/b_asic/signal_flow_graph.py
index 78ca679b..82aeb9c8 100644
--- a/b_asic/signal_flow_graph.py
+++ b/b_asic/signal_flow_graph.py
@@ -1468,11 +1468,11 @@ class SFG(AbstractOperation):
         """
         raise NotImplementedError()
 
-    def edit(self) -> None:
+    def edit(self) -> Dict[str, "SFG"]:
         """Edit SFG in GUI."""
         from b_asic.GUI.main_window import start_editor
 
-        start_editor(self)
+        return start_editor(self)
 
     def unfold(self, factor: int) -> "SFG":
         """
-- 
GitLab