From 65c1163a556ce6d925f61654727c7965339260d9 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Wed, 29 Nov 2023 16:41:05 +0100 Subject: [PATCH 1/2] Reservoir: Allow to select only internal node. --- src/View/Reservoir/Table.py | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/View/Reservoir/Table.py b/src/View/Reservoir/Table.py index 66cdae82..14362050 100644 --- a/src/View/Reservoir/Table.py +++ b/src/View/Reservoir/Table.py @@ -56,9 +56,22 @@ class ComboBoxDelegate(QItemDelegate): def createEditor(self, parent, option, index): self.editor = QComboBox(parent) + nodes = list( + map( + lambda n: n.name, + filter( + lambda n: not ( + self._data.is_upstream_node(n) + or self._data.is_downstream_node(n) + ), + self._data.nodes() + ) + ) + ) + self.editor.addItems( [_translate("Reservoir", "Not associated")] + - self._data.nodes_names() + nodes ) self.editor.setCurrentText(index.data(Qt.DisplayRole)) From 2fd44fbfb4e8cea1631f123d859dab22ca583e4f Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby Date: Wed, 29 Nov 2023 16:52:01 +0100 Subject: [PATCH 2/2] IC: Fix data sorting at the end of generation. --- src/Model/InitialConditions/InitialConditions.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py index c81f940c..439445fa 100644 --- a/src/Model/InitialConditions/InitialConditions.py +++ b/src/Model/InitialConditions/InitialConditions.py @@ -395,6 +395,7 @@ class InitialConditions(SQLSubModel): self._data.append(new) previous_elevation = elevation + self._generate_resort_data(profiles) def generate_discharge(self, discharge: float): self._data = [] @@ -438,3 +439,15 @@ class InitialConditions(SQLSubModel): previous_elevation = elevation self._data.append(new) + + self._generate_resort_data(profiles) + + def _generate_resort_data(self, profiles): + is_reverse = False + if profiles[0].kp > profiles[-1].kp: + is_reverse = True + + self._data.sort( + reverse=not is_reverse, + key=lambda d: d['kp'] + )