def test_window_force_deleted_correctly(self): ws = CreateEmptyTableWorkspace() p = TableWorkspaceDisplay(ws) self.assert_widget_created() p.force_close() QApplication.processEvents() self.assertEqual(None, p.ads_observer) self.assert_widget_not_present("work") self.assert_no_toplevel_widgets()
def decode(obj_dic, _=None): import matplotlib.pyplot as plt pres = TableWorkspaceDisplay(ADS.retrieve(obj_dic["workspace"]), name=obj_dic["windowName"], plot=plt) pres.model.marked_columns.as_x = obj_dic["markedColumns"]["as_x"] pres.model.marked_columns.as_y = obj_dic["markedColumns"]["as_y"] error_columns = [] for y_err in obj_dic["markedColumns"]["as_y_err"]: error_columns.append(ErrorColumn(column=y_err["column"], label_index=y_err["labelIndex"], related_y_column=y_err["relatedY"])) pres.model.marked_columns.as_y_err = error_columns pres.update_column_headers() return pres.container
def wrapper(self, *args): ws = MockWorkspace() view = Mock(spec=TableWorkspaceDisplayView) container = Mock(spec=StatusBarView) container.status_bar = Mock(spec=QStatusBar) if add_selection_model: mock_selection_model = MockQSelectionModel(has_selection=True) mock_selection_model.selectedRows = Mock( return_value=[MockQModelIndex(1, 1), MockQModelIndex(2, 2), MockQModelIndex(3, 3)]) mock_selection_model.selectedColumns = Mock( return_value=[MockQModelIndex(1, 1), MockQModelIndex(2, 2), MockQModelIndex(3, 3)]) view.mock_selection_model = mock_selection_model view.selectionModel.return_value = mock_selection_model twd = TableWorkspaceDisplay(ws, view=view, container=container) if add_plot: twd.plot = MockPlotLib() return func(self, ws, view, twd, *args)
def _do_show_data(self, names): for ws in self._ads.retrieveWorkspaces(names, unrollGroups=True): try: MatrixWorkspaceDisplay.supports(ws) # the plot function is being injected in the presenter # this is done so that the plotting library is mockable in testing presenter = MatrixWorkspaceDisplay(ws, plot=plot, parent=self) presenter.show_view() except ValueError: try: TableWorkspaceDisplay.supports(ws) presenter = TableWorkspaceDisplay(ws, plot=matplotlib.pyplot, parent=self) presenter.show_view() except ValueError: logger.error( "Could not open workspace: {0} with neither " "MatrixWorkspaceDisplay nor TableWorkspaceDisplay." "".format(ws.name()))
def wrapper(self, *args): ws = MockWorkspace() ws.setPlotType = Mock() view = Mock(spec=TableWorkspaceDisplayView) container = Mock(spec=StatusBarView) container.status_bar = Mock(spec=QStatusBar) if add_selection_model: mock_selection_model = MockQSelectionModel(has_selection=True) mock_selection_model.selectedRows = Mock(return_value=[ MockQModelIndex(1, 1), MockQModelIndex(2, 2), MockQModelIndex(3, 3) ]) mock_selection_model.selectedColumns = Mock(return_value=[ MockQModelIndex(1, 1), MockQModelIndex(2, 2), MockQModelIndex(3, 3) ]) view.mock_selection_model = mock_selection_model view.selectionModel.return_value = mock_selection_model twd = TableWorkspaceDisplay(ws, view=view, container=container) if add_plot: twd.plot = MockPlotLib() return func(self, ws, view, twd, *args)
def decode(obj_dic, _=None): import matplotlib.pyplot as plt pres = TableWorkspaceDisplay(ADS.retrieve(obj_dic["workspace"]), name=obj_dic["windowName"], plot=plt) pres.model.marked_columns.as_x = obj_dic["markedColumns"]["as_x"] pres.model.marked_columns.as_y = obj_dic["markedColumns"]["as_y"] error_columns = [] for y_err in obj_dic["markedColumns"]["as_y_err"]: error_columns.append( ErrorColumn(column=y_err["column"], related_y_column=y_err["relatedY"])) pres.model.marked_columns.as_y_err = error_columns pres.presenter.update_column_headers() return pres.container
def test_supports(self): ws = MockWorkspace() # the test will fail if the support check fails - an exception is raised TableWorkspaceDisplay.supports(ws)
def show_table_workspace_display(self, workspace: ITableWorkspace, display_name: str) -> None: """Shows a table workspace in a separate table display window.""" table_display = TableWorkspaceDisplay(workspace, parent=self, name=display_name) table_display.show_view()
# Mantid Repository : https://github.com/mantidproject/mantid # # Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI, # NScD Oak Ridge National Laboratory, European Spallation Source # & Institut Laue - Langevin # SPDX - License - Identifier: GPL - 3.0 + # This file is part of the mantid workbench. # # # To Run - target this package with PyCharm, and __main__ will be executed import matplotlib matplotlib.use('Qt5Agg') from qtpy.QtWidgets import QApplication # noqa: F402 from mantid.simpleapi import Load # noqa: F402 from mantidqt.widgets.workspacedisplay.table.presenter import TableWorkspaceDisplay # noqa: F402 import matplotlib.pyplot as plt # noqa: F402 app = QApplication([]) ws = Load("SavedTableWorkspace.nxs") window = TableWorkspaceDisplay(ws, plt) window.show_view() app.exec_()
def show_normalised_covariance_matrix(self, covariance_ws: ITableWorkspace, workspace_name: str) -> None: """Shows the normalised covariance matrix in a separate table display window.""" table_display = TableWorkspaceDisplay(covariance_ws, parent=self, name=workspace_name) table_display.show_view()
def test_supports(self): ws = MockWorkspace() # the test will fail if the support check fails - an exception is raised TableWorkspaceDisplay.supports(ws)
# Mantid Repository : https://github.com/mantidproject/mantid # # Copyright © 2018 ISIS Rutherford Appleton Laboratory UKRI, # NScD Oak Ridge National Laboratory, European Spallation Source # & Institut Laue - Langevin # SPDX - License - Identifier: GPL - 3.0 + # This file is part of the mantidqt package. # To Run - target this package with PyCharm, and __main__ will be executed import matplotlib matplotlib.use('Qt5Agg') from qtpy.QtWidgets import QApplication # noqa: F402 from mantid.simpleapi import Load # noqa: F402 from mantidqt.widgets.workspacedisplay.table.presenter import TableWorkspaceDisplay # noqa: F402 import matplotlib.pyplot as plt # noqa: F402 app = QApplication([]) ws = Load("SavedTableWorkspace.nxs") window = TableWorkspaceDisplay(ws, plt) window.show_view() app.exec_()