diff --git a/src/Model/Ensembles/Distribution.py b/src/Model/Ensembles/Distribution.py index 78a4635b..d678e18d 100644 --- a/src/Model/Ensembles/Distribution.py +++ b/src/Model/Ensembles/Distribution.py @@ -45,6 +45,7 @@ class Distribution(SQLSubModel): self._type = "generic" self._script = script self._labels = [] + self._default_values = [] @property def name(self): @@ -54,6 +55,10 @@ class Distribution(SQLSubModel): def labels(self): return self._labels + @property + def default_values(self): + return self._default_values + @classmethod def _db_create(cls, execute, ext=""): execute(f""" @@ -160,6 +165,7 @@ class Uniform(Distribution): ) self._labels = ["low", "high"] + self._default_values = [20.0, 40.0] def random(self, params, nb): lst = params.copy() @@ -180,6 +186,7 @@ class Normal(Distribution): ) self._labels = ["loc", "scale"] + self._default_values = [30.0, 5.0] def random(self, params, nb): lst = params.copy() @@ -200,6 +207,7 @@ class Poisson(Distribution): ) self._labels = ["lam"] + self._default_values = [5.0] def random(self, params, nb): lst = params.copy() @@ -221,6 +229,7 @@ class Custom(Distribution): self._labels = ["custom"] self._type = "custom" + self._default_values = "" def random(self, params, nb): try: diff --git a/src/View/Ensembles/UndoCommand.py b/src/View/Ensembles/UndoCommand.py index f9c38a1e..7eb109e9 100644 --- a/src/View/Ensembles/UndoCommand.py +++ b/src/View/Ensembles/UndoCommand.py @@ -84,13 +84,16 @@ class SetDistributionCommand(QUndoCommand): self._ensembles = ensembles self._index = index self._old = self._ensembles.get(self._index).distribution + self._old_params = self._ensembles.get(self._index).params self._new = distribution def undo(self): self._ensembles.get(self._index).distribution = self._old + self._ensembles.get(self._index).params = self._old_params def redo(self): self._ensembles.get(self._index).distribution = self._new + self._ensembles.get(self._index).params = self._new.default_values class AddCommand(QUndoCommand):