Ensemble: Add stricklers select from tree view.

This commit is contained in:
parouby committed 2026-09-18 16:06:51 +02:00
1 parent 288713ce5b
commit 5c8b7290ba
2 files changed
+29 -11

No files matched your search

+24 -11
View File
@@ -48,19 +48,24 @@ from PyQt5.QtWidgets import (
logger = logging.getLogger()
class StricklersCoefModelItem(PamhyrModelItem):
def get_value(self):
return (self._data, self.parent()._data)
class StricklersModelItem(PamhyrModelItem):
def __init__(self, data=None, trad=None, parent=None):
super(StricklersModelItem, self).__init__(
data=data, trad=trad, parent=parent,
)
def _get_name(self):
return str(self._data)
def _setup_children(self):
self.addChild(PamhyrModelItem(data="Minor", parent=self))
self.addChild(PamhyrModelItem(data="Medium", parent=self))
for coef in ["strickler_minor", "strickler_medium"]:
self.addChild(
StricklersCoefModelItem(data=coef, parent=self)
)
def get_value(self):
return self._data
class EnsembleEditDialog(PamhyrDialog):
_pamhyr_ui = "EnsembleEditDialog"
@@ -77,21 +82,22 @@ class EnsembleEditDialog(PamhyrDialog):
self._study = study
self._ensemble = ensemble
self._target_data = None
self._init_tree()
self._init_default_values()
self._init_connection()
def _init_tree(self):
tree = self.find(QTreeWidget, "treeWidget_target_data")
tree.setColumnCount(1)
tree.setHeaderLabels(["Name"])
self._tree = self.find(QTreeWidget, "treeWidget_target_data")
self._tree.setColumnCount(1)
self._tree.setHeaderLabels(["Name"])
stricklers = PamhyrModelListItem(
name="Stricklers",
lst=self._study.river.stricklers,
child_item_ctor=StricklersModelItem,
parent=tree
parent=self._tree
)
def _init_default_values(self):
@@ -115,13 +121,20 @@ class EnsembleEditDialog(PamhyrDialog):
self._set_widget(self._ensemble.distribution)
self._target_data = (
self._ensemble.data_type,
self._ensemble.target_data
)
def _init_connection(self):
self.find(QComboBox, "comboBox_distribution")\
.currentTextChanged.connect(self.update_distribution)
self.find(QComboBox, "comboBox_distribution")\
.currentTextChanged.connect(self.update_distribution)
self._tree.itemClicked.connect(self._tree_item_select)
def _tree_item_select(self, item):
if type(item) == StricklersCoefModelItem:
self._target_data = item.get_value()
def update_distribution(self, txt):
# txt = self.get_combobox_text("comboBox_distribution")
+5
View File
@@ -58,6 +58,8 @@ class PamhyrModelItem(QTreeWidgetItem):
def _setup_children(self):
return
def get_value(self):
return self._data
class PamhyrModelListItem(QTreeWidgetItem):
def __init__(self, name=None, lst=None,
@@ -81,3 +83,6 @@ class PamhyrModelListItem(QTreeWidgetItem):
data=el, trad=self._trad, parent=self
)
)
def get_value(self):
return None