diff --git a/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/data_presenter.py b/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/data_presenter.py index 98d1530eeff39328d47752cbc67c5fe26bf30f4b..0759e4dda5ef0de21ca9ed1ea85c62bd92b8a4d3 100644 --- a/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/data_presenter.py +++ b/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/data_presenter.py @@ -52,12 +52,10 @@ class FittingDataPresenter(object): if old_name in self.plotted: self.plotted.remove(old_name) self.plotted.add(new_name) - self.all_plots_removed_notifier.notify_subscribers() self._repopulate_table() def clear_workspaces(self): self.get_loaded_workspaces().clear() - self.all_plots_removed_notifier.notify_subscribers() self.plotted.clear() self.row_numbers.clear() self._repopulate_table() @@ -99,6 +97,7 @@ class FittingDataPresenter(object): """ self._remove_all_table_rows() self.row_numbers.clear() + self.all_plots_removed_notifier.notify_subscribers() workspaces = self.get_loaded_workspaces() for i, name in enumerate(workspaces): try: diff --git a/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/test/test_data_presenter.py b/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/test/test_data_presenter.py index 671dbf4dfae6137cc1ae2d97d58c81a2b79d3147..475a1c93380573d319ed89366883ab60fe2dcac0 100644 --- a/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/test/test_data_presenter.py +++ b/scripts/Engineering/gui/engineering_diffraction/tabs/fitting/data_handling/test/test_data_presenter.py @@ -74,6 +74,7 @@ class FittingDataPresenterTest(unittest.TestCase): self.model.get_loaded_workspaces.return_value = model_dict self.model.get_sample_log_from_ws.return_value = "bankOrRunNumber" self.presenter.plot_added_notifier = mock.MagicMock() + self.presenter.all_plots_removed_notifier = mock.MagicMock() self.presenter._on_worker_success("info") @@ -87,6 +88,7 @@ class FittingDataPresenterTest(unittest.TestCase): self.model.get_loaded_workspaces.return_value = model_dict self.model.get_sample_log_from_ws.side_effect = RuntimeError("No sample logs present") self.presenter.plot_added_notifier = mock.MagicMock() + self.presenter.all_plots_removed_notifier = mock.MagicMock() self.presenter._on_worker_success("info") @@ -101,6 +103,7 @@ class FittingDataPresenterTest(unittest.TestCase): self.model.get_loaded_workspaces.return_value = model_dict self.model.get_sample_log_from_ws.side_effect = RuntimeError("No sample logs present") self.presenter.plot_added_notifier = mock.MagicMock() + self.presenter.all_plots_removed_notifier = mock.MagicMock() self.presenter._on_worker_success("info") @@ -115,6 +118,7 @@ class FittingDataPresenterTest(unittest.TestCase): self.model.get_loaded_workspaces.return_value = model_dict self.presenter.row_numbers = {"name1": 0, "name2": 1} self.presenter.plot_removed_notifier = mock.MagicMock() + self.presenter.all_plots_removed_notifier = mock.MagicMock() self.presenter.remove_workspace("name1") @@ -171,6 +175,7 @@ class FittingDataPresenterTest(unittest.TestCase): model_dict = {"name1": "ws1", "name2": "ws2"} self.model.get_loaded_workspaces.return_value = model_dict self.presenter.row_numbers = {"name1": 0, "name2": 1} + self.presenter.all_plots_removed_notifier = mock.MagicMock() self.presenter.replace_workspace("name1", "newWs") @@ -198,6 +203,7 @@ class FittingDataPresenterTest(unittest.TestCase): self.view.remove_selected.return_value = [0, 2] self.presenter.plot_removed_notifier = mock.MagicMock() self.presenter.plot_added_notifier = mock.MagicMock() + self.presenter.all_plots_removed_notifier = mock.MagicMock() self.presenter._remove_selected_tracked_workspaces()