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._tab = tab
|
||||||
self._trad = trad
|
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):
|
def createEditor(self, parent, option, index):
|
||||||
self.editor = QComboBox(parent)
|
self.editor = QComboBox(parent)
|
||||||
long_types = self._trad.get_dict("long_types")
|
long_types = self._trad.get_dict("long_types")
|
||||||
|
|
@ -78,6 +86,17 @@ class ComboBoxDelegate(QItemDelegate):
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
self.editor.addItems(lst)
|
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:
|
else:
|
||||||
self.editor.addItems(
|
self.editor.addItems(
|
||||||
[self._trad['not_associated']] +
|
[self._trad['not_associated']] +
|
||||||
|
|
@ -136,9 +155,9 @@ class TableModel(PamhyrTableModel):
|
||||||
return self._trad['not_associated']
|
return self._trad['not_associated']
|
||||||
return n.name
|
return n.name
|
||||||
elif self._headers[column] == "begin_kp":
|
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":
|
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()
|
return QVariant()
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,8 @@ class LateralContributionWindow(PamhyrWindow):
|
||||||
def setup_table(self):
|
def setup_table(self):
|
||||||
self._table = {}
|
self._table = {}
|
||||||
|
|
||||||
|
self._delegate_kp = []
|
||||||
|
|
||||||
for t in ["liquid", "solid", "suspenssion"]:
|
for t in ["liquid", "solid", "suspenssion"]:
|
||||||
self._delegate_type = ComboBoxDelegate(
|
self._delegate_type = ComboBoxDelegate(
|
||||||
data=self._study.river,
|
data=self._study.river,
|
||||||
|
|
@ -96,6 +98,16 @@ class LateralContributionWindow(PamhyrWindow):
|
||||||
trad=self._trad,
|
trad=self._trad,
|
||||||
parent=self
|
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(
|
self._delegate_edge = ComboBoxDelegate(
|
||||||
data=self._study.river,
|
data=self._study.river,
|
||||||
mode="edge",
|
mode="edge",
|
||||||
|
|
@ -112,6 +124,8 @@ class LateralContributionWindow(PamhyrWindow):
|
||||||
delegates={
|
delegates={
|
||||||
"type": self._delegate_type,
|
"type": self._delegate_type,
|
||||||
"edge": self._delegate_edge,
|
"edge": self._delegate_edge,
|
||||||
|
"begin_kp": delegate_kp,
|
||||||
|
"end_kp": delegate_kp,
|
||||||
},
|
},
|
||||||
data=self._study.river,
|
data=self._study.river,
|
||||||
undo=self._undo_stack,
|
undo=self._undo_stack,
|
||||||
|
|
@ -185,8 +199,7 @@ class LateralContributionWindow(PamhyrWindow):
|
||||||
highlight = None
|
highlight = None
|
||||||
|
|
||||||
if len(rows) > 0:
|
if len(rows) > 0:
|
||||||
edge = self._study\
|
edge = self._study.river\
|
||||||
.river\
|
|
||||||
.lateral_contribution\
|
.lateral_contribution\
|
||||||
.get(tab, rows[0])\
|
.get(tab, rows[0])\
|
||||||
.edge
|
.edge
|
||||||
|
|
@ -195,6 +208,9 @@ class LateralContributionWindow(PamhyrWindow):
|
||||||
lc = self._lcs.get(tab, rows[0])
|
lc = self._lcs.get(tab, rows[0])
|
||||||
highlight = (lc.begin_kp, lc.end_kp)
|
highlight = (lc.begin_kp, lc.end_kp)
|
||||||
|
|
||||||
|
for delegate in self._delegate_kp:
|
||||||
|
delegate.data = edge
|
||||||
|
|
||||||
self.plot = PlotXY(
|
self.plot = PlotXY(
|
||||||
canvas=self.canvas,
|
canvas=self.canvas,
|
||||||
data=data,
|
data=data,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue