From cadffe40d6f785546bf8667d4fa12943f75592ab Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Fri, 25 Sep 2026 14:58:50 +0200 Subject: [PATCH] Ensemble: Edit: Fix crash at change 1 params distribution to 2 params. --- src/Model/Ensembles/Distribution.py | 6 +++--- src/View/Ensembles/Edit/Window.py | 14 +++++++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/Model/Ensembles/Distribution.py b/src/Model/Ensembles/Distribution.py index d678e18d..2e437017 100644 --- a/src/Model/Ensembles/Distribution.py +++ b/src/Model/Ensembles/Distribution.py @@ -149,9 +149,9 @@ class Distribution(SQLSubModel): raise NotImplementedMethodeError(cls, cls._load) -########################### +############################### # DISTRIBUTION IMPLEMENTATION # -########################### +############################### class Uniform(Distribution): _sub_classes = [] @@ -229,7 +229,7 @@ class Custom(Distribution): self._labels = ["custom"] self._type = "custom" - self._default_values = "" + self._default_values = [""] def random(self, params, nb): try: diff --git a/src/View/Ensembles/Edit/Window.py b/src/View/Ensembles/Edit/Window.py index 3ae3aed5..3746a7f4 100644 --- a/src/View/Ensembles/Edit/Window.py +++ b/src/View/Ensembles/Edit/Window.py @@ -248,8 +248,10 @@ class Ensemble1ParamsWidget(PamhyrWidget): def _init_default_values(self): self._values = self._ensemble.params - if len(self._values) > 0: - self.set_double_spin_box("doubleSpinBox_0", self._values[0]) + if len(self._values) < 1: + self._values = self._distribution.default_values.copy() + + self.set_double_spin_box("doubleSpinBox_0", self._values[0]) @property def values(self): @@ -285,9 +287,11 @@ class Ensemble2ParamsWidget(PamhyrWidget): def _init_default_values(self): self._values = self._ensemble.params - if len(self._values) > 0: - self.set_double_spin_box("doubleSpinBox_0", self._values[0]) - self.set_double_spin_box("doubleSpinBox_1", self._values[1]) + if len(self._values) < 2: + self._values = self._distribution.default_values.copy() + + self.set_double_spin_box("doubleSpinBox_0", self._values[0]) + self.set_double_spin_box("doubleSpinBox_1", self._values[1]) @property def values(self):