debug save BoundaryConditionsAdisTS

This commit is contained in:
Dylan Jeannin committed 2026-04-28 11:06:57 +02:00
1 parent d3e922af6e
commit 4408a8f368
6 files changed
+63 -28

No files matched your search

@@ -61,9 +61,7 @@ class AddCommand(QUndoCommand):
def redo(self):
if self._new is None:
self._new = self._data.insert(self._index, (
self._data._types[0](0), self._data._types[1](0.0)
))
self._new = self._data.add(self._index)
else:
self._data.insert(self._index, self._new)
+37 -9
View File
@@ -121,9 +121,25 @@ class TableModel(PamhyrTableModel):
super(TableModel, self).__init__(trad=trad, **kwargs)
def _setup_lst(self):
self._lst = self._pollutant_bc_list.boundary_conditions_adists
self._lst = list(
filter(
lambda bc: bc.pollutant == self._pollutant,
self._bc_list.lst
)
)
def rowCount(self, parent):
def get(self, row):
if row < 0 or row >= len(self._lst):
return None
return self._lst[row]
def _global_row(self, row):
bc = self.get(row)
if bc is None:
return None
return self._bc_list.index(bc)
def rowCount(self, parent=QModelIndex()):
return len(self._lst)
def data(self, index, role):
@@ -159,15 +175,21 @@ class TableModel(PamhyrTableModel):
try:
if self._headers[column] == "type":
global_row = self._global_row(row)
self._undo.push(
SetTypeCommand(
self._bc_list, row, value
self._bc_list, global_row, value
)
)
elif self._headers[column] == "node":
global_row = self._global_row(row)
node = next(
filter(lambda n: n.name == value, self._data.nodes()),
None
)
self._undo.push(
SetNodeCommand(
self._bc_list, row, self._data.node(value)
self._bc_list, global_row, node
)
)
@@ -179,33 +201,39 @@ class TableModel(PamhyrTableModel):
return True
def add(self, row, parent=QModelIndex()):
self.beginInsertRows(parent, row, row - 1)
row = len(self._lst)
self.beginInsertRows(parent, row, row)
self._undo.push(
AddCommand(
self._pollutant, self._bc_list, row
self._pollutant, self._bc_list, len(self._bc_list)
)
)
self._setup_lst()
self.endInsertRows()
self.layoutChanged.emit()
def delete(self, rows, parent=QModelIndex()):
self.beginRemoveRows(parent, rows[0], rows[-1])
global_rows = list(
map(self._global_row, rows)
)
self._undo.push(
DelCommand(
self._bc_list, rows
self._bc_list, global_rows
)
)
self._setup_lst()
self.endRemoveRows()
self.layoutChanged.emit()
def undo(self):
self._undo.undo()
self._setup_lst()
self.layoutChanged.emit()
def redo(self):
self._undo.redo()
self._setup_lst()
self.layoutChanged.emit()
@@ -36,7 +36,7 @@ class SetNodeCommand(QUndoCommand):
self._bcs = bcs
self._index = index
self._old = self._bcs.get(self._index).node
self._new = node.id
self._new = node.id if node is not None else None
def undo(self):
self._bcs.get(self._index).node = self._old
+2 -2
View File
@@ -159,7 +159,7 @@ class BoundaryConditionAdisTSWindow(PamhyrWindow):
)
def add(self):
self._table.add(len(self._data.boundary_conditions_adists))
self._table.add(self._table.rowCount())
def delete(self):
rows = self.index_selected_rows()
@@ -183,7 +183,7 @@ class BoundaryConditionAdisTSWindow(PamhyrWindow):
def edit(self):
rows = self.index_selected_rows()
for row in rows:
data = self._bcs.get(row)
data = self._table.get(row)
if data.node is None:
continue