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.canvas_1.setObjectName("canvas_1")
|
||||||
|
|
||||||
self.toolbar_1 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
|
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)
|
self.verticalLayout_canvas_1.addWidget(self.toolbar_1)
|
||||||
|
|
@ -207,7 +208,8 @@ class Ui_MainWindow(object):
|
||||||
self.canvas_2.setObjectName("canvas_2")
|
self.canvas_2.setObjectName("canvas_2")
|
||||||
|
|
||||||
self.toolbar_2 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
|
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)
|
self.verticalLayout_canvas_2.addWidget(self.toolbar_2)
|
||||||
|
|
@ -222,7 +224,8 @@ class Ui_MainWindow(object):
|
||||||
self.canvas_3.setObjectName("canvas_3")
|
self.canvas_3.setObjectName("canvas_3")
|
||||||
|
|
||||||
self.toolbar_3 = navigation_toolbar_2qt.PamHyrNavigationToolbar2QT(
|
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)
|
self.verticalLayout_canvas_3.addWidget(self.toolbar_3)
|
||||||
|
|
|
||||||
|
|
@ -38,70 +38,91 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
|
||||||
"""
|
"""
|
||||||
isometric_signal = pyqtSignal(str)
|
isometric_signal = pyqtSignal(str)
|
||||||
|
|
||||||
def __init__(self, canvas, parent):
|
def __init__(self, canvas, parent, items = ["home", "move", "zoom", "save"]):
|
||||||
"""
|
"""
|
||||||
Args:
|
Args:
|
||||||
canvas: canvas de matplotlib
|
canvas: canvas de matplotlib
|
||||||
parent: parent du canvas
|
parent: parent du canvas
|
||||||
"""
|
"""
|
||||||
self.my_canvas = canvas
|
self.my_canvas = canvas
|
||||||
|
|
||||||
|
self._items = items
|
||||||
self.toolitems = [
|
self.toolitems = [
|
||||||
(None, None, None, None),
|
(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),
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
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"
|
||||||
|
f"/icons/zoom_fit_11.png"))
|
||||||
|
|
||||||
|
icon_btn_global_view = QtGui.QIcon()
|
||||||
|
icon_btn_global_view.addPixmap(
|
||||||
|
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)
|
NavigationToolbar2QT.__init__(self, canvas, parent)
|
||||||
btn_size = QSize(30, 30)
|
btn_size = QSize(30, 30)
|
||||||
|
|
||||||
icon_zoom = QtGui.QIcon()
|
|
||||||
icon_zoom.addPixmap(QtGui.QPixmap(
|
|
||||||
f"{os.path.dirname(os.path.dirname(file_path))}/resources/icons/zoom.png"
|
|
||||||
))
|
|
||||||
icon_btn_isometric_view = QtGui.QIcon()
|
|
||||||
icon_btn_isometric_view.addPixmap(
|
|
||||||
QtGui.QPixmap(f"{os.path.dirname(os.path.dirname(file_path))}/resources"
|
|
||||||
f"/icons/zoom_fit_11.png"))
|
|
||||||
|
|
||||||
icon_btn_global_view = QtGui.QIcon()
|
|
||||||
icon_btn_global_view.addPixmap(
|
|
||||||
QtGui.QPixmap(f"{os.path.dirname(os.path.dirname(file_path))}/resources/icons"
|
|
||||||
f"/zoom_fit.png"))
|
|
||||||
|
|
||||||
actions = self.findChildren(QAction)
|
actions = self.findChildren(QAction)
|
||||||
self._actions["zoom"].setIcon(icon_zoom)
|
|
||||||
self._actions["isometric_view"].setIcon(icon_btn_isometric_view)
|
for a, i in icons:
|
||||||
self._actions["non_isometric_view"].setIcon(icon_btn_global_view)
|
self._actions[a].setIcon(i)
|
||||||
|
|
||||||
self.addSeparator()
|
self.addSeparator()
|
||||||
|
|
||||||
|
|
@ -124,7 +145,7 @@ class PamHyrNavigationToolbar2QT(NavigationToolbar2QT):
|
||||||
|
|
||||||
fname, filter = qt_compat._getSaveFileName(
|
fname, filter = qt_compat._getSaveFileName(
|
||||||
self.canvas.parent(),
|
self.canvas.parent(),
|
||||||
_translate("MainWindow_reach", "Choisissez un nom de fichier à sauvegarder"),
|
_translate("MainWindow_reach", "Select destination file"),
|
||||||
start,
|
start,
|
||||||
filters, selectedFilter)
|
filters, selectedFilter)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue