From 6c9fdcd203a98d8c1c12a13116761a969357fce0 Mon Sep 17 00:00:00 2001 From: "Mike A. Trethewey" Date: Fri, 21 Feb 2020 23:47:29 -0800 Subject: [PATCH] Update Widgets to be able to use grid --- CLI.py | 2 +- gui/bottom.py | 1 + gui/custom/overview.py | 36 ++-- gui/widgets.py | 97 +++++----- .../gui/adjust/overview/leftAdjustFrame.json | 4 +- .../gui/adjust/overview/rightAdjustFrame.json | 6 +- .../app/gui/custom/overview/itemList1.json | 154 +++++----------- .../app/gui/custom/overview/itemList2.json | 156 +++++----------- .../app/gui/custom/overview/itemList3.json | 168 ++++++------------ .../app/gui/custom/overview/itemList4.json | 157 +++++----------- .../app/gui/custom/overview/itemList5.json | 109 ++++-------- .../app/gui/randomize/dungeon/widgets.json | 4 +- .../randomize/enemizer/leftEnemizerFrame.json | 4 +- .../enemizer/rightEnemizerFrame.json | 4 +- .../app/gui/randomize/entrando/widgets.json | 2 +- .../gui/randomize/gameoptions/checkboxes.json | 3 +- .../gameoptions/leftRomOptionsFrame.json | 4 +- .../gameoptions/rightRomOptionsFrame.json | 6 +- .../app/gui/randomize/item/leftItemFrame.json | 12 +- .../gui/randomize/item/rightItemFrame.json | 12 +- .../app/gui/randomize/multiworld/widgets.json | 2 +- 21 files changed, 341 insertions(+), 602 deletions(-) diff --git a/CLI.py b/CLI.py index 517e0949..980a7bb7 100644 --- a/CLI.py +++ b/CLI.py @@ -361,7 +361,7 @@ def get_settings(): "ow_palettes": "default", "uw_palettes": "default", "shuffleganon": True, - "hints": False, + "hints": True, "enemizercli": os.path.join(".","EnemizerCLI","EnemizerCLI.Core"), "shufflebosses": "none", "shuffleenemies": "none", diff --git a/gui/bottom.py b/gui/bottom.py index fdd0c1d6..eafa9ebb 100644 --- a/gui/bottom.py +++ b/gui/bottom.py @@ -38,6 +38,7 @@ def bottom_frame(self, parent, args=None): self, "Count", None, + None, {"label": {"side": LEFT}, "spinbox": {"side": RIGHT}} ) self.widgets[key].pack(side=LEFT) diff --git a/gui/custom/overview.py b/gui/custom/overview.py index ac4d3e44..9d366405 100644 --- a/gui/custom/overview.py +++ b/gui/custom/overview.py @@ -1,4 +1,4 @@ -from tkinter import ttk, StringVar, Entry, Frame, Label, N, E, W, LEFT, RIGHT, X +from tkinter import ttk, StringVar, Entry, Frame, Label, N, E, W, LEFT, RIGHT, X, VERTICAL, Y import gui.widgets as widgets import json import os @@ -7,6 +7,16 @@ def custom_page(top,parent): # Custom Item Pool self = ttk.Frame(parent) + def create_list_frame(parent, framename): + parent.frames[framename] = Frame(parent) + parent.frames[framename].pack(side=LEFT, padx=(0,0), anchor=N) + parent.frames[framename].thisRow = 0 + parent.frames[framename].thisCol = 0 + + def create_vertical_rule(num=1): + for i in range(0,num): + ttk.Separator(self, orient=VERTICAL).pack(side=LEFT, anchor=N, fill=Y) + def validation(P): if str.isdigit(P) or P == "": return True @@ -19,51 +29,45 @@ def custom_page(top,parent): # 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) + create_list_frame(self,"itemList1") + create_vertical_rule(2) + create_list_frame(self,"itemList2") + create_vertical_rule(2) + create_list_frame(self,"itemList3") + create_vertical_rule(2) + create_list_frame(self,"itemList4") + create_vertical_rule(2) + create_list_frame(self,"itemList5") 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, self.frames["itemList1"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] - self.customWidgets[key].pack() 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, self.frames["itemList2"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] - self.customWidgets[key].pack() 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, self.frames["itemList3"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] - self.customWidgets[key].pack() 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, self.frames["itemList4"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] - self.customWidgets[key].pack() 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, self.frames["itemList5"]) for key in dictWidgets: self.customWidgets[key] = dictWidgets[key] - self.customWidgets[key].pack() keys = list(self.customWidgets.keys()) for i in range(0, len(keys)): diff --git a/gui/widgets.py b/gui/widgets.py index c943fa42..3b6925d3 100644 --- a/gui/widgets.py +++ b/gui/widgets.py @@ -1,4 +1,7 @@ -from tkinter import Checkbutton, Entry, Frame, IntVar, Label, OptionMenu, Spinbox, StringVar, RIGHT +from tkinter import Checkbutton, Entry, Frame, IntVar, Label, OptionMenu, Spinbox, StringVar, RIGHT, X + +class Empty(): + pass class mySpinbox(Spinbox): def __init__(self, *args, **kwargs): @@ -13,17 +16,17 @@ class mySpinbox(Spinbox): elif event.num == 4 or event.delta == 120: self.invoke('buttonup') -def make_checkbox(self, parent, label, storageVar, packAttrs): +def make_checkbox(self, parent, label, storageVar, manager, managerAttrs): self = Frame(parent, name="checkframe-" + label.lower()) self.storageVar = storageVar self.checkbox = Checkbutton(self, text=label, variable=self.storageVar, name="checkbox-" + label.lower()) - if packAttrs is not None: - self.checkbox.pack(packAttrs) + if managerAttrs is not None: + self.checkbox.pack(managerAttrs) else: self.checkbox.pack() return self -def make_selectbox(self, parent, label, options, storageVar, packAttrs): +def make_selectbox(self, parent, label, options, storageVar, manager, managerAttrs): def change_storage(*args): self.storageVar.set(options[self.labelVar.get()]) def change_selected(*args): @@ -38,61 +41,68 @@ def make_selectbox(self, parent, label, options, storageVar, packAttrs): self.labelVar = StringVar() self.labelVar.trace_add("write",change_storage) self.label = Label(self, text=label) - if packAttrs is not None and "label" in packAttrs: - self.label.pack(packAttrs["label"]) + if managerAttrs is not None and "label" in managerAttrs: + self.label.pack(managerAttrs["label"]) else: self.label.pack() self.selectbox = OptionMenu(self, self.labelVar, *options.keys()) self.selectbox.config(width=20) - self.labelVar.set(packAttrs["default"] if "default" in packAttrs else list(options.keys())[0]) - if packAttrs is not None and "selectbox" in packAttrs: - self.selectbox.pack(packAttrs["selectbox"]) + self.labelVar.set(managerAttrs["default"] if "default" in managerAttrs else list(options.keys())[0]) + if managerAttrs is not None and "selectbox" in managerAttrs: + self.selectbox.pack(managerAttrs["selectbox"]) else: self.selectbox.pack() return self -def make_spinbox(self, parent, label, storageVar, packAttrs): +def make_spinbox(self, parent, label, storageVar, manager, managerAttrs): self = Frame(parent, name="spinframe-" + label.lower()) self.storageVar = storageVar self.label = Label(self, text=label) - if packAttrs is not None and "label" in packAttrs: - self.label.pack(packAttrs["label"]) + if managerAttrs is not None and "label" in managerAttrs: + self.label.pack(managerAttrs["label"]) else: self.label.pack() fromNum = 1 toNum = 100 - if "spinbox" in packAttrs: - if "from" in packAttrs: - fromNum = packAttrs["spinbox"]["from"] - if "to" in packAttrs: - toNum = packAttrs["spinbox"]["to"] + if "spinbox" in managerAttrs: + if "from" in managerAttrs: + fromNum = managerAttrs["spinbox"]["from"] + if "to" in managerAttrs: + toNum = managerAttrs["spinbox"]["to"] self.spinbox = mySpinbox(self, from_=fromNum, to=toNum, width=5, textvariable=self.storageVar, name="spinbox-" + label.lower()) - if packAttrs is not None and "spinbox" in packAttrs: - self.spinbox.pack(packAttrs["spinbox"]) + if managerAttrs is not None and "spinbox" in managerAttrs: + self.spinbox.pack(managerAttrs["spinbox"]) else: self.spinbox.pack() return self -def make_textbox(self, parent, label, storageVar, packAttrs): - self = Frame(parent) - self.storageVar = storageVar - self.label = Label(self, text=label) - if packAttrs is not None and "label" in packAttrs: - self.label.pack(packAttrs["label"]) - else: - self.label.pack() - self.textbox = Entry(self, justify=RIGHT, textvariable=self.storageVar, width=3) - if "default" in packAttrs: - self.storageVar.set(packAttrs["default"]) - if packAttrs is not None and "textbox" in packAttrs: - self.textbox.pack(packAttrs["textbox"]) - else: - self.textbox.pack() - return self +def make_textbox(self, parent, label, storageVar, manager, managerAttrs): + widget = Empty() + widget.storageVar = storageVar + widget.label = Label(parent, text=label) + widget.textbox = Entry(parent, justify=RIGHT, textvariable=widget.storageVar, width=3) + if "default" in managerAttrs: + widget.storageVar.set(managerAttrs["default"]) + + # grid + if manager == "grid": + widget.label.grid(managerAttrs["label"] if managerAttrs is not None and "label" in managerAttrs else None, row=parent.thisRow, column=parent.thisCol) + parent.thisCol += 1 + widget.textbox.grid(managerAttrs["textbox"] if managerAttrs is not None and "textbox" in managerAttrs else None, row=parent.thisRow, column=parent.thisCol) + parent.thisRow += 1 + parent.thisCol = 0 + + # pack + elif manager == "pack": + widget.label.pack(managerAttrs["label"] if managerAttrs is not None and "label" in managerAttrs else None) + widget.textbox.pack(managerAttrs["textbox"] if managerAttrs is not None and "textbox" in managerAttrs else None) + return widget -def make_widget(self, type, parent, label, storageVar=None, packAttrs=dict(), options=None): +def make_widget(self, type, parent, label, storageVar=None, manager=None, managerAttrs=dict(), options=None): widget = None + if manager is None: + manager = "pack" thisStorageVar = storageVar if isinstance(storageVar,str): if storageVar == "int" or storageVar == "integer": @@ -103,27 +113,28 @@ def make_widget(self, type, parent, label, storageVar=None, packAttrs=dict(), op if type == "checkbox": if thisStorageVar is None: thisStorageVar = IntVar() - widget = make_checkbox(self, parent, label, thisStorageVar, packAttrs) + widget = make_checkbox(self, parent, label, thisStorageVar, manager, managerAttrs) elif type == "selectbox": if thisStorageVar is None: thisStorageVar = StringVar() - widget = make_selectbox(self, parent, label, options, thisStorageVar, packAttrs) + widget = make_selectbox(self, parent, label, options, thisStorageVar, manager, managerAttrs) elif type == "spinbox": if thisStorageVar is None: thisStorageVar = StringVar() - widget = make_spinbox(self, parent, label, thisStorageVar, packAttrs) + widget = make_spinbox(self, parent, label, thisStorageVar, manager, managerAttrs) elif type == "textbox": if thisStorageVar is None: thisStorageVar = StringVar() - widget = make_textbox(self, parent, label, thisStorageVar, packAttrs) + widget = make_textbox(self, parent, label, thisStorageVar, manager, managerAttrs) return widget def make_widget_from_dict(self, defn, parent): type = defn["type"] if "type" in defn else None label = defn["label"]["text"] if "label" in defn and "text" in defn["label"] else "" - packAttrs = defn["packAttrs"] if "packAttrs" in defn else None + manager = defn["manager"] if "manager" in defn else None + managerAttrs = defn["managerAttrs"] if "managerAttrs" in defn else None options = defn["options"] if "options" in defn else None - widget = make_widget(self, type, parent, label, None, packAttrs, options) + widget = make_widget(self, type, parent, label, None, manager, managerAttrs, options) return widget def make_widgets_from_dict(self, defns, parent): diff --git a/resources/app/gui/adjust/overview/leftAdjustFrame.json b/resources/app/gui/adjust/overview/leftAdjustFrame.json index ce8a5b32..ffa04198 100644 --- a/resources/app/gui/adjust/overview/leftAdjustFrame.json +++ b/resources/app/gui/adjust/overview/leftAdjustFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Heart Color" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -25,7 +25,7 @@ "label": { "text": "Heart Beep sound rate" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/adjust/overview/rightAdjustFrame.json b/resources/app/gui/adjust/overview/rightAdjustFrame.json index 0e3b510b..ba46ab97 100644 --- a/resources/app/gui/adjust/overview/rightAdjustFrame.json +++ b/resources/app/gui/adjust/overview/rightAdjustFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Menu Speed" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -27,7 +27,7 @@ "label": { "text": "Overworld Palettes" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -46,7 +46,7 @@ "label": { "text": "Underworld Palettes" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/custom/overview/itemList1.json b/resources/app/gui/custom/overview/itemList1.json index 9e16f26b..f1757e1d 100644 --- a/resources/app/gui/custom/overview/itemList1.json +++ b/resources/app/gui/custom/overview/itemList1.json @@ -4,14 +4,10 @@ "label": { "text": "Bow" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,53] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -19,16 +15,12 @@ "progressivebow": { "type": "textbox", "label": { - "text": "Prog.Bow" + "text": "Progressive Bow" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,25] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 2 } @@ -36,16 +28,12 @@ "boomerang": { "type": "textbox", "label": { - "text": "B.Boomerang" + "text": "Blue Boomerang" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,4] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -53,15 +41,12 @@ "redmerang": { "type": "textbox", "label": { - "text": "M.Boomerang" + "text": "Red Boomerang" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left" - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -71,14 +56,10 @@ "label": { "text": "Hookshot" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,24] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -88,14 +69,10 @@ "label": { "text": "Mushroom" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,17] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -105,13 +82,10 @@ "label": { "text": "Magic Powder" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left" - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -121,14 +95,10 @@ "label": { "text": "Fire Rod" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,33] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -138,14 +108,10 @@ "label": { "text": "Ice Rod" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,37] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -155,14 +121,10 @@ "label": { "text": "Bombos" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,32] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -172,14 +134,10 @@ "label": { "text": "Ether" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,49] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -189,14 +147,10 @@ "label": { "text": "Quake" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,42] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -206,14 +160,10 @@ "label": { "text": "Lamp" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,46] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -223,14 +173,10 @@ "label": { "text": "Hammer" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,29] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -240,14 +186,10 @@ "label": { "text": "Shovel" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,41] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } diff --git a/resources/app/gui/custom/overview/itemList2.json b/resources/app/gui/custom/overview/itemList2.json index fac1e620..f55a8c5c 100644 --- a/resources/app/gui/custom/overview/itemList2.json +++ b/resources/app/gui/custom/overview/itemList2.json @@ -4,14 +4,10 @@ "label": { "text": "Flute" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,58] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -21,14 +17,10 @@ "label": { "text": "Bug Net" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,41] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -38,14 +30,10 @@ "label": { "text": "Book" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,57] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -55,14 +43,10 @@ "label": { "text": "Bottle" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,53] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 4 } @@ -70,16 +54,12 @@ "somaria": { "type": "textbox", "label": { - "text": "C.Somaria" + "text": "Cane of Somaria" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,30] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -87,16 +67,12 @@ "byrna": { "type": "textbox", "label": { - "text": "C.Byrna" + "text": "Cane of Byrna" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,43] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -106,14 +82,10 @@ "label": { "text": "Magic Cape" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,21] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -123,14 +95,10 @@ "label": { "text": "Magic Mirror" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,15] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -140,14 +108,10 @@ "label": { "text": "Pegasus Boots" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,8] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -157,14 +121,10 @@ "label": { "text": "Power Glove" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,18] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -174,14 +134,10 @@ "label": { "text": "Titan's Mitt" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,25] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -189,16 +145,12 @@ "progressiveglove": { "type": "textbox", "label": { - "text": "Prog.Glove" + "text": "Progressive Glove" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,26] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 2 } @@ -208,14 +160,10 @@ "label": { "text": "Flippers" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,43] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -225,14 +173,10 @@ "label": { "text": "Moon Pearl" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,23] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -242,14 +186,10 @@ "label": { "text": "Piece of Heart" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,10] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 24 } diff --git a/resources/app/gui/custom/overview/itemList3.json b/resources/app/gui/custom/overview/itemList3.json index cb7b40ec..48e2e674 100644 --- a/resources/app/gui/custom/overview/itemList3.json +++ b/resources/app/gui/custom/overview/itemList3.json @@ -4,13 +4,10 @@ "label": { "text": "Heart Container" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left" - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 10 } @@ -20,13 +17,10 @@ "label": { "text": "Sanctuary Heart" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left" - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -34,16 +28,12 @@ "sword1": { "type": "textbox", "label": { - "text": "Sword 1" + "text": "Fighters' Sword" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,42] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -51,16 +41,12 @@ "sword2": { "type": "textbox", "label": { - "text": "Sword 2" + "text": "Master Sword" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,42] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -68,16 +54,12 @@ "sword3": { "type": "textbox", "label": { - "text": "Sword 3" + "text": "Tempered Sword" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,42] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -85,16 +67,12 @@ "sword4": { "type": "textbox", "label": { - "text": "Sword 4" + "text": "Golden Sword" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,42] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -102,16 +80,12 @@ "progressivesword": { "type": "textbox", "label": { - "text": "Prog.Sword" + "text": "Progressive Sword" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,23] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 4 } @@ -119,16 +93,12 @@ "shield1": { "type": "textbox", "label": { - "text": "Shield 1" + "text": "Fighters' Shield" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,43] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -136,16 +106,12 @@ "shield2": { "type": "textbox", "label": { - "text": "Shield 2" + "text": "Fire Shield" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,43] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -153,16 +119,12 @@ "shield3": { "type": "textbox", "label": { - "text": "Shield 3" + "text": "Mirror Shield" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,43] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -170,16 +132,12 @@ "progressiveshield": { "type": "textbox", "label": { - "text": "Prog.Shield" + "text": "Progressive Shield" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,24] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 3 } @@ -189,14 +147,10 @@ "label": { "text": "Blue Mail" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,35] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -206,14 +160,10 @@ "label": { "text": "Red Mail" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,38] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -221,16 +171,12 @@ "progressivemail": { "type": "textbox", "label": { - "text": "Prog.Mail" + "text": "Progressive Mail" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,33] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 2 } @@ -240,14 +186,10 @@ "label": { "text": "Half Magic" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,26] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } diff --git a/resources/app/gui/custom/overview/itemList4.json b/resources/app/gui/custom/overview/itemList4.json index 6a6b43f6..83ae2dd0 100644 --- a/resources/app/gui/custom/overview/itemList4.json +++ b/resources/app/gui/custom/overview/itemList4.json @@ -4,13 +4,10 @@ "label": { "text": "Quarter Magic" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left" - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -18,16 +15,12 @@ "bombsplus5": { "type": "textbox", "label": { - "text": "Bomb C.+5" + "text": "Bomb Cap +5" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [1,15] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -35,16 +28,12 @@ "bombsplus10": { "type": "textbox", "label": { - "text": "Bomb C.+10" + "text": "Bomb Cap +10" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,10] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -52,16 +41,12 @@ "arrowsplus5": { "type": "textbox", "label": { - "text": "Arrow C.+5" + "text": "Arrow Cap +5" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,16] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -69,16 +54,12 @@ "arrowsplus10": { "type": "textbox", "label": { - "text": "Arrow C.+10" + "text": "Arrow Cap +10" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,10] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -88,14 +69,10 @@ "label": { "text": "Arrow (1)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,27] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -105,14 +82,10 @@ "label": { "text": "Arrow (10)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,21] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 12 } @@ -122,14 +95,10 @@ "label": { "text": "Bomb (1)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,27] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -139,14 +108,10 @@ "label": { "text": "Bomb (3)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,27] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 13 } @@ -156,14 +121,10 @@ "label": { "text": "Bomb (10)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,21] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } @@ -173,14 +134,10 @@ "label": { "text": "Rupee (1)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,25] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 2 } @@ -190,14 +147,10 @@ "label": { "text": "Rupee (5)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,25] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 4 } @@ -207,14 +160,10 @@ "label": { "text": "Rupee (20)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,19] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 28 } @@ -224,14 +173,10 @@ "label": { "text": "Rupee (50)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,19] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 7 } @@ -241,14 +186,10 @@ "label": { "text": "Rupee (100)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,13] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 1 } diff --git a/resources/app/gui/custom/overview/itemList5.json b/resources/app/gui/custom/overview/itemList5.json index de75b805..0ffc876f 100644 --- a/resources/app/gui/custom/overview/itemList5.json +++ b/resources/app/gui/custom/overview/itemList5.json @@ -4,14 +4,10 @@ "label": { "text": "Rupee (300)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,54] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 5 } @@ -21,14 +17,10 @@ "label": { "text": "Blue Clock" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,60] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -38,14 +30,10 @@ "label": { "text": "Green Clock" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,52] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -55,14 +43,10 @@ "label": { "text": "Red Clock" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,63] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -72,13 +56,10 @@ "label": { "text": "Silver Arrows Upgrade" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left" - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -88,14 +69,10 @@ "label": { "text": "Generic Keys" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,49] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -105,14 +82,10 @@ "label": { "text": "Triforce Pieces" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,40] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -122,14 +95,10 @@ "label": { "text": "Triforce Pieces Goal" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,13] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -139,14 +108,10 @@ "label": { "text": "Triforce (win game)" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,13] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -156,14 +121,10 @@ "label": { "text": "Rupoor" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,77] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 0 } @@ -173,14 +134,10 @@ "label": { "text": "Rupoor Cost" }, - "packAttrs": { + "manager": "grid", + "managerAttrs": { "label": { - "anchor": "w", - "side": "left", - "padx": [0,50] - }, - "textbox": { - "side": "right" + "sticky": "w" }, "default": 10 } diff --git a/resources/app/gui/randomize/dungeon/widgets.json b/resources/app/gui/randomize/dungeon/widgets.json index e58aa1ea..60255d8e 100644 --- a/resources/app/gui/randomize/dungeon/widgets.json +++ b/resources/app/gui/randomize/dungeon/widgets.json @@ -4,7 +4,7 @@ "label": { "text": "Dungeon Door Shuffle" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -30,7 +30,7 @@ "label": { "text": "Dungeon Chest Counters" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/enemizer/leftEnemizerFrame.json b/resources/app/gui/randomize/enemizer/leftEnemizerFrame.json index bf5fab87..0c54605d 100644 --- a/resources/app/gui/randomize/enemizer/leftEnemizerFrame.json +++ b/resources/app/gui/randomize/enemizer/leftEnemizerFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Enemy Shuffle" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -23,7 +23,7 @@ "label": { "text": "Boss Shuffle" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/enemizer/rightEnemizerFrame.json b/resources/app/gui/randomize/enemizer/rightEnemizerFrame.json index 5f559dc1..4e3629b6 100644 --- a/resources/app/gui/randomize/enemizer/rightEnemizerFrame.json +++ b/resources/app/gui/randomize/enemizer/rightEnemizerFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Enemy Damage" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -23,7 +23,7 @@ "label": { "text": "Enemy Health" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/entrando/widgets.json b/resources/app/gui/randomize/entrando/widgets.json index ceb04d45..ec1cc4c7 100644 --- a/resources/app/gui/randomize/entrando/widgets.json +++ b/resources/app/gui/randomize/entrando/widgets.json @@ -16,7 +16,7 @@ "label": { "text": "Entrance Shuffle" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, "selectbox": { "side": "right" } }, diff --git a/resources/app/gui/randomize/gameoptions/checkboxes.json b/resources/app/gui/randomize/gameoptions/checkboxes.json index e531d2e9..ba7b0f9c 100644 --- a/resources/app/gui/randomize/gameoptions/checkboxes.json +++ b/resources/app/gui/randomize/gameoptions/checkboxes.json @@ -3,7 +3,8 @@ "type": "checkbox", "label": { "text": "Include Helpful Hints" - } + }, + "default": "true" }, "nobgm": { "type": "checkbox", diff --git a/resources/app/gui/randomize/gameoptions/leftRomOptionsFrame.json b/resources/app/gui/randomize/gameoptions/leftRomOptionsFrame.json index ce8a5b32..ffa04198 100644 --- a/resources/app/gui/randomize/gameoptions/leftRomOptionsFrame.json +++ b/resources/app/gui/randomize/gameoptions/leftRomOptionsFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Heart Color" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -25,7 +25,7 @@ "label": { "text": "Heart Beep sound rate" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/gameoptions/rightRomOptionsFrame.json b/resources/app/gui/randomize/gameoptions/rightRomOptionsFrame.json index 0e3b510b..ba46ab97 100644 --- a/resources/app/gui/randomize/gameoptions/rightRomOptionsFrame.json +++ b/resources/app/gui/randomize/gameoptions/rightRomOptionsFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Menu Speed" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -27,7 +27,7 @@ "label": { "text": "Overworld Palettes" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -46,7 +46,7 @@ "label": { "text": "Underworld Palettes" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/item/leftItemFrame.json b/resources/app/gui/randomize/item/leftItemFrame.json index ec3d2a38..85e8eed0 100644 --- a/resources/app/gui/randomize/item/leftItemFrame.json +++ b/resources/app/gui/randomize/item/leftItemFrame.json @@ -4,7 +4,7 @@ "label": { "text": "World State" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -24,7 +24,7 @@ "label": { "text": "Logic Level" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -43,7 +43,7 @@ "label": { "text": "Goal" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -64,7 +64,7 @@ "label": { "text": "Crystals to open GT" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -89,7 +89,7 @@ "label": { "text": "Crystals to harm Ganon" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -114,7 +114,7 @@ "label": { "text": "Weapons" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/item/rightItemFrame.json b/resources/app/gui/randomize/item/rightItemFrame.json index 8773f88b..0a1b6fff 100644 --- a/resources/app/gui/randomize/item/rightItemFrame.json +++ b/resources/app/gui/randomize/item/rightItemFrame.json @@ -4,7 +4,7 @@ "label": { "text": "Item Pool" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -23,7 +23,7 @@ "label": { "text": "Item Functionality" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -42,7 +42,7 @@ "label": { "text": "Timer Setting" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -64,7 +64,7 @@ "label": { "text": "Progressive Items" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -83,7 +83,7 @@ "label": { "text": "Accessibility" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, @@ -102,7 +102,7 @@ "label": { "text": "Item Sorting" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" }, diff --git a/resources/app/gui/randomize/multiworld/widgets.json b/resources/app/gui/randomize/multiworld/widgets.json index 958e7000..b943c017 100644 --- a/resources/app/gui/randomize/multiworld/widgets.json +++ b/resources/app/gui/randomize/multiworld/widgets.json @@ -4,7 +4,7 @@ "label": { "text": "Worlds" }, - "packAttrs": { + "managerAttrs": { "label": { "side": "left" },