diff --git a/b_asic/GUI/main_window.py b/b_asic/GUI/main_window.py index ded267a4968807da8868f9ef14e72befa9513bb6..5f75ae098772aea632290600fa4d43c951bba857 100644 --- a/b_asic/GUI/main_window.py +++ b/b_asic/GUI/main_window.py @@ -202,6 +202,11 @@ class SFGMainWindow(QMainWindow): self._statusbar_visible.triggered.connect(self._toggle_statusbar) self._ui.view_menu.addAction(self._statusbar_visible) + self._ui.view_menu.addSeparator() + self._zoom_to_fit_action = QAction("Zoom to &fit") + self._zoom_to_fit_action.triggered.connect(self._zoom_to_fit) + self._ui.view_menu.addAction(self._zoom_to_fit_action) + # Non-modal dialogs self._keybindings_page = None self._about_page = None @@ -869,6 +874,12 @@ class SFGMainWindow(QMainWindow): operation._toggle_button(pressed=True) self.update_statusbar("Unselected all operations") + def _zoom_to_fit(self, event=None): + """Callback for zoom to fit SFGs in window.""" + self._graphics_view.fitInView( + self._scene.sceneRect(), Qt.AspectRatioMode.KeepAspectRatio + ) + def _simulate_sfg(self) -> None: """Callback for simulating SFGs in separate threads.""" self._thread = dict()