diff --git a/src/View/Results/Table.py b/src/View/Results/Table.py
index d6fd109a..55496c7f 100644
--- a/src/View/Results/Table.py
+++ b/src/View/Results/Table.py
@@ -47,10 +47,13 @@ class TableModel(PamhyrTableModel):
_river = self._data.river
if self._opt_data == "reach":
self._lst = _river.reachs
- else:
+ elif self._opt_data == "profile":
+ self._lst = _river.reach(0).profiles
+ elif self._opt_data == "raw_data":
self._lst = _river.reach(0).profiles
def __init__(self, **kwargs):
+ self._timestamp = 0.0
super(TableModel, self).__init__(**kwargs)
def data(self, index, role=Qt.DisplayRole):
@@ -64,13 +67,25 @@ class TableModel(PamhyrTableModel):
if self._headers[column] == "name":
v = self._lst[row].name
return str(v)
- else:
+ elif self._opt_data == "profile":
if self._headers[column] == "name":
v = self._lst[row].name
return str(v)
elif self._headers[column] == "kp":
v = self._lst[row].kp
return f"{v:.4f}"
+ elif self._opt_data == "raw_data":
+ p = self._lst[row]
+ if self._headers[column] == "name":
+ if p.name == "":
+ return f"{p.kp:.4f}"
+ return f"{p.name}"
+ elif self._headers[column] == "water_elevation":
+ v = self._lst[row].get_ts_key(self._timestamp, "Z")
+ return f"{v:.4f}"
+ elif self._headers[column] == "discharge":
+ v = self._lst[row].get_ts_key(self._timestamp, "Q")
+ return f"{v:.4f}"
return QVariant()
@@ -79,7 +94,16 @@ class TableModel(PamhyrTableModel):
if self._opt_data == "reach":
self._lst = _river.reachs
- else:
+ elif self._opt_data == "profile" or self._opt_data == "raw_data":
self._lst = _river.reach(reach).profiles
self.layoutChanged.emit()
+
+ @property
+ def timestamp(self):
+ return self._timestamp
+
+ @timestamp.setter
+ def timestamp(self, timestamp):
+ self._timestamp = timestamp
+ self.layoutChanged.emit()
diff --git a/src/View/Results/Window.py b/src/View/Results/Window.py
index 5781f1bf..7b36c964 100644
--- a/src/View/Results/Window.py
+++ b/src/View/Results/Window.py
@@ -118,7 +118,7 @@ class ResultsWindow(PamhyrWindow):
def setup_table(self):
self._table = {}
- for t in ["reach", "profile"]:
+ for t in ["reach", "profile", "raw_data"]:
table = self.find(QTableView, f"tableView_{t}")
self._table[t] = TableModel(
table_view=table,
@@ -230,44 +230,44 @@ class ResultsWindow(PamhyrWindow):
)
self.plot_h.draw()
- self.canvas_5 = MplCanvas(width=5, height=4, dpi=100)
- self.canvas_5.setObjectName("canvas_5")
- self.toolbar_5 = PamhyrPlotToolbar(
- self.canvas_5, self
- )
- self.plot_layout_5 = self.find(QVBoxLayout, "verticalLayout_sed_reach")
- self.plot_layout_5.addWidget(self.toolbar_5)
- self.plot_layout_5.addWidget(self.canvas_5)
+ # self.canvas_5 = MplCanvas(width=5, height=4, dpi=100)
+ # self.canvas_5.setObjectName("canvas_5")
+ # self.toolbar_5 = PamhyrPlotToolbar(
+ # self.canvas_5, self
+ # )
+ # self.plot_layout_5 = self.find(QVBoxLayout, "verticalLayout_sed_reach")
+ # self.plot_layout_5.addWidget(self.toolbar_5)
+ # self.plot_layout_5.addWidget(self.canvas_5)
- if self._study.river.has_sediment():
- self.plot_sed_reach = PlotSedReach(
- canvas=self.canvas_5,
- results=self._results,
- reach_id=0,
- profile_id=0,
- toolbar=self.toolbar_5
- )
- self.plot_sed_reach.draw()
+ # if self._study.river.has_sediment():
+ # self.plot_sed_reach = PlotSedReach(
+ # canvas=self.canvas_5,
+ # results=self._results,
+ # reach_id=0,
+ # profile_id=0,
+ # toolbar=self.toolbar_5
+ # )
+ # self.plot_sed_reach.draw()
- self.canvas_6 = MplCanvas(width=5, height=4, dpi=100)
- self.canvas_6.setObjectName("canvas_6")
- self.toolbar_6 = PamhyrPlotToolbar(
- self.canvas_6, self
- )
- self.plot_layout_6 = self.find(
- QVBoxLayout, "verticalLayout_sed_profile")
- self.plot_layout_6.addWidget(self.toolbar_6)
- self.plot_layout_6.addWidget(self.canvas_6)
+ # self.canvas_6 = MplCanvas(width=5, height=4, dpi=100)
+ # self.canvas_6.setObjectName("canvas_6")
+ # self.toolbar_6 = PamhyrPlotToolbar(
+ # self.canvas_6, self
+ # )
+ # self.plot_layout_6 = self.find(
+ # QVBoxLayout, "verticalLayout_sed_profile")
+ # self.plot_layout_6.addWidget(self.toolbar_6)
+ # self.plot_layout_6.addWidget(self.canvas_6)
- if self._study.river.has_sediment():
- self.plot_sed_profile = PlotSedProfile(
- canvas=self.canvas_6,
- results=self._results,
- reach_id=0,
- profile_id=0,
- toolbar=self.toolbar_6
- )
- self.plot_sed_profile.draw()
+ # if self._study.river.has_sediment():
+ # self.plot_sed_profile = PlotSedProfile(
+ # canvas=self.canvas_6,
+ # results=self._results,
+ # reach_id=0,
+ # profile_id=0,
+ # toolbar=self.toolbar_6
+ # )
+ # self.plot_sed_profile.draw()
def closeEvent(self, event):
try:
@@ -335,9 +335,10 @@ class ResultsWindow(PamhyrWindow):
fun = {
"reach": self._set_current_reach,
"profile": self._set_current_profile,
+ "raw_data": self._set_current_profile,
}
- for t in ["reach", "profile"]:
+ for t in ["reach", "profile", "raw_data"]:
table = self.find(QTableView, f"tableView_{t}")
table.selectionModel()\
@@ -371,6 +372,7 @@ class ResultsWindow(PamhyrWindow):
table.scrollTo(index)
self._table["profile"].update(ind)
+ self._table["raw_data"].update(ind)
def update_table_selection_profile(self, ind):
table = self.find(QTableView, f"tableView_profile")
@@ -430,6 +432,8 @@ class ResultsWindow(PamhyrWindow):
for plot in self._additional_plot:
self._additional_plot[plot].set_timestamp(timestamp)
+ self._table["raw_data"].timestamp = timestamp
+
self.update_statusbar()
def _get_current_reach(self):
diff --git a/src/View/Results/translate.py b/src/View/Results/translate.py
index 15c6dac0..9dffa6f0 100644
--- a/src/View/Results/translate.py
+++ b/src/View/Results/translate.py
@@ -46,3 +46,9 @@ class ResultsTranslate(PamhyrTranslate):
"name": _translate("Results", "Name"),
"kp": _translate("Results", "KP (m)"),
}
+
+ self._sub_dict["table_headers_raw_data"] = {
+ "name": _translate("Results", "Profile"),
+ "water_elevation": _translate("Results", "Water elevation (m)"),
+ "discharge": _translate("Results", "Discharge (m³/s)"),
+ }
diff --git a/src/View/ui/Results.ui b/src/View/ui/Results.ui
index 7ff3f594..8371b604 100644
--- a/src/View/ui/Results.ui
+++ b/src/View/ui/Results.ui
@@ -57,81 +57,6 @@
- -
-
-
- 0
-
-
-
- Geometry
-
-
-
-
-
-
-
-
-
- Qt::Vertical
-
-
-
- Qt::Horizontal
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hydrograph
-
-
- -
-
-
-
-
-
-
- true
-
-
- Sediment
-
-
- -
-
-
- true
-
-
- Qt::Vertical
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -217,6 +142,65 @@
+ -
+
+
+ 1
+
+
+
+ Raw data
+
+
+
-
+
+
+
+
+
+
+ Water elevation
+
+
+ -
+
+
-
+
+
+ Qt::Vertical
+
+
+
+ Qt::Horizontal
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hydrograph
+
+
+ -
+
+
+
+
+
+
@@ -235,6 +219,9 @@
+
+ true
+
toolBar