diff --git a/src/View/Geometry/PlotAC.py b/src/View/Geometry/PlotAC.py index cccffe24..a8892814 100644 --- a/src/View/Geometry/PlotAC.py +++ b/src/View/Geometry/PlotAC.py @@ -82,12 +82,14 @@ class PlotAC(PamhyrPlot): label=self.label_previous_plot_selected, lw=1.5, linestyle='--', color=self.color_plot_previous ) + #self.previous_plot_selected.set_visible(False) self.plot_selected, = self.canvas.axes.plot( station, elevation, label=self.label_plot_selected, color=self.color_plot_current, lw=1.5 ) + #self.plot_selected.set_visible(False) next_id = profile_id + 1 station_next = self.data.profile(next_id).get_station() @@ -98,6 +100,8 @@ class PlotAC(PamhyrPlot): label=self.label_next_plot_selected, color=self.color_plot_next, lw=1.6, linestyle='--' ) + #self.next_plot_selected.set_visible(False) + self.canvas.axes.set_visible(False) def draw_gl(self): if self._current_data_update: @@ -106,6 +110,7 @@ class PlotAC(PamhyrPlot): profile_id = 0 profile = self.data.profile(profile_id) + if profile == None: return station = profile.get_station() elevation = profile.z() gl = profile.names() @@ -160,6 +165,9 @@ class PlotAC(PamhyrPlot): self.draw() return + if self.data is None: + return + self.update_current() self.update_gl() @@ -171,6 +179,10 @@ class PlotAC(PamhyrPlot): previous_id = profile_id - 1 next_id = profile_id + 1 + self.previous_plot_selected.set_visible(False) + self.plot_selected.set_visible(False) + self.next_plot_selected.set_visible(False) + self.previous_plot_selected.set_data([], []) self.plot_selected.set_data([], []) self.next_plot_selected.set_data([], []) @@ -180,18 +192,25 @@ class PlotAC(PamhyrPlot): self.data.profile(previous_id).get_station(), self.data.profile(previous_id).z() ) + self.previous_plot_selected.set_visible(True) + #self.canvas.axes.legend() if 0 <= profile_id < self.data.number_profiles: self.plot_selected.set_data( self.data.profile(profile_id).get_station(), self.data.profile(profile_id).z() ) + self.plot_selected.set_visible(True) + #self.canvas.axes.legend() if 0 <= next_id < self.data.number_profiles: self.next_plot_selected.set_data( self.data.profile(next_id).get_station(), self.data.profile(next_id).z() ) + self.next_plot_selected.set_visible(True) + #self.canvas.axes.legend() + self.canvas.axes.set_visible(True) def update_full(self): self.draw() diff --git a/src/View/Geometry/Window.py b/src/View/Geometry/Window.py index bf9079f2..b624aa1c 100644 --- a/src/View/Geometry/Window.py +++ b/src/View/Geometry/Window.py @@ -157,6 +157,7 @@ class GeometryWindow(PamhyrWindow): def _compute_status_label(self): row = self.index_selected_row() + if row == None: return profile = self._reach.profile(row) name = profile.name + " " + str(profile.kp) @@ -402,7 +403,7 @@ class GeometryWindow(PamhyrWindow): def update_plot_ac(self, ind: int): self.tableView.model().blockSignals(True) - self._plot_ac.current = ind + #self._plot_ac.current = ind self._plot_ac.update() self.tableView.model().blockSignals(False) @@ -446,10 +447,8 @@ class GeometryWindow(PamhyrWindow): def select_current_profile(self): self.tableView.model().blockSignals(True) - - if len(self.tableView.selectedIndexes()) > 0: - row = self.index_selected_row() - + row = self.index_selected_row() + if row != None: self.find(QSlider, "verticalSlider").setValue(row) self.select_plot_xy(row) self.select_plot_kpc(row) @@ -508,10 +507,14 @@ class GeometryWindow(PamhyrWindow): self._table.delete(rows) def index_selected_row(self): - return self.tableView\ - .selectionModel()\ - .selectedRows()[0]\ - .row() + r = self.tableView\ + .selectionModel()\ + .selectedRows() + + if len(r) > 0: + return r[0].row() + else: + return None def sort_ascending(self): self._table.sort_profiles(False) @@ -526,11 +529,13 @@ class GeometryWindow(PamhyrWindow): def move_up(self): row = self.index_selected_row() + if row == None: return self._table.move_up(row) self.select_current_profile() def move_down(self): row = self.index_selected_row() + if row == None: return self._table.move_down(row) self.select_current_profile()