mirror of
https://gitlab.com/pamhyr/pamhyr2.git
synced 2026-10-29 19:10:42 +01:00
Ensemble: Add stricklers select from tree view.
This commit is contained in:
1 parent
288713ce5b
commit
5c8b7290ba
2 files changed
+29
-11
No files matched your search
@@ -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")
|
||||
|
||||
@@ -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
|
||||
Reference in new issue
Block a user