refactoring: refacto solver parameters

This commit is contained in:
Pierre-Antoine Rouby committed 2023-10-04 17:01:31 +02:00
1 parent 63d6c114c0
commit a64a9867ef
5 files changed
+85 -115

No files matched your search

+23 -46
View File
@@ -34,37 +34,20 @@ from PyQt5.QtWidgets import (
QComboBox,
)
from View.Tools.PamhyrTable import PamhyrTableModel
from View.SolverParameters.UndoCommand import *
from View.SolverParameters import translate as tr
from Solver.Solvers import solver_long_name, solver_type_list
logger = logging.getLogger()
_translate = QCoreApplication.translate
class TableModel(QAbstractTableModel):
def __init__(self, data=None, undo=None, tab=""):
super(QAbstractTableModel, self).__init__()
self._headers = list(tr.table_headers.keys())
self._data = data
self._undo = undo
self._tab = tab
self._params = self._data.get_params(self._tab)
def flags(self, index):
options = Qt.ItemIsEnabled | Qt.ItemIsSelectable
column = index.column()
if self._headers[column] == "value":
options |= Qt.ItemIsEditable
return options
def rowCount(self, parent):
return len(self._params)
def columnCount(self, parent):
return len(self._headers)
class TableModel(PamhyrTableModel):
def _setup_lst(self):
self._tab = self._opt_data
self._lst = self._data.get_params(self._tab)
def data(self, index, role):
if role != Qt.ItemDataRole.DisplayRole:
@@ -75,24 +58,18 @@ class TableModel(QAbstractTableModel):
cname = self._headers[column]
if cname == "name":
value = self._params.get(row)[cname]
if value in tr.names:
value = tr.names[value]
value = self._lst.get(row)[cname]
if value in self._trad.get_dict("names"):
value = self._trad.get_dict("names")[value]
return value
elif cname == "value":
value = self._params.get(row)[cname]
if value in tr.yes_no:
value = tr.yes_no[value]
value = self._lst.get(row)[cname]
if value in self._trad.get_dict("yes_no"):
value = self._trad.get_dict("yes_no")[value]
return value
return QVariant()
def headerData(self, section, orientation, role):
if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal:
return tr.table_headers[self._headers[section]]
return QVariant()
def setData(self, index, value, role=Qt.EditRole):
if not index.isValid() or role != Qt.EditRole:
return False
@@ -102,12 +79,12 @@ class TableModel(QAbstractTableModel):
try:
if self._headers[column] == "value":
if value in tr.r_yes_no:
value = tr.r_yes_no[value].lower()
if value in self._trad.get_dict("r_yes_no"):
value = self._trad.get_dict("r_yes_no")[value].lower()
self._undo.push(
SetCommand(
self._params, row,
self._lst, row,
"value", value
)
)
@@ -123,7 +100,7 @@ class TableModel(QAbstractTableModel):
# self._undo.push(
# AddCommand(
# self._params, row
# self._lst, row
# )
# )
@@ -135,7 +112,7 @@ class TableModel(QAbstractTableModel):
# self._undo.push(
# DelCommand(
# self._params, rows
# self._lst, rows
# )
# )
@@ -147,7 +124,7 @@ class TableModel(QAbstractTableModel):
# self._undo.push(
# SortCommand(
# self._params, False
# self._lst, False
# )
# )
@@ -164,7 +141,7 @@ class TableModel(QAbstractTableModel):
# self._undo_stack.push(
# MoveCommand(
# self._params, "up", row
# self._lst, "up", row
# )
# )
@@ -172,7 +149,7 @@ class TableModel(QAbstractTableModel):
# self.layoutChanged.emit()
# def move_down(self, index, parent=QModelIndex()):
# if row > len(self._params):
# if row > len(self._lst):
# return
# target = row
@@ -181,7 +158,7 @@ class TableModel(QAbstractTableModel):
# self._undo_stack.push(
# MoveCommand(
# self._params, "down", row
# self._lst, "down", row
# )
# )