LC: Add scenario support.

This commit is contained in:
Pierre-Antoine Rouby committed 2024-09-17 16:14:06 +02:00
1 parent a2ff3ecd9a
commit c01effbf4c
13 files changed
+253 -120

No files matched your search

+1 -1
View File
@@ -58,7 +58,7 @@ class EditLateralContributionWindow(PamhyrWindow):
trad = LCETranslate()
name = trad[self._pamhyr_name]
if self._data is not None:
edge_name = (self._data.edge.name if self._data.edge is not None
edge_name = (self._data.reach.name if self._data.reach is not None
else trad['not_associated'])
name += (
f" - {study.name} " +
+17 -5
View File
@@ -89,12 +89,15 @@ class ComboBoxDelegate(QItemDelegate):
elif self._mode == "rk":
if self._data is None:
self.editor.addItems(
["0"]
["-"]
)
else:
self.editor.addItems(
list(
map(str, self._data.reach.get_rk())
map(
lambda p: p.display_name(),
self._data.reach.profiles
)
)
)
else:
@@ -111,8 +114,17 @@ class ComboBoxDelegate(QItemDelegate):
self.editor.currentTextChanged.connect(self.currentItemChanged)
def setModelData(self, editor, model, index):
text = str(editor.currentText())
model.setData(index, text)
value = str(editor.currentText())
if self._mode == "rk":
value = next(
filter(
lambda p: p.display_name() == value,
self._data.reach.profiles
)
)
model.setData(index, value)
editor.close()
editor.deleteLater()
@@ -150,7 +162,7 @@ class TableModel(PamhyrTableModel):
t = self._lst.get(self._tab, row).lctype
return self._long_types[t]
elif self._headers[column] == "edge":
n = self._lst.get(self._tab, row).edge
n = self._lst.get(self._tab, row).reach
if n is None:
return self._trad['not_associated']
return n.name
+11 -11
View File
@@ -53,14 +53,14 @@ class SetBeginCommand(QUndoCommand):
self._lcs = lcs
self._tab = tab
self._index = index
self._old = self._lcs.get(self._tab, self._index).begin_rk
self._new = float(new_value)
self._old = self._lcs.get(self._tab, self._index).begin_section
self._new = new_value
def undo(self):
self._lcs.get(self._tab, self._index).begin_rk = float(self._old)
self._lcs.get(self._tab, self._index).begin_section = self._old
def redo(self):
self._lcs.get(self._tab, self._index).begin_rk = float(self._new)
self._lcs.get(self._tab, self._index).begin_section = self._new
class SetEndCommand(QUndoCommand):
@@ -70,14 +70,14 @@ class SetEndCommand(QUndoCommand):
self._lcs = lcs
self._tab = tab
self._index = index
self._old = self._lcs.get(self._tab, self._index).end_rk
self._new = float(new_value)
self._old = self._lcs.get(self._tab, self._index).end_section
self._new = new_value
def undo(self):
self._lcs.get(self._tab, self._index).end_rk = float(self._old)
self._lcs.get(self._tab, self._index).end_section = self._old
def redo(self):
self._lcs.get(self._tab, self._index).end_rk = float(self._new)
self._lcs.get(self._tab, self._index).end_section = self._new
class SetEdgeCommand(QUndoCommand):
@@ -87,14 +87,14 @@ class SetEdgeCommand(QUndoCommand):
self._lcs = lcs
self._tab = tab
self._index = index
self._old = self._lcs.get(self._tab, self._index).edge
self._old = self._lcs.get(self._tab, self._index).reach
self._new = edge
def undo(self):
self._lcs.get(self._tab, self._index).edge = self._old
self._lcs.get(self._tab, self._index).reach = self._old
def redo(self):
self._lcs.get(self._tab, self._index).edge = self._new
self._lcs.get(self._tab, self._index).reach = self._new
class SetTypeCommand(QUndoCommand):
+1 -1
View File
@@ -211,7 +211,7 @@ class LateralContributionWindow(PamhyrWindow):
edge = self._study.river\
.lateral_contribution\
.get(tab, rows[0])\
.edge
.reach
if edge:
data = edge.reach
lc = self._lcs.get(tab, rows[0])