pygui: further refactoring to work towards multiple canvas support

This commit is contained in:
Blake Harnden 2020-12-11 18:39:58 -08:00
parent e34c00a431
commit 886bfc093b
8 changed files with 161 additions and 134 deletions

View file

@ -14,6 +14,7 @@ from core.gui.dialogs.error import ErrorDialog
from core.gui.frames.base import InfoFrameBase
from core.gui.frames.default import DefaultInfoFrame
from core.gui.graph.graph import CanvasGraph
from core.gui.graph.manager import CanvasManager
from core.gui.images import ImageEnum, Images
from core.gui.menubar import Menubar
from core.gui.nodeutils import NodeUtils
@ -35,6 +36,7 @@ class Application(ttk.Frame):
self.menubar: Optional[Menubar] = None
self.toolbar: Optional[Toolbar] = None
self.right_frame: Optional[ttk.Frame] = None
self.manager: Optional[CanvasManager] = None
self.canvas: Optional[CanvasGraph] = None
self.statusbar: Optional[StatusBar] = None
self.progress: Optional[Progressbar] = None
@ -140,16 +142,18 @@ class Application(ttk.Frame):
canvas_frame.rowconfigure(0, weight=1)
canvas_frame.columnconfigure(0, weight=1)
canvas_frame.grid(row=0, column=0, sticky=tk.NSEW, pady=1)
self.canvas = CanvasGraph(canvas_frame, self, self.core)
self.canvas.grid(sticky=tk.NSEW)
scroll_y = ttk.Scrollbar(canvas_frame, command=self.canvas.yview)
scroll_y.grid(row=0, column=1, sticky=tk.NS)
scroll_x = ttk.Scrollbar(
canvas_frame, orient=tk.HORIZONTAL, command=self.canvas.xview
)
scroll_x.grid(row=1, column=0, sticky=tk.EW)
self.canvas.configure(xscrollcommand=scroll_x.set)
self.canvas.configure(yscrollcommand=scroll_y.set)
self.manager = CanvasManager(canvas_frame, self, self.core)
self.manager.notebook.grid(sticky=tk.NSEW)
# self.canvas = CanvasGraph(canvas_frame, self, self.core)
# self.canvas.grid(sticky=tk.NSEW)
# scroll_y = ttk.Scrollbar(canvas_frame, command=self.canvas.yview)
# scroll_y.grid(row=0, column=1, sticky=tk.NS)
# scroll_x = ttk.Scrollbar(
# canvas_frame, orient=tk.HORIZONTAL, command=self.canvas.xview
# )
# scroll_x.grid(row=1, column=0, sticky=tk.EW)
# self.canvas.configure(xscrollcommand=scroll_x.set)
# self.canvas.configure(yscrollcommand=scroll_y.set)
def draw_status(self) -> None:
self.statusbar = StatusBar(self.right_frame, self)