mirror of https://gitlab.com/pamhyr/pamhyr2
Results: Add 'raw_data' tab and delete sediment tab.
parent
7760181baa
commit
065d94eb4a
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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)"),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -57,81 +57,6 @@
|
|||
</widget>
|
||||
<widget class="QWidget" name="layoutWidget">
|
||||
<layout class="QGridLayout" name="gridLayout_2">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>0</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Geometry</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout"/>
|
||||
</widget>
|
||||
<widget class="QWidget" name="verticalLayoutWidget_2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2"/>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="verticalLayoutWidget_3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3"/>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Hydrograph</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_hydrograph"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_3">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<attribute name="title">
|
||||
<string>Sediment</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<widget class="QSplitter" name="splitter_5">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget_4">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_sed_reach"/>
|
||||
</widget>
|
||||
<widget class="QWidget" name="verticalLayoutWidget_5">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_sed_profile"/>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="0">
|
||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||
<item>
|
||||
|
|
@ -217,6 +142,65 @@
|
|||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
<item row="0" column="0">
|
||||
<widget class="QTabWidget" name="tabWidget">
|
||||
<property name="currentIndex">
|
||||
<number>1</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="tab_4">
|
||||
<attribute name="title">
|
||||
<string>Raw data</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_5">
|
||||
<item row="0" column="0">
|
||||
<widget class="QTableView" name="tableView_raw_data"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab">
|
||||
<attribute name="title">
|
||||
<string>Water elevation</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_4">
|
||||
<item>
|
||||
<widget class="QSplitter" name="splitter_2">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Vertical</enum>
|
||||
</property>
|
||||
<widget class="QSplitter" name="splitter">
|
||||
<property name="orientation">
|
||||
<enum>Qt::Horizontal</enum>
|
||||
</property>
|
||||
<widget class="QWidget" name="verticalLayoutWidget">
|
||||
<layout class="QVBoxLayout" name="verticalLayout"/>
|
||||
</widget>
|
||||
<widget class="QWidget" name="verticalLayoutWidget_2">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2"/>
|
||||
</widget>
|
||||
</widget>
|
||||
<widget class="QWidget" name="verticalLayoutWidget_3">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_3"/>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
<widget class="QWidget" name="tab_2">
|
||||
<attribute name="title">
|
||||
<string>Hydrograph</string>
|
||||
</attribute>
|
||||
<layout class="QGridLayout" name="gridLayout_4">
|
||||
<item row="0" column="0">
|
||||
<layout class="QVBoxLayout" name="verticalLayout_hydrograph"/>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</widget>
|
||||
|
|
@ -235,6 +219,9 @@
|
|||
</widget>
|
||||
<widget class="QStatusBar" name="statusbar"/>
|
||||
<widget class="QToolBar" name="toolBar">
|
||||
<property name="enabled">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>toolBar</string>
|
||||
</property>
|
||||
|
|
|
|||
Loading…
Reference in New Issue