Skip to content

Commit

Permalink
Fix presenter view test
Browse files Browse the repository at this point in the history
  • Loading branch information
MohamedAlmaki committed Apr 26, 2024
1 parent cc1d261 commit ad60a2c
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 17 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Mantid Repository : https://github.com/mantidproject/mantid
#
# Copyright © 2024 ISIS Rutherford Appleton Laboratory UKRI,
# NScD Oak Ridge National Laboratory, European Spallation Source,
# Institut Laue - Langevin & CSNS, Institute of High Energy Physics, CAS
# SPDX - License - Identifier: GPL - 3.0 +
# This file is part of the mantidqt package.

from qtpy.QtCore import Qt, QSortFilterProxyModel
from mantidqt.widgets.workspacedisplay.table.view import TableWorkspaceDisplayView


class GroupTableWorkspaceDisplayView(TableWorkspaceDisplayView):
"""Specialization of a table view to display peaks
Designed specifically to be used by PeaksViewerView
"""

def __init__(self, *args, **kwargs):
TableWorkspaceDisplayView.__init__(self, *args, **kwargs)
self.source_model = TableWorkspaceDisplayView.model(self)
self.proxy_model = QSortFilterProxyModel()
self.proxy_model.setSourceModel(self.table_model)
self.setModel(self.proxy_model)

def model(self):
return self.source_model

def sortBySelectedColumn(self, selected_column, sort_ascending):
self.sortByColumn(selected_column, Qt.AscendingOrder if sort_ascending else Qt.DescendingOrder)
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from mantidqt.widgets.workspacedisplay.table.view import TableWorkspaceDisplayView
from mantidqt.widgets.workspacedisplay.table.group_table_model import GroupTableModel
from mantidqt.widgets.workspacedisplay.table.presenter_group import TableWorkspaceDataPresenterGroup
from mantidqt.widgets.workspacedisplay.table.group_view import GroupTableWorkspaceDisplayView


class TableWorkspaceDisplay(ObservingPresenter, DataCopier):
Expand Down Expand Up @@ -138,9 +139,7 @@ def _create_table_group(self, ws, parent, window_flags, view, model):
view = (
view
if view
else TableWorkspaceDisplayView(
presenter=self, parent=parent, window_flags=window_flags, table_model=table_model, wrap_sorting=True
)
else GroupTableWorkspaceDisplayView(presenter=self, parent=parent, window_flags=window_flags, table_model=table_model)
)
self.presenter = TableWorkspaceDataPresenterGroup(model, view)
return view, model
Expand Down
17 changes: 3 additions & 14 deletions qt/python/mantidqt/mantidqt/widgets/workspacedisplay/table/view.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from functools import partial

from qtpy import QtGui
from qtpy.QtCore import QVariant, Qt, Signal, Slot, QSortFilterProxyModel
from qtpy.QtCore import QVariant, Qt, Signal, Slot
from qtpy.QtGui import QKeySequence, QStandardItemModel
from qtpy.QtWidgets import QAction, QHeaderView, QItemEditorFactory, QMenu, QMessageBox, QStyledItemDelegate, QTableView

Expand All @@ -34,16 +34,11 @@ def createEditor(self, user_type, parent):
class TableWorkspaceDisplayView(QTableView):
repaint_signal = Signal()

def __init__(self, presenter=None, parent=None, window_flags=Qt.Window, table_model=None, wrap_sorting=False):
def __init__(self, presenter=None, parent=None, window_flags=Qt.Window, table_model=None):
super().__init__(parent)
self.table_model = table_model if table_model else QStandardItemModel(parent)

if wrap_sorting:
sorting_model = QSortFilterProxyModel()
sorting_model.setSourceModel(self.table_model)
self.setModel(sorting_model)
else:
self.setModel(self.table_model)
self.setModel(self.table_model)

self.presenter = presenter
self.COPY_ICON = mantidqt.icons.get_icon("mdi.content-copy")
Expand All @@ -62,9 +57,6 @@ def __init__(self, presenter=None, parent=None, window_flags=Qt.Window, table_mo

self.setWindowFlags(window_flags)

def model(self):
return self.table_model

def columnCount(self):
return self.table_model.columnCount()

Expand Down Expand Up @@ -254,6 +246,3 @@ def ask_confirmation(self, message, title="Mantid Workbench"):

def show_warning(self, message, title="Mantid Workbench"):
QMessageBox.warning(self, title, message)

def sortBySelectedColumn(self, selected_column, sort_ascending):
self.sortByColumn(selected_column, Qt.AscendingOrder if sort_ascending else Qt.DescendingOrder)

0 comments on commit ad60a2c

Please sign in to comment.