debug delete functionnality in InitialConditionsAdisTS

scenarios
Dylan Jeannin 2026-04-27 16:32:41 +02:00
parent 1f97af9c03
commit 4550fc95d7
3 changed files with 48 additions and 21 deletions

View File

@ -267,7 +267,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@name.setter
def name(self, name):
self._name = name
self._status.modified()
self.modified()
@property
def pollutant(self):
@ -276,7 +276,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@pollutant.setter
def pollutant(self, pollutant):
self._pollutant = pollutant
self._status.modified()
self.modified()
@property
def concentration(self):
@ -285,7 +285,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@concentration.setter
def concentration(self, concentration):
self._concentration = concentration
self._status.modified()
self.modified()
@property
def eg(self):
@ -294,7 +294,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@eg.setter
def eg(self, eg):
self._eg = eg
self._status.modified()
self.modified()
@property
def em(self):
@ -303,7 +303,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@em.setter
def em(self, em):
self._em = em
self._status.modified()
self.modified()
@property
def ed(self):
@ -312,7 +312,7 @@ class InitialConditionsAdisTS(SQLSubModel):
@ed.setter
def ed(self, ed):
self._ed = ed
self._status.modified()
self.modified()
@property
def enabled(self):
@ -321,28 +321,45 @@ class InitialConditionsAdisTS(SQLSubModel):
@enabled.setter
def enabled(self, enabled):
self._enabled = enabled
self._status.modified()
self.modified()
def new(self, index):
n = ICAdisTSSpec(status=self._status)
self._data.insert(index, n)
self._status.modified()
self.modified()
return n
def delete(self, data):
self._data = list(
filter(
lambda x: x not in data,
self._data
list(
map(
lambda x: x.set_as_deleted(),
data
)
)
self._status.modified()
self.modified()
def delete_i(self, indexes):
for ind in indexes:
del self._data[ind]
self._status.modified()
list(
map(
lambda e: e[1].set_as_deleted(),
filter(
lambda e: e[0] in indexes,
enumerate(self._data)
)
)
)
self.modified()
def insert(self, index, data):
if data in self._data:
self.undelete([data])
else:
self._data.insert(index, data)
self._status.modified()
self.modified()
def undelete(self, lst):
for x in lst:
x.set_as_not_deleted()
self.modified()

View File

@ -117,7 +117,12 @@ class InitialConditionTableModel(PamhyrTableModel):
self._data = data
def _setup_lst(self):
self._lst = self._data._data
self._lst = list(
filter(
lambda ica: ica._deleted == False,
self._data._data
)
)
def rowCount(self, parent):
return len(self._lst)
@ -222,12 +227,18 @@ class InitialConditionTableModel(PamhyrTableModel):
def delete(self, rows, parent=QModelIndex()):
self.beginRemoveRows(parent, rows[0], rows[-1])
data_rows = {
id(ica): i for i, ica in enumerate(self._data._data)
}
self._undo.push(
DelCommand(
self._data, self._lst, rows
self._data,
self._data._data,
[data_rows[id(self._lst[row])] for row in rows]
)
)
self._setup_lst()
self.endRemoveRows()
self.layoutChanged.emit()

View File

@ -181,7 +181,6 @@ class DelCommand(QUndoCommand):
self._data = data
self._ics_spec = ics_spec
self._rows = rows
# self._data = data
self._ic = []
for row in rows: