mirror of https://gitlab.com/pamhyr/pamhyr2
enable multiple profiles in discharge visualization window
parent
e576bb15f1
commit
46738cec6b
|
|
@ -29,7 +29,7 @@ _translate = QCoreApplication.translate
|
||||||
|
|
||||||
class PlotAC(PamhyrPlot):
|
class PlotAC(PamhyrPlot):
|
||||||
def __init__(self, canvas=None, trad=None, toolbar=None,
|
def __init__(self, canvas=None, trad=None, toolbar=None,
|
||||||
results=None, reach_id=0, profile_id=0, res_id=0,
|
results=None, reach_id=0, profile_id=[0], res_id=[0],
|
||||||
parent=None):
|
parent=None):
|
||||||
super(PlotAC, self).__init__(
|
super(PlotAC, self).__init__(
|
||||||
canvas=canvas,
|
canvas=canvas,
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ logger = logging.getLogger()
|
||||||
|
|
||||||
class PlotH(PamhyrPlot):
|
class PlotH(PamhyrPlot):
|
||||||
def __init__(self, canvas=None, trad=None, toolbar=None,
|
def __init__(self, canvas=None, trad=None, toolbar=None,
|
||||||
results=None, reach_id=0, profile_id=0, res_id=[0],
|
results=None, reach_id=0, profile_id=[0], res_id=[0],
|
||||||
parent=None):
|
parent=None):
|
||||||
super(PlotH, self).__init__(
|
super(PlotH, self).__init__(
|
||||||
canvas=canvas,
|
canvas=canvas,
|
||||||
|
|
@ -127,7 +127,8 @@ class PlotH(PamhyrPlot):
|
||||||
|
|
||||||
results = self.results[res_id]
|
results = self.results[res_id]
|
||||||
reach = results.river.reach(self._current_reach_id)
|
reach = results.river.reach(self._current_reach_id)
|
||||||
profile = reach.profile(self._current_profile_id)
|
for i, p in enumerate(self._current_profile_id):
|
||||||
|
profile = reach.profile(p)
|
||||||
|
|
||||||
x = self._timestamps
|
x = self._timestamps
|
||||||
y = profile.get_key("Q")
|
y = profile.get_key("Q")
|
||||||
|
|
@ -145,6 +146,7 @@ class PlotH(PamhyrPlot):
|
||||||
x, y,
|
x, y,
|
||||||
label=label,
|
label=label,
|
||||||
color=self.colors[res_id + 1],
|
color=self.colors[res_id + 1],
|
||||||
|
linestyle=self.linestyle[i % len(self.linestyle)],
|
||||||
**self.plot_default_kargs
|
**self.plot_default_kargs
|
||||||
)
|
)
|
||||||
self._line.append(line)
|
self._line.append(line)
|
||||||
|
|
@ -162,7 +164,6 @@ class PlotH(PamhyrPlot):
|
||||||
def draw_max(self, res_id):
|
def draw_max(self, res_id):
|
||||||
results = self.results[res_id]
|
results = self.results[res_id]
|
||||||
reach = results.river.reach(self._current_reach_id)
|
reach = results.river.reach(self._current_reach_id)
|
||||||
profile = reach.profile(self._current_profile_id)
|
|
||||||
|
|
||||||
if reach.geometry.number_profiles == 0:
|
if reach.geometry.number_profiles == 0:
|
||||||
self._init = False
|
self._init = False
|
||||||
|
|
@ -194,12 +195,13 @@ class PlotH(PamhyrPlot):
|
||||||
|
|
||||||
def set_reach(self, reach_id):
|
def set_reach(self, reach_id):
|
||||||
self._current_reach_id = reach_id
|
self._current_reach_id = reach_id
|
||||||
self._current_profile_id = 0
|
self._current_profile_id = [0]
|
||||||
self.draw()
|
self.draw()
|
||||||
|
|
||||||
def set_profile(self, profile_id):
|
def set_profile(self, profile_id):
|
||||||
self._current_profile_id = profile_id
|
self._current_profile_id = profile_id
|
||||||
self.update()
|
# self.update()
|
||||||
|
self.draw()
|
||||||
|
|
||||||
def set_result(self, res_id):
|
def set_result(self, res_id):
|
||||||
self._current_res_id = res_id
|
self._current_res_id = res_id
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ class ResultsWindow(PamhyrWindow):
|
||||||
return
|
return
|
||||||
|
|
||||||
self.update(reach_id=0,
|
self.update(reach_id=0,
|
||||||
profile_id=0)
|
profile_id=[0])
|
||||||
|
|
||||||
self.update_table_selection_solver(0)
|
self.update_table_selection_solver(0)
|
||||||
|
|
||||||
|
|
@ -269,7 +269,7 @@ class ResultsWindow(PamhyrWindow):
|
||||||
canvas=self.canvas_4,
|
canvas=self.canvas_4,
|
||||||
results=self._results,
|
results=self._results,
|
||||||
reach_id=0,
|
reach_id=0,
|
||||||
profile_id=0,
|
profile_id=[0],
|
||||||
res_id=self._current_results,
|
res_id=self._current_results,
|
||||||
trad=self._trad,
|
trad=self._trad,
|
||||||
toolbar=self.toolbar_4,
|
toolbar=self.toolbar_4,
|
||||||
|
|
@ -432,15 +432,15 @@ class ResultsWindow(PamhyrWindow):
|
||||||
self.update_table_selection_profile(0)
|
self.update_table_selection_profile(0)
|
||||||
|
|
||||||
if profile_id is not None:
|
if profile_id is not None:
|
||||||
self.plot_xy.set_profile(profile_id)
|
self.plot_xy.set_profile(profile_id[0])
|
||||||
self.plot_ac.set_profile(profile_id)
|
self.plot_ac.set_profile(profile_id[0])
|
||||||
self.plot_rkc.set_profile(profile_id)
|
self.plot_rkc.set_profile(profile_id[0])
|
||||||
self.plot_h.set_profile(profile_id)
|
self.plot_h.set_profile(profile_id)
|
||||||
|
|
||||||
for plot in self._additional_plot:
|
for plot in self._additional_plot:
|
||||||
self._additional_plot[plot].set_profile(profile_id)
|
self._additional_plot[plot].set_profile(profile_id[0])
|
||||||
|
|
||||||
self.update_table_selection_profile(profile_id)
|
# self.update_table_selection_profile(profile_id[0])
|
||||||
|
|
||||||
if solver_id is not None:
|
if solver_id is not None:
|
||||||
self._current_results = solver_id
|
self._current_results = solver_id
|
||||||
|
|
@ -481,6 +481,14 @@ class ResultsWindow(PamhyrWindow):
|
||||||
|
|
||||||
return indexes[0].row()
|
return indexes[0].row()
|
||||||
|
|
||||||
|
def _get_current_profiles_list(self):
|
||||||
|
table = self.find(QTableView, f"tableView_profile")
|
||||||
|
indexes = table.selectedIndexes()
|
||||||
|
if len(indexes) == 0:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
return [i.row() for i in indexes]
|
||||||
|
|
||||||
def _get_current_timestamp(self):
|
def _get_current_timestamp(self):
|
||||||
return self._timestamps[
|
return self._timestamps[
|
||||||
self._slider_time.value()
|
self._slider_time.value()
|
||||||
|
|
@ -496,12 +504,11 @@ class ResultsWindow(PamhyrWindow):
|
||||||
|
|
||||||
def _set_current_profile(self):
|
def _set_current_profile(self):
|
||||||
table = self.find(QTableView, f"tableView_profile")
|
table = self.find(QTableView, f"tableView_profile")
|
||||||
indexes = table.selectedIndexes()
|
indexes = table.selectionModel().selectedRows()
|
||||||
if len(indexes) == 0:
|
if len(indexes) == 0:
|
||||||
return
|
return
|
||||||
|
|
||||||
ind = indexes[0].row()
|
self.update(profile_id=[i.row() for i in indexes])
|
||||||
self.update(profile_id=ind)
|
|
||||||
|
|
||||||
def _set_current_profile_raw_data(self):
|
def _set_current_profile_raw_data(self):
|
||||||
return
|
return
|
||||||
|
|
@ -545,6 +552,8 @@ class ResultsWindow(PamhyrWindow):
|
||||||
self._reload_slider()
|
self._reload_slider()
|
||||||
|
|
||||||
def _add_custom_plot(self):
|
def _add_custom_plot(self):
|
||||||
|
profile_id = self._get_current_profile()
|
||||||
|
self.update_table_selection_profile(profile_id)
|
||||||
dlg = CustomPlotValuesSelectionDialog(parent=self)
|
dlg = CustomPlotValuesSelectionDialog(parent=self)
|
||||||
if dlg.exec():
|
if dlg.exec():
|
||||||
x, y, envelop = dlg.value
|
x, y, envelop = dlg.value
|
||||||
|
|
@ -665,6 +674,8 @@ class ResultsWindow(PamhyrWindow):
|
||||||
self._button_play.setIcon(self._icon_start)
|
self._button_play.setIcon(self._icon_start)
|
||||||
|
|
||||||
def _export(self):
|
def _export(self):
|
||||||
|
profile_id = self._get_current_profile()
|
||||||
|
self.update_table_selection_profile(profile_id)
|
||||||
|
|
||||||
dlg = CustomExportDialog(parent=self)
|
dlg = CustomExportDialog(parent=self)
|
||||||
if dlg.exec():
|
if dlg.exec():
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue