refactoring: refacto frictions & stricklers.

This commit is contained in:
Pierre-Antoine Rouby committed 2023-10-04 14:34:07 +02:00
1 parent b430cbb62b
commit 4ce597a2a0
7 files changed
+72 -104

No files matched your search

+22 -42
View File
@@ -41,6 +41,8 @@ from View.Frictions.UndoCommand import (
MoveCommand, PasteCommand, DuplicateCommand,
)
from View.Tools.PamhyrTable import PamhyrTableModel
from View.Frictions.translate import *
logger = logging.getLogger()
@@ -93,26 +95,10 @@ class ComboBoxDelegate(QItemDelegate):
self.commitData.emit(self.sender())
class TableModel(QAbstractTableModel):
def __init__(self, data=None, study=None, undo=None):
super(QAbstractTableModel, self).__init__()
self._headers = list(table_headers.keys())
self._data = data
self._study = study
self._undo = undo
self._frictions = self._data.frictions
def flags(self, index):
options = Qt.ItemIsEnabled | Qt.ItemIsSelectable
options |= Qt.ItemIsEditable
return options
def rowCount(self, parent):
return len(self._frictions)
def columnCount(self, parent):
return len(self._headers)
class TableModel(PamhyrTableModel):
def _setup_lst(self):
self._lst = self._data.frictions
self._study = self._opt_data
def data(self, index, role):
if role != Qt.ItemDataRole.DisplayRole:
@@ -122,30 +108,24 @@ class TableModel(QAbstractTableModel):
column = index.column()
if self._headers[column] == "name":
return self._frictions.get(row).name
return self._lst.get(row).name
elif self._headers[column] == "begin_kp":
return self._frictions.get(row).begin_kp
return self._lst.get(row).begin_kp
elif self._headers[column] == "end_kp":
return self._frictions.get(row).end_kp
return self._lst.get(row).end_kp
elif self._headers[column] == "begin_strickler":
value = self._frictions.get(row).begin_strickler
value = self._lst.get(row).begin_strickler
if value == None:
return _translate("Frictions", "Not defined")
return str(value)
elif self._headers[column] == "end_strickler":
value = self._frictions.get(row).end_strickler
value = self._lst.get(row).end_strickler
if value == None:
return _translate("Frictions", "Not defined")
return str(value)
return QVariant()
def headerData(self, friction, orientation, role):
if role == Qt.ItemDataRole.DisplayRole and orientation == Qt.Orientation.Horizontal:
return table_headers[self._headers[friction]]
return QVariant()
def setData(self, index, value, role=Qt.EditRole):
if not index.isValid() or role != Qt.EditRole:
return False
@@ -157,31 +137,31 @@ class TableModel(QAbstractTableModel):
if self._headers[column] == "name":
self._undo.push(
SetNameCommand(
self._frictions, row, value
self._lst, row, value
)
)
elif self._headers[column] == "begin_kp":
self._undo.push(
SetBeginCommand(
self._frictions, row, value
self._lst, row, value
)
)
elif self._headers[column] == "end_kp":
self._undo.push(
SetEndCommand(
self._frictions, row, value
self._lst, row, value
)
)
elif self._headers[column] == "begin_strickler":
self._undo.push(
SetBeginStricklerCommand(
self._frictions, row, self._study.river.strickler(value)
self._lst, row, self._study.river.strickler(value)
)
)
elif self._headers[column] == "end_strickler":
self._undo.push(
SetEndStricklerCommand(
self._frictions, row, self._study.river.strickler(value)
self._lst, row, self._study.river.strickler(value)
)
)
except Exception as e:
@@ -196,7 +176,7 @@ class TableModel(QAbstractTableModel):
self._undo.push(
AddCommand(
self._frictions, row, self._data
self._lst, row, self._data
)
)
@@ -208,7 +188,7 @@ class TableModel(QAbstractTableModel):
self._undo.push(
DelCommand(
self._frictions, rows
self._lst, rows
)
)
@@ -220,7 +200,7 @@ class TableModel(QAbstractTableModel):
self._undo.push(
SortCommand(
self._frictions, False
self._lst, False
)
)
@@ -237,7 +217,7 @@ class TableModel(QAbstractTableModel):
self._undo_stack.push(
MoveCommand(
self._frictions, "up", row
self._lst, "up", row
)
)
@@ -245,7 +225,7 @@ class TableModel(QAbstractTableModel):
self.layoutChanged.emit()
def move_down(self, index, parent=QModelIndex()):
if row > len(self._frictions):
if row > len(self._lst):
return
target = row
@@ -254,7 +234,7 @@ class TableModel(QAbstractTableModel):
self._undo_stack.push(
MoveCommand(
self._frictions, "down", row
self._lst, "down", row
)
)