class Window(Tk): def __init__(self, workspace_folder): super().__init__() self.workspace_folder = workspace_folder self.title("Discrept Editor's Settings") self.tree = None self.frame = None self.build_view() self.menu_bar = MenuBar(self) self.config(menu=self.menu_bar) self.protocol("WM_DELETE_WINDOW", self.on_closing) self.mainloop() def build_view(self): exterior_frame = Frame(self) frame = Frame(exterior_frame) # Widgets self.editor = TextEditor(frame) self.command_bar = CommandBar(exterior_frame, self.editor) self.tree = TreeView(frame, self.editor) # Window Configuration frame.columnconfigure(3, weight=1) frame.rowconfigure(0, weight=1) # Widget Locations self.tree.grid(column=0, row=0, columnspan=1, sticky=('N', 'E', 'S', 'W')) self.editor.grid(column=1, row=0, columnspan=3, sticky=('N', 'E', 'S', 'W')) self.command_bar.grid(column=0, row=0, rowspan=1, sticky=('N', 'E', 'S', 'W')) frame.grid(column=0, row=1, rowspan=3, sticky=('N', 'E', 'S', 'W')) exterior_frame.columnconfigure(0, weight=1) exterior_frame.rowconfigure(2, weight=1) exterior_frame.pack(expand=True, fill=BOTH, padx=(10,10)) @staticmethod def on_closing(): # if messagebox.askokcancel("Quit", "Do you want to quit?"): # self.destroy() quit(0)
class Window(Tk): def __init__(self, workspace_folder): super().__init__() self.workspace_folder = workspace_folder self.title("Discrept Editor") self.tree = None self.editor = None self.command_bar = None self.viewer = None self.build_view() self.menu_bar = MenuBar(self) self.config(menu=self.menu_bar, background='grey') self.key_binding() self.mainloop() def key_binding(self): top = self.winfo_toplevel() top.bind('<Control-s>', lambda: FileTools.save_file(self.editor)) top.bind('<Command-s>', lambda: FileTools.save_file(self.editor)) top.bind('<Control-Shift-s>', lambda: FileTools.save_file_as(self.editor)) top.bind('<Command-Shift-s>', lambda: FileTools.save_file_as(self.editor)) self.protocol("WM_DELETE_WINDOW", self.on_closing) def build_view(self): exterior_frame = Frame(self, background='light grey') frame = Frame(exterior_frame, background='light grey') # Widgets self.editor = TextEditor(frame) self.viewer = PDFViewer(frame) self.command_bar = CommandBar(exterior_frame, self.editor, self.viewer) self.tree = TreeView(frame, self.editor) # Window Configuration frame.columnconfigure(3, weight=1) frame.rowconfigure(0, weight=1) # Widget Locations self.tree.grid(column=0, row=0, columnspan=1, sticky=('N', 'E', 'S', 'W'), pady=(5, 5)) self.editor.grid(column=1, row=0, columnspan=3, sticky=('N', 'E', 'S', 'W'), padx=(5, 0), pady=(5, 5)) self.viewer.grid(column=4, row=0, columnspan=1, sticky=('N', 'E', 'S', 'W'), padx=(5, 0), pady=(5, 5)) self.command_bar.grid(column=0, row=0, rowspan=1, sticky=('N', 'E', 'S', 'W')) frame.grid(column=0, row=1, rowspan=3, sticky=('N', 'E', 'S', 'W')) exterior_frame.columnconfigure(0, weight=1) exterior_frame.rowconfigure(3, weight=1) exterior_frame.pack(expand=True, fill=BOTH, padx=(10,10)) def on_closing(self): self.destroy() # if messagebox.askokcancel("Quit", "Do you want to quit?"): # self.destroy() quit(0)