58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
import team
|
|
import scenario
|
|
import terrain
|
|
import tkinter as tk
|
|
from tkinter import ttk
|
|
|
|
Screen = (
|
|
team.TeamsPage,
|
|
terrain.TerrainsPage,
|
|
scenario.ScenarioPage
|
|
)
|
|
|
|
class App(tk.Tk):
|
|
def __init__(self, *args, **kwargs):
|
|
tk.Tk.__init__(self, *args, **kwargs)
|
|
tk.Tk.wm_title(self, "AoS Worlds Pairing Assistant")
|
|
tk.Tk.option_add(self, "*tearOff", False)
|
|
|
|
container = ttk.Frame(self, padding="100 100")
|
|
container.pack()
|
|
container.columnconfigure(0, minsize=700, weight=1)
|
|
container.rowconfigure(0, minsize=500, weight=1)
|
|
|
|
self.frames = {}
|
|
|
|
for F in Screen:
|
|
frame = F(container, self)
|
|
self.frames[F] = frame
|
|
frame.grid(column=0, row=0, sticky="nsew")
|
|
for child in frame.winfo_children():
|
|
child.grid_configure(padx=5, pady=5)
|
|
|
|
self.makeMenu()
|
|
self.showFrame(team.TeamsPage)
|
|
|
|
def makeMenu(self):
|
|
menubar = tk.Menu(self)
|
|
|
|
menuScenarios = tk.Menu(menubar)
|
|
menubar.add_cascade(menu=menuScenarios, label="Scenarios")
|
|
menuScenarios.add_command(label="New")#, command=scenario.getScreen)
|
|
menuScenarios.add_command(label="New from CSV")#, command=scenario.getScreen)
|
|
menuScenarios.add_command(label="Load")#, command=scenario.getScreen)
|
|
|
|
menuConfig = tk.Menu(menubar)
|
|
menubar.add_cascade(menu=menuConfig, label="Configuration")
|
|
menuConfig.add_command(label="Teams", command=lambda: self.showFrame(team.TeamsPage))
|
|
menuConfig.add_command(label="Terrains", command=lambda: self.showFrame(terrain.TerrainsPage))
|
|
|
|
self['menu'] = menubar
|
|
|
|
def showFrame(self, screen):
|
|
frame = self.frames[screen]
|
|
frame.tkraise()
|
|
|
|
app = App()
|
|
app.mainloop()
|