Ensemble: Fix editing ensemble list.

scenario-dev-pa
Pierre-Antoine 2026-08-12 16:46:13 +02:00
parent 4d4df1bde2
commit b203e8e062
3 changed files with 13 additions and 12 deletions

View File

@ -29,9 +29,8 @@ logger = logging.getLogger()
class Ensemble(SQLSubModel): class Ensemble(SQLSubModel):
_sub_classes = [] _sub_classes = []
def __init__(self, id: int = -1, def __init__(self, id: int = -1, name: str = "",
name: str = "", function=None, range=[], target_data=None,
function=-1, range=[], target_data=None,
status=None, owner_scenario=-1): status=None, owner_scenario=-1):
super(Ensemble, self).__init__( super(Ensemble, self).__init__(
id=id, status=status, id=id, status=status,
@ -157,6 +156,9 @@ class Ensemble(SQLSubModel):
brange, length = self._encode_range() brange, length = self._encode_range()
if self._function is None:
fid = -1
else:
fid = self._function._pamhyr_id fid = self._function._pamhyr_id
if self._function._data_type == "generic": if self._function._data_type == "generic":
fid = -1 fid = -1

View File

@ -86,7 +86,7 @@ class ComboBoxDelegate(QItemDelegate):
list( list(
map( map(
lambda s: str(s), lambda s: str(s),
self._study._ens_functions self._study._ens_functions.lst
) )
) )
) )

View File

@ -49,14 +49,15 @@ class SetTypeCommand(QUndoCommand):
self._ensembles = ensembles self._ensembles = ensembles
self._index = index self._index = index
self._old = self._ensembles.get(self._index).type self._old = self._ensembles.get(self._index)\
.data_type
self._new = new_value self._new = new_value
def undo(self): def undo(self):
self._ensembles.get(self._index).type = self._old self._ensembles.get(self._index).data_type = self._old
def redo(self): def redo(self):
self._ensembles.get(self._index).type = self._new self._ensembles.get(self._index).data_type = self._new
class SetDataCommand(QUndoCommand): class SetDataCommand(QUndoCommand):
@ -105,9 +106,7 @@ class AddCommand(QUndoCommand):
def redo(self): def redo(self):
if self._new is None: if self._new is None:
self._new = self._ensembles.new( self._new = self._ensembles.new(self._index)
self._reach, self._index
)
self._new.edge = self._reach self._new.edge = self._reach
else: else:
self._ensembles.insert(self._index, self._new) self._ensembles.insert(self._index, self._new)