Plot: Toolbar: Rename file and class.

mesh
Pierre-Antoine Rouby 2023-09-11 16:23:33 +02:00
parent 45690690d1
commit af72e59830
11 changed files with 95 additions and 75 deletions

View File

@ -42,7 +42,7 @@ from PyQt5.QtWidgets import (
)
from View.Plot.MplCanvas import MplCanvas
from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.BoundaryCondition.translate import long_types
from View.BoundaryCondition.Edit.translate import table_headers
@ -178,7 +178,7 @@ 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.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.verticalLayout.addWidget(self.toolbar)

View File

@ -25,7 +25,8 @@ from PyQt5.QtWidgets import (
QToolBar,
)
from View.Plot import MplCanvas, navigation_toolbar_2qt
from View.Plot import MplCanvas
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
file_path = os.path.abspath(os.path.dirname(__file__))
icon_path = f"{os.path.dirname(os.path.dirname(file_path))}/../View/ui/ressources/"
@ -197,7 +198,7 @@ class Ui_MainWindow(object):
self.canvas = MplCanvas.MplCanvas(width=5, height=4, dpi=100)
self.canvas.setObjectName("canvas")
self.my_toolbar = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
self.my_toolbar = PamhyrPlotToolbar(
self.canvas, self.widget1
)

View File

@ -25,9 +25,9 @@ from PyQt5.QtWidgets import (
QAbstractItemView, QHeaderView, QToolBar,
)
from View.Plot import (
MplCanvas, navigation_toolbar_2qt
)
from View.Plot import MplCanvas
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
file_path = os.path.abspath(os.path.dirname(__file__))
icon_path = f"{os.path.dirname(os.path.dirname(file_path))}/View/ui/ressources/"
@ -190,7 +190,7 @@ class Ui_MainWindow(object):
self.canvas_1 = MplCanvas.MplCanvas(width=5, height=4, dpi=100)
self.canvas_1.setObjectName("canvas_1")
self.toolbar_1 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
self.toolbar_1 = PamhyrPlotToolbar(
self.canvas_1, self.centralwidget,
items = ["home", "zoom", "save", "iso", "back/forward", "move"]
)
@ -207,7 +207,7 @@ class Ui_MainWindow(object):
self.canvas_2 = MplCanvas.MplCanvas(width=5, height=4, dpi=100)
self.canvas_2.setObjectName("canvas_2")
self.toolbar_2 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
self.toolbar_2 = PamhyrPlotToolbar(
self.canvas_2, self.centralwidget,
items = ["home", "zoom", "save", "iso", "back/forward", "move"]
)
@ -223,7 +223,7 @@ class Ui_MainWindow(object):
self.canvas_3 = MplCanvas.MplCanvas(width=5, height=4, dpi=100)
self.canvas_3.setObjectName("canvas_3")
self.toolbar_3 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
self.toolbar_3 = PamhyrPlotToolbar(
self.canvas_3, self.centralwidget,
items = ["home", "zoom", "save", "iso", "back/forward", "move"]
)

View File

