Strip Multiworld
This commit is contained in:
@@ -33,6 +33,8 @@ def loadcliargs(gui, args, settings=None):
|
|||||||
gui.pages[mainpage].pages[subpage].widgets[widget].checkbox.configure(text=label)
|
gui.pages[mainpage].pages[subpage].widgets[widget].checkbox.configure(text=label)
|
||||||
elif type == "selectbox":
|
elif type == "selectbox":
|
||||||
gui.pages[mainpage].pages[subpage].widgets[widget].label.configure(text=label)
|
gui.pages[mainpage].pages[subpage].widgets[widget].label.configure(text=label)
|
||||||
|
elif type == "spinbox":
|
||||||
|
gui.pages[mainpage].pages[subpage].widgets[widget].label.configure(text=label)
|
||||||
gui.pages[mainpage].pages[subpage].widgets[widget].storageVar.set(args[arg])
|
gui.pages[mainpage].pages[subpage].widgets[widget].storageVar.set(args[arg])
|
||||||
# If we're on the Game Options page and it's not about Hints
|
# If we're on the Game Options page and it's not about Hints
|
||||||
if subpage == "gameoptions" and not widget == "hints":
|
if subpage == "gameoptions" and not widget == "hints":
|
||||||
@@ -86,9 +88,21 @@ def loadcliargs(gui, args, settings=None):
|
|||||||
subpage = "multiworld"
|
subpage = "multiworld"
|
||||||
widget = "worlds"
|
widget = "worlds"
|
||||||
setting = "multi"
|
setting = "multi"
|
||||||
|
# set textbox/frame label
|
||||||
|
label = fish.translate("gui","gui",mainpage + '.' + subpage + '.' + widget)
|
||||||
|
gui.pages[mainpage].pages[subpage].widgets[widget].label.configure(text=label)
|
||||||
if args[setting]:
|
if args[setting]:
|
||||||
|
# set storagevar
|
||||||
gui.pages[mainpage].pages[subpage].widgets[widget].storageVar.set(str(args[setting]))
|
gui.pages[mainpage].pages[subpage].widgets[widget].storageVar.set(str(args[setting]))
|
||||||
|
|
||||||
|
# Set Multiworld Names
|
||||||
|
mainpage = "randomizer"
|
||||||
|
subpage = "multiworld"
|
||||||
|
widget = "names"
|
||||||
|
# set textbox/frame label
|
||||||
|
label = fish.translate("gui","gui",mainpage + '.' + subpage + '.' + widget)
|
||||||
|
gui.pages[mainpage].pages[subpage].widgets[widget].pieces["frame"].label.configure(text=label)
|
||||||
|
|
||||||
# Get Seed ID
|
# Get Seed ID
|
||||||
mainpage = "bottom"
|
mainpage = "bottom"
|
||||||
setting = "seed"
|
setting = "seed"
|
||||||
|
|||||||
@@ -47,26 +47,43 @@ def enemizer_page(parent,settings):
|
|||||||
|
|
||||||
## Enemizer CLI Path
|
## Enemizer CLI Path
|
||||||
# This one's more-complicated, build it and stuff it
|
# This one's more-complicated, build it and stuff it
|
||||||
|
# widget ID
|
||||||
widget = "enemizercli"
|
widget = "enemizercli"
|
||||||
|
|
||||||
|
# Empty object
|
||||||
self.widgets[widget] = Empty()
|
self.widgets[widget] = Empty()
|
||||||
|
# pieces
|
||||||
self.widgets[widget].pieces = {}
|
self.widgets[widget].pieces = {}
|
||||||
|
|
||||||
|
# frame
|
||||||
self.widgets[widget].pieces["frame"] = Frame(self.frames["bottomEnemizerFrame"])
|
self.widgets[widget].pieces["frame"] = Frame(self.frames["bottomEnemizerFrame"])
|
||||||
|
# frame: label
|
||||||
self.widgets[widget].pieces["frame"].label = Label(self.widgets[widget].pieces["frame"], text="EnemizerCLI path: ")
|
self.widgets[widget].pieces["frame"].label = Label(self.widgets[widget].pieces["frame"], text="EnemizerCLI path: ")
|
||||||
self.widgets[widget].pieces["frame"].label.pack(side=LEFT)
|
self.widgets[widget].pieces["frame"].label.pack(side=LEFT)
|
||||||
|
|
||||||
|
# get app online
|
||||||
self.widgets[widget].pieces["online"] = Empty()
|
self.widgets[widget].pieces["online"] = Empty()
|
||||||
|
# get app online: label
|
||||||
self.widgets[widget].pieces["online"].label = Label(self.widgets[widget].pieces["frame"], text="(get online)", fg="blue", cursor="hand2")
|
self.widgets[widget].pieces["online"].label = Label(self.widgets[widget].pieces["frame"], text="(get online)", fg="blue", cursor="hand2")
|
||||||
self.widgets[widget].pieces["online"].label.pack(side=LEFT)
|
self.widgets[widget].pieces["online"].label.pack(side=LEFT)
|
||||||
|
# get app online: open browser
|
||||||
self.widgets[widget].pieces["online"].label.bind("<Button-1>", open_enemizer_download)
|
self.widgets[widget].pieces["online"].label.bind("<Button-1>", open_enemizer_download)
|
||||||
|
# storage var
|
||||||
self.widgets[widget].storageVar = StringVar(value=settings["enemizercli"])
|
self.widgets[widget].storageVar = StringVar(value=settings["enemizercli"])
|
||||||
|
# textbox
|
||||||
self.widgets[widget].pieces["textbox"] = Entry(self.widgets[widget].pieces["frame"], textvariable=self.widgets[widget].storageVar)
|
self.widgets[widget].pieces["textbox"] = Entry(self.widgets[widget].pieces["frame"], textvariable=self.widgets[widget].storageVar)
|
||||||
self.widgets[widget].pieces["textbox"].pack(side=LEFT, fill=X, expand=True)
|
self.widgets[widget].pieces["textbox"].pack(side=LEFT, fill=X, expand=True)
|
||||||
|
|
||||||
def EnemizerSelectPath():
|
def EnemizerSelectPath():
|
||||||
path = filedialog.askopenfilename(filetypes=[("EnemizerCLI executable", "*EnemizerCLI*")], initialdir=os.path.join("."))
|
path = filedialog.askopenfilename(filetypes=[("EnemizerCLI executable", "*EnemizerCLI*")], initialdir=os.path.join("."))
|
||||||
if path:
|
if path:
|
||||||
self.widgets[widget].storageVar.set(path)
|
self.widgets[widget].storageVar.set(path)
|
||||||
settings["enemizercli"] = path
|
settings["enemizercli"] = path
|
||||||
|
# dialog button
|
||||||
self.widgets[widget].pieces["opendialog"] = Button(self.widgets[widget].pieces["frame"], text='...', command=EnemizerSelectPath)
|
self.widgets[widget].pieces["opendialog"] = Button(self.widgets[widget].pieces["frame"], text='...', command=EnemizerSelectPath)
|
||||||
self.widgets[widget].pieces["opendialog"].pack(side=LEFT)
|
self.widgets[widget].pieces["opendialog"].pack(side=LEFT)
|
||||||
|
|
||||||
|
# frame: pack
|
||||||
self.widgets[widget].pieces["frame"].pack(fill=X)
|
self.widgets[widget].pieces["frame"].pack(fill=X)
|
||||||
|
|
||||||
return self,settings
|
return self,settings
|
||||||
|
|||||||
@@ -29,12 +29,21 @@ def generation_page(parent,settings):
|
|||||||
self.frames["baserom"].pack(anchor=W, fill=X)
|
self.frames["baserom"].pack(anchor=W, fill=X)
|
||||||
## Locate base ROM
|
## Locate base ROM
|
||||||
# This one's more-complicated, build it and stuff it
|
# This one's more-complicated, build it and stuff it
|
||||||
|
# widget ID
|
||||||
widget = "rom"
|
widget = "rom"
|
||||||
|
|
||||||
|
# Empty object
|
||||||
self.widgets[widget] = Empty()
|
self.widgets[widget] = Empty()
|
||||||
|
# pieces
|
||||||
self.widgets[widget].pieces = {}
|
self.widgets[widget].pieces = {}
|
||||||
|
|
||||||
|
# frame
|
||||||
self.widgets[widget].pieces["frame"] = Frame(self.frames["baserom"])
|
self.widgets[widget].pieces["frame"] = Frame(self.frames["baserom"])
|
||||||
|
# frame: label
|
||||||
self.widgets[widget].pieces["frame"].label = Label(self.widgets[widget].pieces["frame"], text='Base Rom: ')
|
self.widgets[widget].pieces["frame"].label = Label(self.widgets[widget].pieces["frame"], text='Base Rom: ')
|
||||||
|
# storage var
|
||||||
self.widgets[widget].storageVar = StringVar()
|
self.widgets[widget].storageVar = StringVar()
|
||||||
|
# textbox
|
||||||
self.widgets[widget].pieces["textbox"] = Entry(self.widgets[widget].pieces["frame"], textvariable=self.widgets[widget].storageVar)
|
self.widgets[widget].pieces["textbox"] = Entry(self.widgets[widget].pieces["frame"], textvariable=self.widgets[widget].storageVar)
|
||||||
self.widgets[widget].storageVar.set(settings["rom"])
|
self.widgets[widget].storageVar.set(settings["rom"])
|
||||||
|
|
||||||
@@ -42,11 +51,16 @@ def generation_page(parent,settings):
|
|||||||
def RomSelect():
|
def RomSelect():
|
||||||
rom = filedialog.askopenfilename(filetypes=[("Rom Files", (".sfc", ".smc")), ("All Files", "*")], initialdir=os.path.join("."))
|
rom = filedialog.askopenfilename(filetypes=[("Rom Files", (".sfc", ".smc")), ("All Files", "*")], initialdir=os.path.join("."))
|
||||||
self.widgets[widget].storageVar.set(rom)
|
self.widgets[widget].storageVar.set(rom)
|
||||||
|
# dialog button
|
||||||
self.widgets[widget].pieces["button"] = Button(self.widgets[widget].pieces["frame"], text='Select Rom', command=RomSelect)
|
self.widgets[widget].pieces["button"] = Button(self.widgets[widget].pieces["frame"], text='Select Rom', command=RomSelect)
|
||||||
|
|
||||||
|
# frame label: pack
|
||||||
self.widgets[widget].pieces["frame"].label.pack(side=LEFT)
|
self.widgets[widget].pieces["frame"].label.pack(side=LEFT)
|
||||||
|
# textbox: pack
|
||||||
self.widgets[widget].pieces["textbox"].pack(side=LEFT, fill=X, expand=True)
|
self.widgets[widget].pieces["textbox"].pack(side=LEFT, fill=X, expand=True)
|
||||||
|
# button: pack
|
||||||
self.widgets[widget].pieces["button"].pack(side=LEFT)
|
self.widgets[widget].pieces["button"].pack(side=LEFT)
|
||||||
|
# frame: pack
|
||||||
self.widgets[widget].pieces["frame"].pack(fill=X)
|
self.widgets[widget].pieces["frame"].pack(fill=X)
|
||||||
|
|
||||||
return self,settings
|
return self,settings
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ from tkinter import ttk, StringVar, Entry, Frame, Label, N, E, W, X, LEFT
|
|||||||
import source.gui.widgets as widgets
|
import source.gui.widgets as widgets
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
|
from source.classes.Empty import Empty
|
||||||
|
|
||||||
def multiworld_page(parent,settings):
|
def multiworld_page(parent,settings):
|
||||||
# Multiworld
|
# Multiworld
|
||||||
@@ -26,16 +27,33 @@ def multiworld_page(parent,settings):
|
|||||||
|
|
||||||
## List of Player Names
|
## List of Player Names
|
||||||
# This one's more-complicated, build it and stuff it
|
# This one's more-complicated, build it and stuff it
|
||||||
key = "names"
|
# widget ID
|
||||||
self.widgets[key] = Frame(self.frames["widgets"])
|
widget = "names"
|
||||||
self.widgets[key].label = Label(self.widgets[key], text='Player names')
|
|
||||||
self.widgets[key].storageVar = StringVar(value=settings["names"])
|
# Empty object
|
||||||
|
self.widgets[widget] = Empty()
|
||||||
|
# pieces
|
||||||
|
self.widgets[widget].pieces = {}
|
||||||
|
|
||||||
|
# frame
|
||||||
|
self.widgets[widget].pieces["frame"] = Frame(self.frames["widgets"])
|
||||||
|
# frame: label
|
||||||
|
self.widgets[widget].pieces["frame"].label = Label(self.widgets[widget].pieces["frame"], text='Player names')
|
||||||
|
# storage var
|
||||||
|
self.widgets[widget].storageVar = StringVar(value=settings["names"])
|
||||||
|
|
||||||
|
# FIXME: Got some strange behavior here; both Entry-like objects react to mousewheel on Spinbox
|
||||||
def saveMultiNames(caller,_,mode):
|
def saveMultiNames(caller,_,mode):
|
||||||
settings["names"] = self.widgets[key].storageVar.get()
|
settings["names"] = self.widgets[widget].storageVar.get()
|
||||||
self.widgets[key].storageVar.trace_add("write",saveMultiNames)
|
self.widgets[widget].storageVar.trace_add("write",saveMultiNames)
|
||||||
self.widgets[key].textbox = Entry(self.widgets[key], textvariable=self.widgets[key].storageVar)
|
# textbox
|
||||||
self.widgets[key].label.pack(side=LEFT)
|
self.widgets[widget].pieces["textbox"] = Entry(self.widgets[widget].pieces["frame"], textvariable=self.widgets[key].storageVar)
|
||||||
self.widgets[key].textbox.pack(side=LEFT, fill=X, expand=True)
|
|
||||||
self.widgets[key].pack(anchor=N, fill=X, expand=True)
|
# frame label: pack
|
||||||
|
self.widgets[widget].pieces["frame"].label.pack(side=LEFT, anchor=N)
|
||||||
|
# textbox: pack
|
||||||
|
self.widgets[widget].pieces["textbox"].pack(side=LEFT, anchor=N, fill=X, expand=True)
|
||||||
|
# frame: pack
|
||||||
|
self.widgets[widget].pieces["frame"].pack(side=LEFT, anchor=N, fill=X, expand=True)
|
||||||
|
|
||||||
return self,settings
|
return self,settings
|
||||||
|
|||||||
Reference in New Issue
Block a user