Add on-canvas navigation arrows
This commit is contained in:
parent
82cafc58e6
commit
2077d574c3
|
|
@ -16,8 +16,6 @@ class UIBuilderMixin:
|
||||||
buttons = [
|
buttons = [
|
||||||
("📂 Bild laden", self.load_image),
|
("📂 Bild laden", self.load_image),
|
||||||
("📁 Ordner laden", self.load_folder),
|
("📁 Ordner laden", self.load_folder),
|
||||||
("⬅️ Bild zurück", self.show_previous_image),
|
|
||||||
("➡️ Nächstes Bild", self.show_next_image),
|
|
||||||
("🎨 Farbe wählen", self.choose_color),
|
("🎨 Farbe wählen", self.choose_color),
|
||||||
("🖱️Farbe aus Bild klicken", self.enable_pick_mode),
|
("🖱️Farbe aus Bild klicken", self.enable_pick_mode),
|
||||||
("💾 Overlay speichern", self.save_overlay),
|
("💾 Overlay speichern", self.save_overlay),
|
||||||
|
|
@ -74,6 +72,8 @@ class UIBuilderMixin:
|
||||||
left_column = ttk.Frame(main)
|
left_column = ttk.Frame(main)
|
||||||
left_column.pack(side=tk.LEFT, fill=tk.BOTH, expand=True, padx=(0, 6))
|
left_column.pack(side=tk.LEFT, fill=tk.BOTH, expand=True, padx=(0, 6))
|
||||||
|
|
||||||
|
self._create_navigation_button(left_column, "◀", self.show_previous_image)
|
||||||
|
|
||||||
self.canvas_orig = tk.Canvas(left_column, bg="#1e1e1e", highlightthickness=0, relief="flat")
|
self.canvas_orig = tk.Canvas(left_column, bg="#1e1e1e", highlightthickness=0, relief="flat")
|
||||||
self.canvas_orig.pack(fill=tk.BOTH, expand=True)
|
self.canvas_orig.pack(fill=tk.BOTH, expand=True)
|
||||||
self.canvas_orig.bind("<Button-1>", self.on_canvas_click)
|
self.canvas_orig.bind("<Button-1>", self.on_canvas_click)
|
||||||
|
|
@ -86,6 +86,7 @@ class UIBuilderMixin:
|
||||||
|
|
||||||
self.canvas_overlay = tk.Canvas(right_column, bg="#1e1e1e", highlightthickness=0, relief="flat")
|
self.canvas_overlay = tk.Canvas(right_column, bg="#1e1e1e", highlightthickness=0, relief="flat")
|
||||||
self.canvas_overlay.pack(fill=tk.BOTH, expand=True)
|
self.canvas_overlay.pack(fill=tk.BOTH, expand=True)
|
||||||
|
self._create_navigation_button(right_column, "▶", self.show_next_image)
|
||||||
|
|
||||||
info_frame = ttk.Frame(self.root)
|
info_frame = ttk.Frame(self.root)
|
||||||
info_frame.pack(fill=tk.X, padx=12, pady=(0, 12))
|
info_frame.pack(fill=tk.X, padx=12, pady=(0, 12))
|
||||||
|
|
@ -316,6 +317,25 @@ class UIBuilderMixin:
|
||||||
]
|
]
|
||||||
return canvas.create_polygon(points, smooth=True, splinesteps=24, **kwargs)
|
return canvas.create_polygon(points, smooth=True, splinesteps=24, **kwargs)
|
||||||
|
|
||||||
|
def _create_navigation_button(self, container, symbol: str, command) -> None:
|
||||||
|
wrapper = ttk.Frame(container)
|
||||||
|
wrapper.pack(fill=tk.Y)
|
||||||
|
|
||||||
|
btn = tk.Button(
|
||||||
|
wrapper,
|
||||||
|
text=symbol,
|
||||||
|
command=command,
|
||||||
|
font=("Segoe UI", 18, "bold"),
|
||||||
|
relief="flat",
|
||||||
|
borderwidth=0,
|
||||||
|
background="#00000000",
|
||||||
|
activebackground="#00000000",
|
||||||
|
highlightthickness=0,
|
||||||
|
cursor="hand2",
|
||||||
|
)
|
||||||
|
btn.pack(side=tk.TOP, pady=12)
|
||||||
|
wrapper.pack_propagate(False)
|
||||||
|
|
||||||
def _toolbar_palette(self) -> dict[str, str]:
|
def _toolbar_palette(self) -> dict[str, str]:
|
||||||
is_dark = getattr(self, "theme", "light") == "dark"
|
is_dark = getattr(self, "theme", "light") == "dark"
|
||||||
if is_dark:
|
if is_dark:
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue