Arrayify more stuff

Ignore settings file
Rip out working_dirs in favor of settings
Set main pages to array
Set bottom frame to array
This commit is contained in:
Mike A. Trethewey
2020-02-15 01:41:21 -08:00
parent 62efaebb4d
commit 3fe2c02824
9 changed files with 187 additions and 90 deletions

View File

@@ -6,7 +6,7 @@ import gui.widgets as widgets
import logging
def adjust_page(top, parent, working_dirs):
def adjust_page(top, parent, settings):
# Adjust page
self = ttk.Frame(parent)
@@ -164,13 +164,13 @@ def adjust_page(top, parent, working_dirs):
adjustRomFrame = Frame(bottomAdjustFrame)
adjustRomLabel = Label(adjustRomFrame, text='Rom to adjust: ')
self.romVar2 = StringVar(value=working_dirs["adjust.rom"])
self.romVar2 = StringVar(value=settings["rom"])
romEntry2 = Entry(adjustRomFrame, textvariable=self.romVar2)
def RomSelect2():
rom = filedialog.askopenfilename(filetypes=[("Rom Files", (".sfc", ".smc")), ("All Files", "*")])
if rom:
working_dirs["adjust.rom"] = rom
settings["rom"] = rom
self.romVar2.set(rom)
romSelectButton2 = Button(adjustRomFrame, text='Select Rom', command=RomSelect2)
@@ -202,4 +202,4 @@ def adjust_page(top, parent, working_dirs):
adjustButton = Button(bottomAdjustFrame, text='Adjust Rom', command=adjustRom)
adjustButton.pack(side=BOTTOM, padx=(5, 0))
return self,working_dirs
return self,settings

View File

@@ -3,7 +3,7 @@ from argparse import Namespace
import logging
import os
import random
from CLI import parse_arguments, get_working_dirs
from CLI import parse_arguments, get_settings
from Main import main
from Utils import local_path, output_path, open_file
import gui.widgets as widgets
@@ -20,11 +20,11 @@ def bottom_frame(self, parent, args=None):
seedCountFrame.pack()
## Seed #
seedLabel = Label(self, text='Seed #')
savedSeed = parent.working_dirs["gen.seed"]
savedSeed = parent.settings["seed"]
self.seedVar = StringVar(value=savedSeed)
def saveSeed(caller,_,mode):
savedSeed = self.seedVar.get()
parent.working_dirs["gen.seed"] = int(savedSeed) if savedSeed.isdigit() else None
parent.settings["seed"] = int(savedSeed) if savedSeed.isdigit() else None
self.seedVar.trace_add("write",saveSeed)
seedEntry = Entry(self, width=15, textvariable=self.seedVar)
seedLabel.pack(side=LEFT)
@@ -72,7 +72,7 @@ def bottom_frame(self, parent, args=None):
if args and args.outputpath:
open_file(output_path(args.outputpath))
else:
open_file(output_path(parent.working_dirs["outputpath"]))
open_file(output_path(parent.settings["outputpath"]))
openOutputButton = Button(self, text='Open Output Directory', command=open_output)
openOutputButton.pack(side=RIGHT)
@@ -90,8 +90,8 @@ def create_guiargs(parent):
guiargs = Namespace()
guiargs.multi = int(parent.multiworldWindow.multiworldWidgets["worlds"].storageVar.get())
guiargs.names = parent.multiworldWindow.namesVar.get()
guiargs.seed = int(parent.farBottomFrame.seedVar.get()) if parent.farBottomFrame.seedVar.get() else None
guiargs.count = int(parent.farBottomFrame.bottomWidgets["generationcount"].storageVar.get()) if parent.farBottomFrame.bottomWidgets["generationcount"].storageVar.get() != '1' else None
guiargs.seed = int(parent.frames["bottom"].seedVar.get()) if parent.frames["bottom"].seedVar.get() else None
guiargs.count = int(parent.frames["bottom"].bottomWidgets["generationcount"].storageVar.get()) if parent.frames["bottom"].bottomWidgets["generationcount"].storageVar.get() != '1' else None
guiargs.mode = parent.itemWindow.itemWidgets["worldstate"].storageVar.get()
guiargs.logic = parent.itemWindow.itemWidgets["logiclevel"].storageVar.get()

View File

@@ -22,9 +22,9 @@ def loadcliargs(gui, args):
if args.multi:
gui.multiworldWindow.multiworldWidgets["worlds"].storageVar.set(str(args.multi))
if args.count:
gui.farBottomFrame.bottomWidgets["generationcount"].storageVar.set(str(args.count))
gui.frames["bottom"].bottomWidgets["generationcount"].storageVar.set(str(args.count))
if args.seed:
gui.farBottomFrame.seedVar.set(str(args.seed))
gui.frames["bottom"].seedVar.set(str(args.seed))
gui.itemWindow.itemWidgets["worldstate"].storageVar.set(args.mode)
gui.itemWindow.itemWidgets["weapons"].storageVar.set(args.swords)
gui.itemWindow.itemWidgets["itempool"].storageVar.set(args.difficulty)

