diff --git a/gui/adjust/overview.py b/gui/adjust/overview.py index 3965d1e7..5d808e32 100644 --- a/gui/adjust/overview.py +++ b/gui/adjust/overview.py @@ -14,32 +14,37 @@ def adjust_page(top, parent, settings): # Adjust options self.widgets = {} + # Adjust option sections + self.frames = {} + self.frames["checkboxes"] = Frame(self) + self.frames["checkboxes"].pack(anchor=W) + with open(os.path.join("resources","app","gui","adjust","overview","checkboxes.json")) as checkboxes: myDict = json.load(checkboxes) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["checkboxes"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) - selectOptionsFrame = Frame(self) - leftAdjustFrame = Frame(selectOptionsFrame) - rightAdjustFrame = Frame(selectOptionsFrame) - bottomAdjustFrame = Frame(self) - selectOptionsFrame.pack(fill=X, expand=True) - leftAdjustFrame.pack(side=LEFT) - rightAdjustFrame.pack(side=RIGHT) - bottomAdjustFrame.pack(fill=X, expand=True) + self.frames["selectOptionsFrame"] = Frame(self) + self.frames["leftAdjustFrame"] = Frame(self.frames["selectOptionsFrame"]) + self.frames["rightAdjustFrame"] = Frame(self.frames["selectOptionsFrame"]) + self.frames["bottomAdjustFrame"] = Frame(self) + self.frames["selectOptionsFrame"].pack(fill=X) + self.frames["leftAdjustFrame"].pack(side=LEFT) + self.frames["rightAdjustFrame"].pack(side=RIGHT) + self.frames["bottomAdjustFrame"].pack(fill=X) with open(os.path.join("resources","app","gui","adjust","overview","leftAdjustFrame.json")) as leftAdjustFrameItems: myDict = json.load(leftAdjustFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftAdjustFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["leftAdjustFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) # Sprite Selection self.spriteNameVar2 = StringVar() - spriteDialogFrame2 = Frame(leftAdjustFrame) + spriteDialogFrame2 = Frame(self.frames["leftAdjustFrame"]) baseSpriteLabel2 = Label(spriteDialogFrame2, text='Sprite:') spriteEntry2 = Label(spriteDialogFrame2, textvariable=self.spriteNameVar2) self.sprite = None @@ -65,12 +70,12 @@ def adjust_page(top, parent, settings): with open(os.path.join("resources","app","gui","adjust","overview","rightAdjustFrame.json")) as rightAdjustFrameItems: myDict = json.load(rightAdjustFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightAdjustFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["rightAdjustFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) - adjustRomFrame = Frame(bottomAdjustFrame) + adjustRomFrame = Frame(self.frames["bottomAdjustFrame"]) adjustRomLabel = Label(adjustRomFrame, text='Rom to adjust: ') self.romVar2 = StringVar(value=settings["rom"]) romEntry2 = Entry(adjustRomFrame, textvariable=self.romVar2) @@ -85,7 +90,7 @@ def adjust_page(top, parent, settings): adjustRomLabel.pack(side=LEFT) romEntry2.pack(side=LEFT, fill=X, expand=True) romSelectButton2.pack(side=LEFT) - adjustRomFrame.pack(fill=X, expand=True) + adjustRomFrame.pack(fill=X) def adjustRom(): options = { @@ -112,7 +117,7 @@ def adjust_page(top, parent, settings): else: messagebox.showinfo(title="Success", message="Rom patched successfully") - adjustButton = Button(bottomAdjustFrame, text='Adjust Rom', command=adjustRom) + adjustButton = Button(self.frames["bottomAdjustFrame"], text='Adjust Rom', command=adjustRom) adjustButton.pack(side=BOTTOM, padx=(5, 0)) return self,settings diff --git a/gui/custom/overview.py b/gui/custom/overview.py index 754f2e1a..2ce95459 100644 --- a/gui/custom/overview.py +++ b/gui/custom/overview.py @@ -17,56 +17,52 @@ def custom_page(top,parent): # Custom Item Pool options self.customWidgets = {} - itemList1 = Frame(self) - itemList2 = Frame(self) - itemList3 = Frame(self) - itemList4 = Frame(self) - itemList5 = Frame(self) + # Custom Item Pool option sections + self.frames = {} + self.frames["itemList1"] = Frame(self) + self.frames["itemList1"].pack(side=LEFT, padx=(0,0), anchor=N) + self.frames["itemList2"] = Frame(self) + self.frames["itemList2"].pack(side=LEFT, padx=(0,0), anchor=N) + self.frames["itemList3"] = Frame(self) + self.frames["itemList3"].pack(side=LEFT, padx=(0,0), anchor=N) + self.frames["itemList4"] = Frame(self) + self.frames["itemList4"].pack(side=LEFT, padx=(0,0), anchor=N) + self.frames["itemList5"] = Frame(self) + self.frames["itemList5"].pack(side=LEFT, padx=(0,0), anchor=N) - currentList = itemList1 with open(os.path.join("resources","app","gui","custom","overview","itemList1.json")) as items: myDict = json.load(items) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, currentList) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["itemList1"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] self.customWidgets[key].pack() - currentList = itemList2 with open(os.path.join("resources","app","gui","custom","overview","itemList2.json")) as items: myDict = json.load(items) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, currentList) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["itemList2"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] self.customWidgets[key].pack() - currentList = itemList3 with open(os.path.join("resources","app","gui","custom","overview","itemList3.json")) as items: myDict = json.load(items) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, currentList) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["itemList3"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] self.customWidgets[key].pack() - currentList = itemList4 with open(os.path.join("resources","app","gui","custom","overview","itemList4.json")) as items: myDict = json.load(items) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, currentList) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["itemList4"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] self.customWidgets[key].pack() - currentList = itemList5 with open(os.path.join("resources","app","gui","custom","overview","itemList5.json")) as items: myDict = json.load(items) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, currentList) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["itemList5"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] self.customWidgets[key].pack() - itemList1.pack(side=LEFT, padx=(0,0)) - itemList2.pack(side=LEFT, padx=(0,0)) - itemList3.pack(side=LEFT, padx=(0,0)) - itemList4.pack(side=LEFT, padx=(0,0)) - itemList5.pack(side=LEFT, padx=(0,0), anchor=N) - return self diff --git a/gui/randomize/dungeon.py b/gui/randomize/dungeon.py index 9a9a0a5f..1d575521 100644 --- a/gui/randomize/dungeon.py +++ b/gui/randomize/dungeon.py @@ -10,22 +10,27 @@ def dungeon_page(parent): # Dungeon Shuffle options self.widgets = {} + # Dungeon Shuffle option sections + self.frames = {} + self.frames["keysanity"] = Frame(self) + self.frames["keysanity"].pack(anchor=W) + ## Dungeon Item Shuffle - mcsbshuffleFrame = Frame(self) - mcsbshuffleFrame.pack(anchor=W) - mscbLabel = Label(mcsbshuffleFrame, text="Shuffle: ") + mscbLabel = Label(self.frames["keysanity"], text="Shuffle: ") mscbLabel.pack(side=LEFT) with open(os.path.join("resources","app","gui","randomize","dungeon","keysanity.json")) as keysanityItems: myDict = json.load(keysanityItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, mcsbshuffleFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["keysanity"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(side=LEFT) + self.frames["widgets"] = Frame(self) + self.frames["widgets"].pack(anchor=W) with open(os.path.join("resources","app","gui","randomize","dungeon","widgets.json")) as dungeonWidgets: myDict = json.load(dungeonWidgets) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["widgets"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) diff --git a/gui/randomize/enemizer.py b/gui/randomize/enemizer.py index 9292a773..08179078 100644 --- a/gui/randomize/enemizer.py +++ b/gui/randomize/enemizer.py @@ -11,9 +11,15 @@ def enemizer_page(parent,settings): # Enemizer options self.widgets = {} + # Enemizer option sections + self.frames = {} + + self.frames["checkboxes"] = Frame(self) + self.frames["checkboxes"].pack(anchor=W) + with open(os.path.join("resources","app","gui","randomize","enemizer","checkboxes.json")) as checkboxes: myDict = json.load(checkboxes) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["checkboxes"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) @@ -35,23 +41,23 @@ def enemizer_page(parent,settings): settings["enemizercli"] = path enemizerCLIbrowseButton = Button(enemizerPathFrame, text='...', command=EnemizerSelectPath) enemizerCLIbrowseButton.pack(side=LEFT) - enemizerPathFrame.pack(fill=X, expand=True) + enemizerPathFrame.pack(fill=X) - leftEnemizerFrame = Frame(self) - rightEnemizerFrame = Frame(self) - leftEnemizerFrame.pack(side=LEFT, anchor=N) - rightEnemizerFrame.pack(side=RIGHT, anchor=N) + self.frames["leftEnemizerFrame"] = Frame(self) + self.frames["rightEnemizerFrame"] = Frame(self) + self.frames["leftEnemizerFrame"].pack(side=LEFT, anchor=N) + self.frames["rightEnemizerFrame"].pack(side=RIGHT, anchor=N) with open(os.path.join("resources","app","gui","randomize","enemizer","leftEnemizerFrame.json")) as leftEnemizerFrameItems: myDict = json.load(leftEnemizerFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftEnemizerFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["leftEnemizerFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) with open(os.path.join("resources","app","gui","randomize","enemizer","rightEnemizerFrame.json")) as rightEnemizerFrameItems: myDict = json.load(rightEnemizerFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightEnemizerFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["rightEnemizerFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) diff --git a/gui/randomize/entrando.py b/gui/randomize/entrando.py index 59a7152e..4f42a383 100644 --- a/gui/randomize/entrando.py +++ b/gui/randomize/entrando.py @@ -10,9 +10,14 @@ def entrando_page(parent): # Entrance Randomizer options self.widgets = {} + # Entrance Randomizer option sections + self.frames = {} + self.frames["widgets"] = Frame(self) + self.frames["widgets"].pack(anchor=W) + with open(os.path.join("resources","app","gui","randomize","entrando","widgets.json")) as myWidgets: myDict = json.load(myWidgets) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["widgets"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) diff --git a/gui/randomize/gameoptions.py b/gui/randomize/gameoptions.py index 966bc3d4..dba9751a 100644 --- a/gui/randomize/gameoptions.py +++ b/gui/randomize/gameoptions.py @@ -12,27 +12,32 @@ def gameoptions_page(top, parent): # Game Options options self.widgets = {} + # Game Options option sections + self.frames = {} + self.frames["checkboxes"] = Frame(self) + self.frames["checkboxes"].pack(anchor=W) + with open(os.path.join("resources","app","gui","randomize","gameoptions","checkboxes.json")) as checkboxes: myDict = json.load(checkboxes) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["checkboxes"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) - leftRomOptionsFrame = Frame(self) - rightRomOptionsFrame = Frame(self) - leftRomOptionsFrame.pack(side=LEFT) - rightRomOptionsFrame.pack(side=RIGHT) + self.frames["leftRomOptionsFrame"] = Frame(self) + self.frames["rightRomOptionsFrame"] = Frame(self) + self.frames["leftRomOptionsFrame"].pack(side=LEFT) + self.frames["rightRomOptionsFrame"].pack(side=RIGHT) with open(os.path.join("resources","app","gui","randomize","gameoptions","leftRomOptionsFrame.json")) as leftRomOptionsFrameItems: myDict = json.load(leftRomOptionsFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftRomOptionsFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["leftRomOptionsFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) ## Sprite selection - spriteDialogFrame = Frame(leftRomOptionsFrame) + spriteDialogFrame = Frame(self.frames["leftRomOptionsFrame"]) baseSpriteLabel = Label(spriteDialogFrame, text='Sprite:') self.widgets["sprite"] = {} @@ -59,7 +64,7 @@ def gameoptions_page(top, parent): with open(os.path.join("resources","app","gui","randomize","gameoptions","rightRomOptionsFrame.json")) as rightRomOptionsFrameItems: myDict = json.load(rightRomOptionsFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightRomOptionsFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["rightRomOptionsFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) diff --git a/gui/randomize/generation.py b/gui/randomize/generation.py index 1f90b31e..6b81796f 100644 --- a/gui/randomize/generation.py +++ b/gui/randomize/generation.py @@ -11,15 +11,22 @@ def generation_page(parent,settings): # Generation Setup options self.widgets = {} + # Generation Setup option sections + self.frames = {} + self.frames["checkboxes"] = Frame(self) + self.frames["checkboxes"].pack(anchor=W) + with open(os.path.join("resources","app","gui","randomize","generation","checkboxes.json")) as checkboxes: myDict = json.load(checkboxes) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["checkboxes"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) + self.frames["baserom"] = Frame(self) + self.frames["baserom"].pack(anchor=W, fill=X) ## Locate base ROM - baseRomFrame = Frame(self) + baseRomFrame = Frame(self.frames["baserom"]) baseRomLabel = Label(baseRomFrame, text='Base Rom: ') self.romVar = StringVar() def saveBaseRom(caller,_,mode): @@ -36,6 +43,6 @@ def generation_page(parent,settings): baseRomLabel.pack(side=LEFT) romEntry.pack(side=LEFT, fill=X, expand=True) romSelectButton.pack(side=LEFT) - baseRomFrame.pack(fill=X, expand=True) + baseRomFrame.pack(fill=X) return self,settings diff --git a/gui/randomize/item.py b/gui/randomize/item.py index a7e06987..57609b1d 100644 --- a/gui/randomize/item.py +++ b/gui/randomize/item.py @@ -2,7 +2,7 @@ from tkinter import ttk, IntVar, StringVar, Checkbutton, Frame, Label, OptionMen import gui.widgets as widgets import json import os - + def item_page(parent): # Item Randomizer self = ttk.Frame(parent) @@ -10,28 +10,33 @@ def item_page(parent): # Item Randomizer options self.widgets = {} + # Item Randomizer option sections + self.frames = {} + + self.frames["checkboxes"] = Frame(self) + self.frames["checkboxes"].pack(anchor=W) with open(os.path.join("resources","app","gui","randomize","item","checkboxes.json")) as checkboxes: myDict = json.load(checkboxes) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["checkboxes"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=W) - leftItemFrame = Frame(self) - rightItemFrame = Frame(self) - leftItemFrame.pack(side=LEFT) - rightItemFrame.pack(side=RIGHT) + self.frames["leftItemFrame"] = Frame(self) + self.frames["rightItemFrame"] = Frame(self) + self.frames["leftItemFrame"].pack(side=LEFT) + self.frames["rightItemFrame"].pack(side=RIGHT) with open(os.path.join("resources","app","gui","randomize","item","leftItemFrame.json")) as leftItemFrameItems: myDict = json.load(leftItemFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, leftItemFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["leftItemFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) with open(os.path.join("resources","app","gui","randomize","item","rightItemFrame.json")) as rightItemFrameItems: myDict = json.load(rightItemFrameItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, rightItemFrame) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["rightItemFrame"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(anchor=E) diff --git a/gui/randomize/multiworld.py b/gui/randomize/multiworld.py index e7808e48..646b02d1 100644 --- a/gui/randomize/multiworld.py +++ b/gui/randomize/multiworld.py @@ -10,16 +10,21 @@ def multiworld_page(parent,settings): # Multiworld options self.widgets = {} + # Multiworld option sections + self.frames = {} + self.frames["widgets"] = Frame(self) + self.frames["widgets"].pack(anchor=W, fill=X) + with open(os.path.join("resources","app","gui","randomize","multiworld","widgets.json")) as multiworldItems: myDict = json.load(multiworldItems) - dictWidgets = widgets.make_widgets_from_dict(self, myDict, self) + dictWidgets = widgets.make_widgets_from_dict(self, myDict, self.frames["widgets"]) for key in dictWidgets: self.widgets[key] = dictWidgets[key] self.widgets[key].pack(side=LEFT, anchor=N) ## List of Player Names key = "names" - self.widgets[key] = Frame(self) + self.widgets[key] = Frame(self.frames["widgets"]) self.widgets[key].label = Label(self.widgets[key], text='Player names') self.widgets[key].storageVar = StringVar(value=settings["names"]) def saveMultiNames(caller,_,mode):