From 2de2c8e077e369232cdb351d2f528acb64945072 Mon Sep 17 00:00:00 2001 From: Pierre-Antoine Rouby <pierre-antoine.rouby@inrae.fr> Date: Wed, 23 Aug 2023 16:17:45 +0200 Subject: [PATCH] Pamhyr: Add plot toolbar in most of window. --- src/View/BoundaryCondition/Edit/Window.py | 6 +++++ src/View/InitialConditions/Window.py | 14 +++++++++-- src/View/LateralContribution/Edit/Window.py | 6 +++++ src/View/Results/PlotH.py | 2 +- src/View/SedimentLayers/Edit/Window.py | 23 ++++++++++++++++++- .../SedimentLayers/Reach/Profile/Window.py | 9 ++++++-- src/View/SedimentLayers/Reach/Window.py | 9 ++++++-- 7 files changed, 61 insertions(+), 8 deletions(-) diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py index efcf0993..652aa22d 100644 --- a/src/View/BoundaryCondition/Edit/Window.py +++ b/src/View/BoundaryCondition/Edit/Window.py @@ -37,6 +37,7 @@ from PyQt5.QtWidgets import ( ) from View.Plot.MplCanvas import MplCanvas +from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT from View.BoundaryCondition.translate import long_types from View.BoundaryCondition.Edit.Table import TableModel, ExTimeDelegate @@ -110,12 +111,17 @@ class EditBoundaryConditionWindow(ASubMainWindow, ListedSubWindow): def setup_plot(self): self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas.setObjectName("canvas") + self.toolbar = PamHyrNavigationToolbar2QT( + self.canvas, self + ) + self.verticalLayout.addWidget(self.toolbar) self.verticalLayout.addWidget(self.canvas) self.plot = Plot( canvas = self.canvas, data = self._data, mode = self._study.time_system, + toolbar = self.toolbar, ) self.plot.draw() diff --git a/src/View/InitialConditions/Window.py b/src/View/InitialConditions/Window.py index 95f6004a..2d4e8077 100644 --- a/src/View/InitialConditions/Window.py +++ b/src/View/InitialConditions/Window.py @@ -49,6 +49,8 @@ from View.InitialConditions.UndoCommand import ( from View.InitialConditions.Table import TableModel, ComboBoxDelegate from View.Plot.MplCanvas import MplCanvas +from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT + from View.InitialConditions.PlotDKP import PlotDKP from View.InitialConditions.PlotDischarge import PlotDischarge from View.InitialConditions.translate import * @@ -120,25 +122,33 @@ class InitialConditionsWindow(ASubMainWindow, ListedSubWindow): def setup_graph(self): self.canvas_1 = MplCanvas(width=5, height=4, dpi=100) self.canvas_1.setObjectName("canvas_1") + self.toolbar_1 = PamHyrNavigationToolbar2QT( + self.canvas_1, self + ) self.plot_layout_1 = self.find(QVBoxLayout, "verticalLayout_1") + self.plot_layout_1.addWidget(self.toolbar_1) self.plot_layout_1.addWidget(self.canvas_1) self.plot_1 = PlotDKP( canvas = self.canvas_1, data = self._ics, - toolbar = None, + toolbar = self.toolbar_1, ) self.plot_1.draw() self.canvas_2 = MplCanvas(width=5, height=4, dpi=100) self.canvas_2.setObjectName("canvas_2") + self.toolbar_2 = PamHyrNavigationToolbar2QT( + self.canvas_2, self + ) self.plot_layout_2 = self.find(QVBoxLayout, "verticalLayout_2") + self.plot_layout_2.addWidget(self.toolbar_2) self.plot_layout_2.addWidget(self.canvas_2) self.plot_2 = PlotDischarge( canvas = self.canvas_2, data = self._ics, - toolbar = None, + toolbar = self.toolbar_2, ) self.plot_2.draw() diff --git a/src/View/LateralContribution/Edit/Window.py b/src/View/LateralContribution/Edit/Window.py index 3a801591..413667d0 100644 --- a/src/View/LateralContribution/Edit/Window.py +++ b/src/View/LateralContribution/Edit/Window.py @@ -37,6 +37,7 @@ from PyQt5.QtWidgets import ( ) from View.Plot.MplCanvas import MplCanvas +from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT from View.LateralContribution.translate import long_types from View.LateralContribution.Edit.Table import TableModel, ExTimeDelegate @@ -110,12 +111,17 @@ class EditLateralContributionWindow(ASubMainWindow, ListedSubWindow): def setup_plot(self): self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas.setObjectName("canvas") + self.toolbar = PamHyrNavigationToolbar2QT( + self.canvas, self + ) + self.verticalLayout.addWidget(self.toolbar) self.verticalLayout.addWidget(self.canvas) self.plot = Plot( canvas = self.canvas, data = self._data, mode = self._study.time_system, + toolbar = self.toolbar, ) self.plot.draw() diff --git a/src/View/Results/PlotH.py b/src/View/Results/PlotH.py index 47c3f1bf..557c7cec 100644 --- a/src/View/Results/PlotH.py +++ b/src/View/Results/PlotH.py @@ -101,7 +101,7 @@ class PlotH(APlot): return self.canvas.axes.set_ylim( - [min(min(y),0), max(y)] + [min(min(y),0), max(y) + 10] ) self._line = [ diff --git a/src/View/SedimentLayers/Edit/Window.py b/src/View/SedimentLayers/Edit/Window.py index 965895d2..ac141ce7 100644 --- a/src/View/SedimentLayers/Edit/Window.py +++ b/src/View/SedimentLayers/Edit/Window.py @@ -1,3 +1,19 @@ +# Window.py -- Pamhyr +# Copyright (C) 2023 INRAE +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/>. + # -*- coding: utf-8 -*- import logging @@ -25,6 +41,7 @@ from PyQt5.QtWidgets import ( ) from View.Plot.MplCanvas import MplCanvas +from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT from View.SedimentLayers.Edit.UndoCommand import * from View.SedimentLayers.Edit.Table import * @@ -89,7 +106,11 @@ class EditSedimentLayersWindow(ASubMainWindow, ListedSubWindow): def setup_graph(self): self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas.setObjectName("canvas") + self.toolbar = PamHyrNavigationToolbar2QT( + self.canvas, self + ) self.plot_layout = self.find(QVBoxLayout, "verticalLayout") + self.plot_layout.addWidget(self.toolbar) self.plot_layout.addWidget(self.canvas) self._set_plot() @@ -97,7 +118,7 @@ class EditSedimentLayersWindow(ASubMainWindow, ListedSubWindow): self.plot = Plot( canvas = self.canvas, data = self._sl, - toolbar = None, + toolbar = self.toolbar, display_current = False ) self.plot.draw() diff --git a/src/View/SedimentLayers/Reach/Profile/Window.py b/src/View/SedimentLayers/Reach/Profile/Window.py index d1dd5e69..aafd719b 100644 --- a/src/View/SedimentLayers/Reach/Profile/Window.py +++ b/src/View/SedimentLayers/Reach/Profile/Window.py @@ -29,8 +29,9 @@ from View.SedimentLayers.Reach.Profile.Table import * from View.SedimentLayers.Reach.Profile.Plot import Plot from View.Plot.MplCanvas import MplCanvas -from View.SedimentLayers.Reach.Profile.translate import * +from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT +from View.SedimentLayers.Reach.Profile.translate import * from View.SedimentLayers.Window import SedimentLayersWindow _translate = QCoreApplication.translate @@ -109,7 +110,11 @@ class ProfileSedimentLayersWindow(ASubMainWindow, ListedSubWindow): def setup_graph(self): self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas.setObjectName("canvas") + self.toolbar = PamHyrNavigationToolbar2QT( + self.canvas, self + ) self.plot_layout = self.find(QVBoxLayout, "verticalLayout") + self.plot_layout.addWidget(self.toolbar) self.plot_layout.addWidget(self.canvas) self._update_plot() @@ -118,7 +123,7 @@ class ProfileSedimentLayersWindow(ASubMainWindow, ListedSubWindow): self.plot = Plot( canvas = self.canvas, data = self._profile, - toolbar = None, + toolbar = self.toolbar, display_current = False ) self.plot.draw() diff --git a/src/View/SedimentLayers/Reach/Window.py b/src/View/SedimentLayers/Reach/Window.py index ee477edc..f70049ae 100644 --- a/src/View/SedimentLayers/Reach/Window.py +++ b/src/View/SedimentLayers/Reach/Window.py @@ -30,8 +30,9 @@ from View.SedimentLayers.Reach.Plot import Plot from View.SedimentLayers.Reach.SLDialog import SLDialog from View.Plot.MplCanvas import MplCanvas -from View.SedimentLayers.Reach.translate import * +from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT +from View.SedimentLayers.Reach.translate import * from View.SedimentLayers.Window import SedimentLayersWindow from View.SedimentLayers.Reach.Profile.Window import ProfileSedimentLayersWindow @@ -97,7 +98,11 @@ class ReachSedimentLayersWindow(ASubMainWindow, ListedSubWindow): def setup_graph(self): self.canvas = MplCanvas(width=5, height=4, dpi=100) self.canvas.setObjectName("canvas") + self.toolbar = PamHyrNavigationToolbar2QT( + self.canvas, self + ) self.plot_layout = self.find(QVBoxLayout, "verticalLayout_2") + self.plot_layout.addWidget(self.toolbar) self.plot_layout.addWidget(self.canvas) self._update_plot() @@ -106,7 +111,7 @@ class ReachSedimentLayersWindow(ASubMainWindow, ListedSubWindow): self.plot = Plot( canvas = self.canvas, data = self._reach, - toolbar = None, + toolbar = self.toolbar, display_current = False ) self.plot.draw() -- GitLab