diff --git a/__pycache__/scenario.cpython-310.pyc b/__pycache__/scenario.cpython-310.pyc index 8af9ef2..3462f5d 100644 Binary files a/__pycache__/scenario.cpython-310.pyc and b/__pycache__/scenario.cpython-310.pyc differ diff --git a/__pycache__/team.cpython-310.pyc b/__pycache__/team.cpython-310.pyc index 4d6b35e..c20093b 100644 Binary files a/__pycache__/team.cpython-310.pyc and b/__pycache__/team.cpython-310.pyc differ diff --git a/__pycache__/terrain.cpython-310.pyc b/__pycache__/terrain.cpython-310.pyc index e62da29..d7cc3ed 100644 Binary files a/__pycache__/terrain.cpython-310.pyc and b/__pycache__/terrain.cpython-310.pyc differ diff --git a/data/team.json b/data/team.json index 71a87de..e7c58f5 100644 --- a/data/team.json +++ b/data/team.json @@ -1 +1 @@ -{"dd": {"name": "dd", "country": "ff"}} \ No newline at end of file +{"s": {"name": "s", "country": "s"}, "df": {"name": "df", "country": "fa"}, "dfdsfaf": {"name": "dfdsfaf", "country": "fa"}, "aaaaa": {"name": "aaaaa", "country": "ssss"}, "": {"name": "", "country": ""}} \ No newline at end of file diff --git a/main.py b/main.py index 55a2804..e252b79 100644 --- a/main.py +++ b/main.py @@ -1,21 +1,23 @@ import team import scenario import terrain -from tkinter import * +import tkinter as tk from tkinter import ttk - # for child in container.winfo_children(): - # child.grid_configure(padx=4, pady=5) +Screen = ( + team.TeamsPage, + team.EditTeamPage, + terrain.TerrainsPage, + scenario.ScenarioPage +) -Screen = (team.TeamsPage, team.EditTeamPage, terrain.TerrainsPage, scenario.ScenarioPage) - -class App(Tk): +class App(tk.Tk): def __init__(self, *args, **kwargs): - Tk.__init__(self, *args, **kwargs) - Tk.wm_title(self, "AoS Worlds Pairing Assistant") - Tk.option_add(self, "*tearOff", False) + 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 100 100") + container = ttk.Frame(self)#, padding="100 100 100 100") container.pack() container.columnconfigure(0, minsize=500, weight=1) container.rowconfigure(0, minsize=300, weight=1) @@ -25,23 +27,23 @@ class App(Tk): for F in Screen: frame = F(container, self) self.frames[F] = frame - frame.grid(column=0, row=0, sticky=(N, W, E, S)) + frame.grid(column=0, row=0, sticky="nsew") for child in frame.winfo_children(): - child.grid_configure(padx=4, pady=5) + child.grid_configure(padx=5, pady=5) self.makeMenu() self.showFrame(team.TeamsPage) def makeMenu(self): - menubar = Menu(self) + menubar = tk.Menu(self) - menuScenarios = Menu(menubar) + 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 = Menu(menubar) + 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)) diff --git a/scenario.py b/scenario.py index 9c313fc..2ede05a 100644 --- a/scenario.py +++ b/scenario.py @@ -1,13 +1,10 @@ -from tkinter import * -from tkinter import ttk +import tkinter as tk -class ScenarioPage(Frame): +class ScenarioPage(tk.Frame): def __init__(self, parent, controller): - Frame.__init__(self, parent) + tk.Frame.__init__(self, parent) - label = ttk.Label(self, text="Teams") - label.grid(column=1, row=1, sticky=E) - label.pack() + tk.Label(self, text="Teams").grid(column=1, row=1) # button = ttk.Button(self, text="Import") # button.grid(column=2, row=1, sticky=(W, E)) diff --git a/team.py b/team.py index 88ecfb8..d6db4fa 100644 --- a/team.py +++ b/team.py @@ -1,69 +1,64 @@ import json import os -# import data -from tkinter import * +import tkinter as tk from tkinter import ttk +path = "data/team.json" + def loadTeams(): - path = "data/teams.json" teams = {} if os.path.exists(path): - teams = json.loads("data/teams.json") + file = open(path, "r") + teams = json.loads(file.read()) + file.close() return teams -class TeamsPage(Frame): +def saveTeam(name, country): + teams = loadTeams() + team = { + "name": name, + "country": country + } + teams[name] = team + + file = open(path, "w") + file.write(json.dumps(teams)) + file.close() + +class TeamsPage(tk.Frame): def __init__(self, parent, controller): - Frame.__init__(self, parent) + tk.Frame.__init__(self, parent) teams = loadTeams() - teamKey = StringVar() + teamKey = tk.StringVar() teamSelector = ttk.Combobox(self, textvariable=teamKey, values=list(teams.keys())) - teamSelector.grid(column=1, row=1, sticky=(E, W)) + teamSelector.grid(column=1, row=1)#, sticky="ew") if len(teams) == 0: teamSelector.state(["readonly"]) - ttk.Button(self, text="New Team").grid(column=1, row=2, sticky=(E, W)) + tk.Button(self, text="New Team", command=lambda: controller.showFrame(EditTeamPage)).grid(column=1, row=2)#, sticky="ew") -class EditTeamPage(Frame): +class EditTeamPage(tk.Frame): def __init__(self, parent, controller, team=None): - Frame.__init__(self, parent) + tk.Frame.__init__(self, parent) - teamName = StringVar() - teamCountry = StringVar() + teamName = tk.StringVar() + teamCountry = tk.StringVar() if (team != None): teamName.set(team.name) teamCountry.set(team.value) - # teamName.trace_add("write", callback=lambda val: team.__setattr__("name", val)) - # teamCountry.trace_add("write", callback=lambda val: team.__setattr__("country", val)) - ttk.Label(parent, text="Name:").grid(column=1, row=1, sticky=(E, W)) - ttk.Entry(parent, textvariable=teamName).grid(column=2, row=1, sticky=(E, W)) - ttk.Label(parent, text="Country:").grid(column=1, row=2, sticky=(E, W)) - ttk.Entry(parent, textvariable=teamCountry).grid(column=2, row=2, sticky=(E, W)) + label = tk.Label(parent, text="Name:") + # .grid(column=0, row=1) + label.pack() + entry = tk.Entry(parent, textvariable=teamName) + # .grid(column=0, row=0) + entry.pack() + tk.Label(parent, text="Country:").grid(column=0, row=2) + tk.Entry(parent, textvariable=teamCountry).grid(column=0, row=2) - ttk.Button(parent, text="Save", command=lambda: self.save(teamName.get(), teamCountry.get())).grid(column=2, row=3, sticky=(E, W)) - - def save(self, name, country): - teams = loadTeams() - team = { - "name": name, - "country": country - } - - # existing = False - # for t in teams: - # if t.name == teams.name: - # t = team - # existing = True - # if not existing: - # teams.append(team) - - teams[name] = team - - file = open("data/team.json", "w") - file.write(json.dumps(teams)) - file.close() + tk.Button(parent, text="Save", command=lambda: saveTeam(teamName.get(), teamCountry.get()))#.grid(column=2, row=3) diff --git a/terrain.py b/terrain.py index bf6ae5f..2a85878 100644 --- a/terrain.py +++ b/terrain.py @@ -1,8 +1,7 @@ -from tkinter import * -from tkinter import ttk +import tkinter as tk -class TerrainsPage(Frame): +class TerrainsPage(tk.Frame): def __init__(self, parent, controller): - Frame.__init__(self, parent) + tk.Frame.__init__(self, parent) - ttk.Label(self, text="New Terrain").grid(column=1, row=1, sticky=E) \ No newline at end of file + tk.Label(self, text="New Terrain").grid(column=1, row=1) \ No newline at end of file