From 65c5277a794838c3f63a0df6b73d39b8751618f9 Mon Sep 17 00:00:00 2001 From: Georg Brandl Date: Tue, 21 Feb 2023 17:20:28 +0100 Subject: [PATCH] gui: make plot windows children of the node, so they close automatically Change-Id: I025bff02bc566be8bbaa8d90bf0035d1e2bf2a69 Reviewed-on: https://forge.frm2.tum.de/review/c/secop/frappy/+/30494 Tested-by: Jenkins Automated Tests Reviewed-by: Georg Brandl --- frappy/gui/nodewidget.py | 2 +- frappy/gui/plotting.py | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/frappy/gui/nodewidget.py b/frappy/gui/nodewidget.py index e33f890..f6875e1 100644 --- a/frappy/gui/nodewidget.py +++ b/frappy/gui/nodewidget.py @@ -273,7 +273,7 @@ class NodeWidget(QWidget): plot.addCurve(self._node, module, param) plot.setCurveColor(module, param, Colors.colors[len(plot.curves) % 6]) else: - plot = getPlotWidget() + plot = getPlotWidget(self) plot.addCurve(self._node, module, param) plot.setCurveColor(module, param, Colors.colors[1]) self._activePlots[(module, param)] = plot diff --git a/frappy/gui/plotting.py b/frappy/gui/plotting.py index 11f0525..ffeeb69 100644 --- a/frappy/gui/plotting.py +++ b/frappy/gui/plotting.py @@ -9,14 +9,20 @@ except ImportError: from frappy.gui.util import Colors from frappy.gui.qt import QWidget, QVBoxLayout, QLabel, Qt, pyqtSignal -def getPlotWidget(): + + +def getPlotWidget(parent): if pg: pg.setConfigOption('background', Colors.colors['plot-bg']) pg.setConfigOption('foreground', Colors.colors['plot-fg']) if pg is None: - return PlotPlaceHolderWidget() - return PlotWidget() + window = PlotPlaceHolderWidget(parent) + else: + window = PlotWidget(parent) + window.setWindowFlags(Qt.WindowType.Window) + return window + class PlotPlaceHolderWidget(QWidget): closed = pyqtSignal(object)