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()
Exemplo n.º 2
0
    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)
Exemplo n.º 4
0
 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)
Exemplo n.º 6
0
    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()
Exemplo n.º 9
0
# 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_()
Exemplo n.º 10
0
 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)
Exemplo n.º 12
0
# 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_()