@ -49,7 +49,7 @@ 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.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.InitialConditions.PlotDKP import PlotDKP
from View.InitialConditions.PlotDischarge import PlotDischarge
@ -122,7 +122,7 @@ 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.toolbar_1 = PamhyrPlotToolbar(
self.canvas_1, self
)
self.plot_layout_1 = self.find(QVBoxLayout, "verticalLayout_1")
@ -138,7 +138,7 @@ class InitialConditionsWindow(ASubMainWindow, ListedSubWindow):
self.canvas_2 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_2.setObjectName("canvas_2")
self.toolbar_2 = PamHyrNavigationToolbar2QT(
self.toolbar_2 = PamhyrPlotToolbar(
self.canvas_2, self
)
self.plot_layout_2 = self.find(QVBoxLayout, "verticalLayout_2")

View File

@ -38,7 +38,7 @@ from PyQt5.QtWidgets import (
)
from View.Plot.MplCanvas import MplCanvas
from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.LateralContribution.translate import long_types
from View.LateralContribution.Edit.translate import table_headers
@ -118,7 +118,7 @@ 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.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.verticalLayout.addWidget(self.toolbar)

View File

@ -19,10 +19,12 @@
import os
import logging
import matplotlib as mpl
from matplotlib.backends import qt_compat
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QAction
from matplotlib.backends.backend_qt5 import NavigationToolbar2QT
from PyQt5.QtCore import pyqtSignal, QSize
_translate = QtCore.QCoreApplication.translate
@ -31,21 +33,21 @@ logger = logging.getLogger()
file_path = os.path.abspath(os.path.dirname(__file__))
class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
class PamhyrPlotToolbar(NavigationToolbar2QT):
"""
Cette classe est une personnalisation de la toolbar (NavigationToolbar2QT). Elle permet l'internationnalisation et
l'ajout d'autres boutons à la toolbar initiale
MatPlotLib plot toolbar for Pamhyr
"""
isometric_signal = pyqtSignal(str)
def __init__(self, canvas, parent, items = ["home", "move", "zoom", "save"]):
"""
Args:
canvas: canvas de matplotlib
parent: parent du canvas
"""
self.my_canvas = canvas
"""PamhyrPlotToolbar
Args:
canvas: MatPlotLib canvas
parent: parent Qt object
items: Enables items (default: "home", "move", "zoom", "save")
"""
self._canvas = canvas
self._items = items
self.toolitems = [
(None, None, None, None),
@ -118,7 +120,7 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
self.toolitems.append((None, None, None, None))
NavigationToolbar2QT.__init__(self, canvas, parent)
btn_size = QSize(30, 30)
btn_size = QSize(40, 28)
actions = self.findChildren(QAction)
for a, i in icons:
@ -161,18 +163,15 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
QtWidgets.QMessageBox.Ok, QtWidgets.QMessageBox.NoButton
)
def cursor1(self):
logger.info("TODO: cursor1")
def isometric_view(self):
self.my_canvas.axes.axis("equal")
self.my_canvas.figure.canvas.draw_idle()
self._canvas.axes.axis("equal")
self._canvas.figure.canvas.draw_idle()
self.isometric_signal[str].emit("vue iso")
def non_isometric_view(self):
self.my_canvas.axes.axis("tight")
self.my_canvas.toolbar.update()
self.my_canvas.figure.canvas.draw_idle()
self._canvas.axes.axis("tight")
self._canvas.toolbar.update()
self._canvas.figure.canvas.draw_idle()
def toolitems_translation(self):
self._actions['home'].setToolTip(_translate("Toolbar", "Default view"))

View File

@ -43,7 +43,7 @@ from PyQt5.QtWidgets import (
)
from View.Plot.MplCanvas import MplCanvas
from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.Results.PlotXY import PlotXY
from View.Results.PlotAC import PlotAC
@ -131,7 +131,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
def setup_graph(self):
self.canvas = MplCanvas(width=5, height=4, dpi=100)
self.canvas.setObjectName("canvas")
self.toolbar = PamHyrNavigationToolbar2QT(
self.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.plot_layout = self.find(QVBoxLayout, "verticalLayout")
@ -150,7 +150,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
self.canvas_2 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_2.setObjectName("canvas_2")
self.toolbar_2 = PamHyrNavigationToolbar2QT(
self.toolbar_2 = PamhyrPlotToolbar(
self.canvas_2, self
)
self.plot_layout_2 = self.find(QVBoxLayout, "verticalLayout_2")
@ -168,7 +168,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
self.canvas_3 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_3.setObjectName("canvas_3")
self.toolbar_3 = PamHyrNavigationToolbar2QT(
self.toolbar_3 = PamhyrPlotToolbar(
self.canvas_3, self
)
self.plot_layout_3 = self.find(QVBoxLayout, "verticalLayout_3")
@ -186,7 +186,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
self.canvas_4 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_4.setObjectName("canvas_4")
self.toolbar_4 = PamHyrNavigationToolbar2QT(
self.toolbar_4 = PamhyrPlotToolbar(
self.canvas_4, self
)
self.plot_layout_4 = self.find(QVBoxLayout, "verticalLayout_hydrograph")
@ -204,7 +204,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
self.canvas_5 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_5.setObjectName("canvas_5")
self.toolbar_5 = PamHyrNavigationToolbar2QT(
self.toolbar_5 = PamhyrPlotToolbar(
self.canvas_5, self
)
self.plot_layout_5 = self.find(QVBoxLayout, "verticalLayout_sed_reach")
@ -224,7 +224,7 @@ class ResultsWindow(ASubMainWindow, ListedSubWindow):
self.canvas_6 = MplCanvas(width=5, height=4, dpi=100)
self.canvas_6.setObjectName("canvas_6")
self.toolbar_6 = PamHyrNavigationToolbar2QT(
self.toolbar_6 = PamhyrPlotToolbar(
self.canvas_6, self
)
self.plot_layout_6 = self.find(QVBoxLayout, "verticalLayout_sed_profile")

View File

@ -41,7 +41,7 @@ from PyQt5.QtWidgets import (
)
from View.Plot.MplCanvas import MplCanvas
from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.SedimentLayers.Edit.UndoCommand import *
from View.SedimentLayers.Edit.Table import *
@ -106,7 +106,7 @@ 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.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.plot_layout = self.find(QVBoxLayout, "verticalLayout")

View File

@ -29,7 +29,7 @@ from View.SedimentLayers.Reach.Profile.Table import *
from View.SedimentLayers.Reach.Profile.Plot import Plot
from View.Plot.MplCanvas import MplCanvas
from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.SedimentLayers.Reach.Profile.translate import *
from View.SedimentLayers.Window import SedimentLayersWindow
@ -110,7 +110,7 @@ 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.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.plot_layout = self.find(QVBoxLayout, "verticalLayout")

View File

@ -30,7 +30,7 @@ from View.SedimentLayers.Reach.Plot import Plot
from View.SedimentLayers.Reach.SLDialog import SLDialog
from View.Plot.MplCanvas import MplCanvas
from View.Plot.navigation_toolbar_2qt import PamHyrNavigationToolbar2QT
from View.Plot.PamhyrToolbar import PamhyrPlotToolbar
from View.SedimentLayers.Reach.translate import *
from View.SedimentLayers.Window import SedimentLayersWindow
@ -98,7 +98,7 @@ 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.toolbar = PamhyrPlotToolbar(
self.canvas, self
)
self.plot_layout = self.find(QVBoxLayout, "verticalLayout_2")

View File

@ -11,7 +11,7 @@
<context>
<name>BoundaryCondition</name>
<message>
<location filename="../View/BoundaryCondition/Table.py" line="143"/>
<location filename="../View/BoundaryCondition/Table.py" line="132"/>
<source>Not associate</source>
<translation>Non associer</translation>
</message>
@ -607,7 +607,7 @@
<translation>Commentaire</translation>
</message>
<message>
<location filename="../View/LateralContribution/Table.py" line="141"/>
<location filename="../View/LateralContribution/Table.py" line="130"/>
<source>Not associate</source>
<translation>Non associer</translation>
</message>
@ -1558,17 +1558,17 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="223"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="224"/>
<source>MainWindowProfile</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="227"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="228"/>
<source>Trier les points par ordre croissant de X</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="231"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="232"/>
<source>Trier les points par ordre croissant de Y</source>
<translation type="unfinished"></translation>
</message>
@ -1635,67 +1635,67 @@
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="224"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="225"/>
<source>Insérer un point</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="225"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="226"/>
<source>Supprimer le/les point(s) sélectionnés</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="229"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="230"/>
<source>Trier les points par ordre décroissant de X</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="234"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="235"/>
<source>Trier les points par ordre décroissant de Y</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="236"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="237"/>
<source>Décaler le point sélectionné vers le haut</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="238"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="239"/>
<source>Décaler le point sélectionné vers le bas</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="240"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="241"/>
<source>Exporter (dans un fichier) les points du profil au format tabulé</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="242"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="243"/>
<source>Copier la sélection au format tabulé</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="244"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="245"/>
<source>Coller la sélection depuis le presse-papier au format tabulé</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="246"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="247"/>
<source>Vérifier la validité de la saisie et garder ou pas les modifications apportées</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="249"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="250"/>
<source>Annuler toutes les modifications depuis la dernière validation</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="251"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="252"/>
<source>Annuler toutes les modifications et revenir à l&apos;état initial</source>
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="253"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="254"/>
<source>Ligne d&apos;eau :
<byte value="x9"/>Z : Cote (m)
<byte value="x9"/>A : Aire mouillée (mu00B2)
@ -1704,7 +1704,7 @@
<translation type="unfinished"></translation>
</message>
<message encoding="UTF-8">
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="257"/>
<location filename="../View/Geometry/Profile/mainwindow_ui_profile.py" line="258"/>
<source>&apos;Maj + Clic&apos; : Ligne d&apos;eau &amp; &apos;Ctrl + Clic&apos; : Sélectionner des points</source>
<translation type="unfinished"></translation>
</message>
@ -1965,7 +1965,7 @@ Seuls les 5 premiers seront édités.</source>
<translation type="unfinished">Hauteur (m)</translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="146"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="148"/>
<source>Select destination file</source>
<translation type="unfinished"></translation>
</message>
@ -2007,6 +2007,26 @@ Seuls les 5 premiers seront édités.</source>
<source>Reverse the reach orientation</source>
<translation>Inverser l&apos;orientation du bief</translation>
</message>
<message>
<location filename="../View/Network/translate.py" line="29"/>
<source>Name</source>
<translation type="unfinished">Nom</translation>
</message>
<message>
<location filename="../View/Network/translate.py" line="25"/>
<source>Type</source>
<translation type="unfinished">Type</translation>
</message>
<message>
<location filename="../View/Network/translate.py" line="30"/>
<source>Source node</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Network/translate.py" line="31"/>
<source>Destination node</source>
<translation type="unfinished"></translation>
</message>
</context>
<context encoding="UTF-8">
<name>Results</name>
@ -2324,42 +2344,42 @@ Seuls les 5 premiers seront édités.</source>
<context>
<name>Toolbar</name>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="182"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="181"/>
<source>Zoom</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="178"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="177"/>
<source>Default view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="179"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="178"/>
<source>Back to previous view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="180"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="179"/>
<source>Return to next view</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="181"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="180"/>
<source>Axes panoramic</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="184"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="183"/>
<source>Isometric view (Shift+W)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="185"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="184"/>
<source>Auto scale view (Shift+X)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../View/Plot/navigation_toolbar_2qt.py" line="183"/>
<location filename="../View/Plot/PamhyrToolbar.py" line="182"/>
<source>Save the figure</source>
<translation type="unfinished"></translation>
</message>