Commit 2f93d1a8 authored by Pierre-Antoine Rouby's avatar Pierre-Antoine Rouby
Browse files

LC: Use KP delegation.

No related merge requests found
Pipeline #55331 passed with stages
in 3 minutes and 25 seconds
Showing with 39 additions and 4 deletions
+39 -4
......@@ -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,
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment