mirror of https://gitlab.com/pamhyr/pamhyr2
LC: Use KP delegation.
parent
653a26fee1
commit
2f93d1a83f
|
|
@ -63,6 +63,14 @@ class ComboBoxDelegate(QItemDelegate):
|
|||
self._tab = tab
|
||||
self._trad = trad
|
||||
|
||||
@property
|
||||
def data(self):
|
||||
return self._data
|
||||
|
||||
@data.setter
|
||||
def data(self, data):
|
||||
self._data = data
|
||||
|
||||
def createEditor(self, parent, option, index):
|
||||
self.editor = QComboBox(parent)
|
||||
long_types = self._trad.get_dict("long_types")
|
||||
|
|
@ -78,6 +86,17 @@ class ComboBoxDelegate(QItemDelegate):
|
|||
)
|
||||
)
|
||||
self.editor.addItems(lst)
|
||||
elif self._mode == "kp":
|
||||
if self._data is None:
|
||||
self.editor.addItems(
|
||||
["0"]
|
||||
)
|
||||
else:
|
||||
self.editor.addItems(
|
||||
list(
|
||||
map(str, self._data.reach.get_kp())
|
||||
)
|
||||
)
|
||||
else:
|
||||
self.editor.addItems(
|
||||
[self._trad['not_associated']] +
|
||||
|
|
@ -136,9 +155,9 @@ class TableModel(PamhyrTableModel):
|
|||
return self._trad['not_associated']
|
||||
return n.name
|
||||
elif self._headers[column] == "begin_kp":
|
||||
return self._lst.get(self._tab, row).begin_kp
|
||||
return str(self._lst.get(self._tab, row).begin_kp)
|
||||
elif self._headers[column] == "end_kp":
|
||||
return self._lst.get(self._tab, row).end_kp
|
||||
return str(self._lst.get(self._tab, row).end_kp)
|
||||
|
||||
return QVariant()
|
||||
|
||||
|
|
|
|||
|
|
@ -88,6 +88,8 @@ class LateralContributionWindow(PamhyrWindow):
|
|||
def setup_table(self):
|
||||
self._table = {}
|
||||
|
||||
self._delegate_kp = []
|
||||
|
||||
for t in ["liquid", "solid", "suspenssion"]:
|
||||
self._delegate_type = ComboBoxDelegate(
|
||||
data=self._study.river,
|
||||
|
|
@ -96,6 +98,16 @@ class LateralContributionWindow(PamhyrWindow):
|
|||
trad=self._trad,
|
||||
parent=self
|
||||
)
|
||||
|
||||
delegate_kp = ComboBoxDelegate(
|
||||
data=None,
|
||||
mode="kp",
|
||||
tab=t,
|
||||
trad=self._trad,
|
||||
parent=self
|
||||
)
|
||||
self._delegate_kp.append(delegate_kp)
|
||||
|
||||
self._delegate_edge = ComboBoxDelegate(
|
||||
data=self._study.river,
|
||||
mode="edge",
|
||||
|
|
@ -112,6 +124,8 @@ class LateralContributionWindow(PamhyrWindow):
|
|||
delegates={
|
||||
"type": self._delegate_type,
|
||||
"edge": self._delegate_edge,
|
||||
"begin_kp": delegate_kp,
|
||||
"end_kp": delegate_kp,
|
||||
},
|
||||
data=self._study.river,
|
||||
undo=self._undo_stack,
|
||||
|
|
@ -185,8 +199,7 @@ class LateralContributionWindow(PamhyrWindow):
|
|||
highlight = None
|
||||
|
||||
if len(rows) > 0:
|
||||
edge = self._study\
|
||||
.river\
|
||||
edge = self._study.river\
|
||||
.lateral_contribution\
|
||||
.get(tab, rows[0])\
|
||||
.edge
|
||||
|
|
@ -195,6 +208,9 @@ class LateralContributionWindow(PamhyrWindow):
|
|||
lc = self._lcs.get(tab, rows[0])
|
||||
highlight = (lc.begin_kp, lc.end_kp)
|
||||
|
||||
for delegate in self._delegate_kp:
|
||||
delegate.data = edge
|
||||
|
||||
self.plot = PlotXY(
|
||||
canvas=self.canvas,
|
||||
data=data,
|
||||
|
|
|
|||
Loading…
Reference in New Issue