View File

@@ -2,7 +2,7 @@ import os
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, LabelFrame, OptionMenu, N, E, W, LEFT, RIGHT, X
import gui.widgets as widgets
def enemizer_page(parent,working_dirs):
def enemizer_page(parent,settings):
# Enemizer
self = ttk.Frame(parent)
@@ -24,9 +24,9 @@ def enemizer_page(parent,working_dirs):
enemizerPathFrame = Frame(self)
enemizerCLIlabel = Label(enemizerPathFrame, text="EnemizerCLI path: ")
enemizerCLIlabel.pack(side=LEFT)
self.enemizerCLIpathVar = StringVar(value=working_dirs["enemizer.cli"])
self.enemizerCLIpathVar = StringVar(value=settings["enemizercli"])
def saveEnemizerPath(caller,_,mode):
working_dirs["enemizer.cli"] = self.enemizerCLIpathVar.get()
settings["enemizercli"] = self.enemizerCLIpathVar.get()
self.enemizerCLIpathVar.trace_add("write",saveEnemizerPath)
enemizerCLIpathEntry = Entry(enemizerPathFrame, textvariable=self.enemizerCLIpathVar)
enemizerCLIpathEntry.pack(side=LEFT, fill=X, expand=True)
@@ -34,7 +34,7 @@ def enemizer_page(parent,working_dirs):
path = filedialog.askopenfilename(filetypes=[("EnemizerCLI executable", "*EnemizerCLI*")], initialdir=os.path.join("."))
if path:
self.enemizerCLIpathVar.set(path)
working_dirs["enemizer.cli"] = path
settings["enemizercli"] = path
enemizerCLIbrowseButton = Button(enemizerPathFrame, text='...', command=EnemizerSelectPath)
enemizerCLIbrowseButton.pack(side=LEFT)
enemizerPathFrame.pack(fill=X, expand=True)
@@ -115,4 +115,4 @@ def enemizer_page(parent,working_dirs):
)
self.enemizerWidgets[key].pack(anchor=E)
return self,working_dirs
return self,settings

View File

@@ -2,7 +2,7 @@ import os
from tkinter import ttk, filedialog, IntVar, StringVar, Button, Checkbutton, Entry, Frame, Label, E, W, LEFT, RIGHT, X
import gui.widgets as widgets
def generation_page(parent,working_dirs):
def generation_page(parent,settings):
# Generation Setup
self = ttk.Frame(parent)
@@ -47,10 +47,10 @@ def generation_page(parent,working_dirs):
baseRomLabel = Label(baseRomFrame, text='Base Rom: ')
self.romVar = StringVar()
def saveBaseRom(caller,_,mode):
working_dirs["rom.base"] = self.romVar.get()
settings["rom"] = self.romVar.get()
self.romVar.trace_add("write",saveBaseRom)
romEntry = Entry(baseRomFrame, textvariable=self.romVar)
self.romVar.set(working_dirs["rom.base"])
self.romVar.set(settings["rom"])
def RomSelect():
rom = filedialog.askopenfilename(filetypes=[("Rom Files", (".sfc", ".smc")), ("All Files", "*")], initialdir=os.path.join("."))
@@ -62,4 +62,4 @@ def generation_page(parent,working_dirs):
romSelectButton.pack(side=LEFT)
baseRomFrame.pack(fill=X, expand=True)
return self,working_dirs
return self,settings

View File

@@ -1,7 +1,7 @@
from tkinter import ttk, StringVar, Entry, Frame, Label, Spinbox, N, E, W, X, LEFT, RIGHT
import gui.widgets as widgets
def multiworld_page(parent,working_dirs):
def multiworld_page(parent,settings):
# Multiworld
self = ttk.Frame(parent)
@@ -23,13 +23,13 @@ def multiworld_page(parent,working_dirs):
## List of Player Names
namesFrame = Frame(self)
namesLabel = Label(namesFrame, text='Player names')
self.namesVar = StringVar(value=working_dirs["multi.names"])
self.namesVar = StringVar(value=settings["names"])
def saveMultiNames(caller,_,mode):
working_dirs["multi.names"] = self.namesVar.get()
settings["names"] = self.namesVar.get()
self.namesVar.trace_add("write",saveMultiNames)
namesEntry = Entry(namesFrame, textvariable=self.namesVar)
namesLabel.pack(side=LEFT)
namesEntry.pack(side=LEFT, fill=X, expand=True)
namesFrame.pack(anchor=N, fill=X, expand=True)
return self,working_dirs
return self,settings