From 3b83377f3c495bcbad9b36b0b6b372f728ada657 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Fri, 7 Aug 2026 16:28:13 +0200 Subject: [PATCH] Ensemble: Draw ensemble scenario as rect and minor fix. --- src/Model/Scenario.py | 2 +- src/Model/Study.py | 2 +- src/View/Scenarios/ContextMenu.py | 9 +++++---- src/View/Scenarios/GraphWidget.py | 6 +++++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/Model/Scenario.py b/src/Model/Scenario.py index bc061caa..9ebecda9 100644 --- a/src/Model/Scenario.py +++ b/src/Model/Scenario.py @@ -78,7 +78,7 @@ class Scenario(SQLSubModel): self._x, self._y = x, y self._name = name self._description = description - self._is_ensemble = False + self._is_ensemble = is_ensemble self._revision = revision self._parent = parent diff --git a/src/Model/Study.py b/src/Model/Study.py index 6355d102..7718bbc0 100644 --- a/src/Model/Study.py +++ b/src/Model/Study.py @@ -682,7 +682,7 @@ class Study(SQLModel): new.name = self.status.scenario.name + " (ensemble)" new.set_pos(self.status.scenario.x + 100, - self.status.scenario.y + 100) + self.status.scenario.y) if switch: self.status.scenario = new diff --git a/src/View/Scenarios/ContextMenu.py b/src/View/Scenarios/ContextMenu.py index adf430b2..2e19f091 100644 --- a/src/View/Scenarios/ContextMenu.py +++ b/src/View/Scenarios/ContextMenu.py @@ -78,10 +78,11 @@ class ScenarioMenu(AbstractMenu): self._trad["menu_dup_scenario"] ) - if item.scenario.id == current_scenario: - ensemble = self._menu.addAction( - self._trad["menu_ens_scenario"] - ) + if not item.scenario.is_ensemble(): + if item.scenario.id == current_scenario: + ensemble = self._menu.addAction( + self._trad["menu_ens_scenario"] + ) action = self._exec() if action is None: diff --git a/src/View/Scenarios/GraphWidget.py b/src/View/Scenarios/GraphWidget.py index 6271f301..5cb08152 100644 --- a/src/View/Scenarios/GraphWidget.py +++ b/src/View/Scenarios/GraphWidget.py @@ -100,7 +100,11 @@ class ScenarioItem(QGraphicsTextItem): ) ) painter.setBrush(QBrush(color)) - painter.drawEllipse(self.boundingRect()) + + if self.scenario.is_ensemble(): + painter.drawRect(self.boundingRect()) + else: + painter.drawEllipse(self.boundingRect()) super(ScenarioItem, self).paint(painter, option, widget)