diff --git a/qt/applications/workbench/workbench/plotting/figuremanager.py b/qt/applications/workbench/workbench/plotting/figuremanager.py index 5cec5e823c46bfd4035daf6a9665785baac92cc1..21e58e85ea8947692a0da3c17021846c19b104d1 100644 --- a/qt/applications/workbench/workbench/plotting/figuremanager.py +++ b/qt/applications/workbench/workbench/plotting/figuremanager.py @@ -81,13 +81,17 @@ class FigureManagerWorkbench(FigureManagerBase, QObject): self._window_activated = QAppThreadCall(self._window_activated_orig) self._widgetclosed_orig = self._widgetclosed self._widgetclosed = QAppThreadCall(self._widgetclosed_orig) + self.set_window_title_orig = self.set_window_title + self.set_window_title = QAppThreadCall(self.set_window_title_orig) + self.fig_visibility_changed_orig = self.fig_visibility_changed + self.fig_visibility_changed = QAppThreadCall(self.fig_visibility_changed_orig) self.canvas = canvas self.window = MainWindow() self.window.activated.connect(self._window_activated) self.window.closing.connect(canvas.close_event) self.window.closing.connect(self._widgetclosed) - self.window.visibility_changed.connect(lambda plot_number=num: Gcf.figure_visibility_changed(plot_number)) + self.window.visibility_changed.connect(self.fig_visibility_changed) self.window.setWindowTitle("Figure %d" % num) self.canvas.figure.set_label("Figure %d" % num) @@ -232,6 +236,14 @@ class FigureManagerWorkbench(FigureManagerBase, QObject): # to allow getting a handle as plt.figure('Figure Name') self.canvas.figure.set_label(title) + def fig_visibility_changed(self): + """ + Make a notification in the global figure manager that + plot visibility was changed. This method is added to this + class so that it can be wrapped in a QAppThreadCall. + """ + Gcf.figure_visibility_changed(self.num) + # ------------------------ Interaction events -------------------- def on_button_press(self, event): if not event.dblclick: diff --git a/qt/applications/workbench/workbench/widgets/plotselector/view.py b/qt/applications/workbench/workbench/widgets/plotselector/view.py index d14d7bde83cbc65c1daab05bd809357802d15663..7be1b6ce87de748fc4a1d7213957470ea4817b3b 100644 --- a/qt/applications/workbench/workbench/widgets/plotselector/view.py +++ b/qt/applications/workbench/workbench/widgets/plotselector/view.py @@ -122,6 +122,8 @@ class PlotSelectorView(QWidget): self.set_visibility_icon = QAppThreadCall(self.set_visibility_icon_orig) self.set_last_active_values_orig = self.set_last_active_values self.set_last_active_values = QAppThreadCall(self.set_last_active_values_orig) + self.sort_type_orig = self.sort_type + self.sort_type = QAppThreadCall(self.sort_type_orig) # Connect presenter methods to things in the view self.show_button.clicked.connect(self.presenter.show_multiple_selected)