mirror of https://gitlab.com/pamhyr/pamhyr2
Plot: More flexible matplotlib toolbar.
parent
0d105f7488
commit
98c5a6b610
|
|
@ -191,7 +191,8 @@ class Ui_MainWindow(object):
|
|||
self.canvas_1.setObjectName("canvas_1")
|
||||
|
||||
self.toolbar_1 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
|
||||
self.canvas_1, self.centralwidget
|
||||
self.canvas_1, self.centralwidget,
|
||||
items = ["home", "zoom", "save", "iso", "back/forward", "move"]
|
||||
)
|
||||
|
||||
self.verticalLayout_canvas_1.addWidget(self.toolbar_1)
|
||||
|
|
@ -207,7 +208,8 @@ class Ui_MainWindow(object):
|
|||
self.canvas_2.setObjectName("canvas_2")
|
||||
|
||||
self.toolbar_2 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
|
||||
self.canvas_2, self.centralwidget
|
||||
self.canvas_2, self.centralwidget,
|
||||
items = ["home", "zoom", "save", "iso", "back/forward", "move"]
|
||||
)
|
||||
|
||||
self.verticalLayout_canvas_2.addWidget(self.toolbar_2)
|
||||
|
|
@ -222,7 +224,8 @@ class Ui_MainWindow(object):
|
|||
self.canvas_3.setObjectName("canvas_3")
|
||||
|
||||
self.toolbar_3 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
|
||||
self.canvas_3, self.centralwidget
|
||||
self.canvas_3, self.centralwidget,
|
||||
items = ["home", "zoom", "save", "iso", "back/forward", "move"]
|
||||
)
|
||||
|
||||
self.verticalLayout_canvas_3.addWidget(self.toolbar_3)
|
||||
|
|
|
|||
|
|
@ -38,56 +38,64 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
|
|||
"""
|
||||
isometric_signal = pyqtSignal(str)
|
||||
|
||||
def __init__(self, canvas, parent):
|
||||
def __init__(self, canvas, parent, items = ["home", "move", "zoom", "save"]):
|
||||
"""
|
||||
Args:
|
||||
canvas: canvas de matplotlib
|
||||
parent: parent du canvas
|
||||
"""
|
||||
self.my_canvas = canvas
|
||||
|
||||
self._items = items
|
||||
self.toolitems = [
|
||||
(None, None, None, None),
|
||||
|
||||
('Home', _translate("Toolbar", 'Vue originale'), 'home', 'home'),
|
||||
(None, None, None, None),
|
||||
|
||||
('Back', _translate("Toolbar", 'Retour à la vue précédente'), 'back', 'back'),
|
||||
('Forward', _translate("Toolbar", 'Passer à la vue suivante'), 'forward', 'forward'),
|
||||
(None, None, None, None),
|
||||
|
||||
('Pan', _translate(
|
||||
"Toolbar",
|
||||
'Panoramique des axes avec la souris gauche, zoom avec la droite'
|
||||
), 'move', 'pan'),
|
||||
(None, None, None, None),
|
||||
|
||||
('Zoom', _translate("Toolbar", 'Zoom'), 'zoom_to_rect', 'zoom'),
|
||||
(None, None, None, None),
|
||||
|
||||
('Isometric_view', _translate(
|
||||
"Toolbar", 'Vue isométrique (Shift+W)'
|
||||
), '', 'isometric_view'),
|
||||
(None, None, None, None),
|
||||
|
||||
('GlobalView', _translate(
|
||||
"Toolbar", 'Vue globale automatique (Shift+X)'
|
||||
), '', 'non_isometric_view'),
|
||||
|
||||
(None, None, None, None),
|
||||
|
||||
('Save', _translate(
|
||||
"Toolbar", 'Enregistrer la figure'
|
||||
), 'filesave', 'save_figure'),
|
||||
(None, None, None, None),
|
||||
]
|
||||
|
||||
NavigationToolbar2QT.__init__(self, canvas, parent)
|
||||
btn_size = QSize(30, 30)
|
||||
icons = []
|
||||
|
||||
if "home" in items:
|
||||
self.toolitems.append(('Home', _translate("Toolbar", 'Default view'), 'home', 'home'))
|
||||
self.toolitems.append((None, None, None, None))
|
||||
|
||||
if "back/forward" in items:
|
||||
self.toolitems.append(('Back', _translate("Toolbar", 'Back to previous view'), 'back', 'back'))
|
||||
self.toolitems.append(('Forward', _translate("Toolbar", 'Return to next view'), 'forward', 'forward'))
|
||||
self.toolitems.append((None, None, None, None))
|
||||
|
||||
if "move" in items:
|
||||
self.toolitems.append(
|
||||
('Pan', _translate(
|
||||
"Toolbar",
|
||||
'Axes panoramic'
|
||||
), 'move', 'pan'))
|
||||
self.toolitems.append((None, None, None, None))
|
||||
|
||||
if "zoom" in items:
|
||||
self.toolitems.append(('Zoom', _translate("Toolbar", 'Zoom'), 'zoom_to_rect', 'zoom'))
|
||||
self.toolitems.append((None, None, None, None))
|
||||
|
||||
icon_zoom = QtGui.QIcon()
|
||||
icon_zoom.addPixmap(QtGui.QPixmap(
|
||||
f"{os.path.dirname(os.path.dirname(file_path))}/resources/icons/zoom.png"
|
||||
))
|
||||
|
||||
icons.append(("zoom",icon_zoom))
|
||||
|
||||
if "iso" in items:
|
||||
self.toolitems.append(
|
||||
('Isometric_view', _translate(
|
||||
"Toolbar", 'Isometric view (Shift+W)'
|
||||
), '', 'isometric_view')
|
||||
)
|
||||
self.toolitems.append((None, None, None, None))
|
||||
|
||||
self.toolitems.append(
|
||||
('GlobalView', _translate(
|
||||
"Toolbar", 'Auto scale view (Shift+X)'
|
||||
), '', 'non_isometric_view')
|
||||
)
|
||||
self.toolitems.append((None, None, None, None)),
|
||||
|
||||
icon_btn_isometric_view = QtGui.QIcon()
|
||||
icon_btn_isometric_view.addPixmap(
|
||||
QtGui.QPixmap(f"{os.path.dirname(os.path.dirname(file_path))}/resources"
|
||||
|
|
@ -98,10 +106,23 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
|
|||
QtGui.QPixmap(f"{os.path.dirname(os.path.dirname(file_path))}/resources/icons"
|
||||
f"/zoom_fit.png"))
|
||||
|
||||
icons.append(("isometric_view", icon_btn_isometric_view))
|
||||
icons.append(("non_isometric_view", icon_btn_global_view))
|
||||
|
||||
if "save" in items:
|
||||
self.toolitems.append(
|
||||
('Save', _translate(
|
||||
"Toolbar", 'Save the figure'
|
||||
), 'filesave', 'save_figure')
|
||||
)
|
||||
self.toolitems.append((None, None, None, None))
|
||||
|
||||
NavigationToolbar2QT.__init__(self, canvas, parent)
|
||||
btn_size = QSize(30, 30)
|
||||
actions = self.findChildren(QAction)
|
||||
self._actions["zoom"].setIcon(icon_zoom)
|
||||
self._actions["isometric_view"].setIcon(icon_btn_isometric_view)
|
||||
self._actions["non_isometric_view"].setIcon(icon_btn_global_view)
|
||||
|
||||
for a, i in icons:
|
||||
self._actions[a].setIcon(i)
|
||||
|
||||
self.addSeparator()
|
||||
|
||||
|
|
@ -124,7 +145,7 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
|
|||
|
||||
fname, filter = qt_compat._getSaveFileName(
|
||||
self.canvas.parent(),
|
||||
_translate("MainWindow_reach", "Choisissez un nom de fichier à sauvegarder"),
|
||||
_translate("MainWindow_reach", "Select destination file"),
|
||||
start,
|
||||
filters, selectedFilter)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue