refactoring: Apply table refacto on checklist.

setup.py
Pierre-Antoine Rouby 2023-10-06 10:40:18 +02:00
parent a64a9867ef
commit ba087f12a5
4 changed files with 20 additions and 34 deletions

View File

@ -35,25 +35,12 @@ from PyQt5.QtWidgets import (
QComboBox, QComboBox,
) )
from View.Tools.PamhyrTable import PamhyrTableModel
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
class TableModel(QAbstractTableModel): class TableModel(PamhyrTableModel):
def __init__(self, data=None):
super(QAbstractTableModel, self).__init__()
self._headers = ["name", "status"]
self._data = data
def flags(self, index):
options = Qt.ItemIsEnabled | Qt.ItemIsSelectable
return options
def rowCount(self, parent):
return len(self._data)
def columnCount(self, parent):
return len(self._headers)
def data(self, index, role): def data(self, index, role):
row = index.row() row = index.row()
column = index.column() column = index.column()
@ -81,12 +68,3 @@ class TableModel(QAbstractTableModel):
return self._data[row].summary return self._data[row].summary
return QVariant() return QVariant()
def headerData(self, section, orientation, role):
if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal:
return self._headers[section]
return QVariant()
def update(self):
self.layoutChanged.emit()

View File

@ -40,6 +40,7 @@ from PyQt5.QtWidgets import (
from View.CheckList.Table import TableModel from View.CheckList.Table import TableModel
from View.CheckList.Worker import Worker from View.CheckList.Worker import Worker
from View.CheckList.Translate import CheckListTranslate
_translate = QCoreApplication.translate _translate = QCoreApplication.translate
@ -61,6 +62,7 @@ class CheckListWindow(PamhyrWindow):
title = name, title = name,
study = study, study = study,
config = config, config = config,
trad = CheckListTranslate(),
options = [], options = [],
parent = parent parent = parent
) )
@ -78,16 +80,12 @@ class CheckListWindow(PamhyrWindow):
def setup_table(self): def setup_table(self):
table = self.find(QTableView, f"tableView") table = self.find(QTableView, f"tableView")
self._table = TableModel( self._table = TableModel(
table_view = table,
table_headers = self._trad.get_dict("table_headers"),
data = self._checker_list, data = self._checker_list,
) )
table.setModel(self._table)
table.setSelectionBehavior(QAbstractItemView.SelectRows)
table.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
table.setAlternatingRowColors(True)
def setup_progress_bar(self): def setup_progress_bar(self):
self._progress = self.find(QProgressBar, f"progressBar") self._progress = self.find(QProgressBar, f"progressBar")
self._p = 0 # Progress current step self._p = 0 # Progress current step

View File

@ -53,8 +53,8 @@ from View.Frictions.Window import FrictionsWindow
from View.SedimentLayers.Window import SedimentLayersWindow from View.SedimentLayers.Window import SedimentLayersWindow
from View.SedimentLayers.Reach.Window import ReachSedimentLayersWindow from View.SedimentLayers.Reach.Window import ReachSedimentLayersWindow
from View.SolverParameters.Window import SolverParametersWindow from View.SolverParameters.Window import SolverParametersWindow
# from View.RunSolver.Window import SelectSolverWindow, SolverLogWindow from View.RunSolver.Window import SelectSolverWindow, SolverLogWindow
# from View.CheckList.Window import CheckListWindow from View.CheckList.Window import CheckListWindow
# from View.Results.Window import ResultsWindow # from View.Results.Window import ResultsWindow
from View.Debug.Window import ReplWindow from View.Debug.Window import ReplWindow

View File

@ -33,7 +33,7 @@ from PyQt5.QtWidgets import (
QDialogButtonBox, QPushButton, QLineEdit, QDialogButtonBox, QPushButton, QLineEdit,
QFileDialog, QTableView, QAbstractItemView, QFileDialog, QTableView, QAbstractItemView,
QUndoStack, QShortcut, QAction, QItemDelegate, QUndoStack, QShortcut, QAction, QItemDelegate,
QComboBox, QStyledItemDelegate, QComboBox, QStyledItemDelegate, QHeaderView,
) )
logger = logging.getLogger() logger = logging.getLogger()
@ -100,10 +100,17 @@ class PamhyrTableModel(QAbstractTableModel):
self._setup_delegates() self._setup_delegates()
self._setup_lst() self._setup_lst()
self._table_view_configure()
def _setup_lst(self): def _setup_lst(self):
self._lst = self._data self._lst = self._data
def _table_view_configure(self):
self._table_view.setModel(self)
self._table_view.setSelectionBehavior(QAbstractItemView.SelectRows)
self._table_view.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch)
self._table_view.setAlternatingRowColors(True)
def flags(self, index): def flags(self, index):
column = index.column() column = index.column()
@ -140,3 +147,6 @@ class PamhyrTableModel(QAbstractTableModel):
def redo(self): def redo(self):
self._undo.redo() self._undo.redo()
self.layoutChanged.emit() self.layoutChanged.emit()
def update(self):
self.layoutChanged.emit()