mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-30 03:20:41 +01:00
refactoring: refacto solver parameters
This commit is contained in:
1 parent
63d6c114c0
commit
a64a9867ef
5 files changed
+85
-115
No files matched your search
@@ -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
|
||||
# )
|
||||
# )
|
||||
|
||||
|
||||
Reference in new issue
Block a user