Move zooming to View menu in menubar and use mouse scroll for changing glyphs

This commit is contained in:
2024-03-08 18:38:17 +01:00
parent 8413f98f4c
commit d2d28b0782
2 changed files with 29 additions and 9 deletions

23
main.py
View File

@@ -1,4 +1,5 @@
import os
import platform
import tkinter.filedialog
import unicodedata
@@ -211,6 +212,18 @@ def update_glyph_preview():
label_glyph_name.config(text=f"{name} U+{canvas_editor.current_char:04x}")
def canvas_editor_handle_scroll(delta):
global canvas_editor
global project
if not project.loaded:
return
if delta>0:
canvas_editor.prev_glyph()
else:
canvas_editor.next_glyph()
update_glyph_preview()
window=tkinter.Tk()
window.title("fonteditor")
window.geometry(f"{WINDOW_SIZE[0]}x{WINDOW_SIZE[1]}")
@@ -225,11 +238,21 @@ menu_file.add_command(label="Save project as",command=lambda: save_project(True)
menu_export=tkinter.Menu(menubar,tearoff=False)
menu_export.add_command(label="Export",command=lambda: export_project(False))
menu_export.add_command(label="Export as",command=lambda: export_project(True))
menu_view=tkinter.Menu(menubar,tearoff=False)
menu_view.add_command(label="Zoom in",command=lambda: canvas_editor.zoom_by(10))
menu_view.add_command(label="Zoom out",command=lambda: canvas_editor.zoom_by(-10))
menubar.add_cascade(label="File",menu=menu_file)
menubar.add_cascade(label="Export",menu=menu_export)
menubar.add_cascade(label="View",menu=menu_view)
canvas_editor=EditorCanvas(project,window,bg="black")
canvas_editor.pack(side="left",fill="both",expand=True)
if platform.system()=="Windows" or platform.system()=="Darwin":
canvas_editor.bind("<MouseWheel>",lambda event: canvas_editor_handle_scroll(event.delta))
else:
# This will probably work only on X11
canvas_editor.bind("<Button-4>",lambda _: canvas_editor_handle_scroll(1))
canvas_editor.bind("<Button-5>",lambda _: canvas_editor_handle_scroll(-1))
frame_controls=tkinter.Frame(window)
frame_controls.pack(side="right")