def search(self, *args): all = [xmlParser.selection[-1], self.mods[0]] parentValues = [self.searchEntries[0][0].get(), self.modEntries[0][1].get(), self.categoryEntries[0][1].get()] allItemsValues = [self.searchEntries[1][0].get(), self.modEntries[1][1].get(), self.categoryEntries[1][1].get()] values = parentValues box = self.listBoxes[0] if self.window.focus_get() == self.searchEntries[1][2]: values = allItemsValues box = self.listBoxes[1] rows = dao.getItemsFromCatMods(values[2], values[1], *all, values[0]) windows.updateListBox(box, rows)
def fillBoxes(self): all = [xmlParser.selection[-1], self.mods[0]] parentValues = [self.searchEntries[0][0].get(), self.modEntries[0][1].get(), self.categoryEntries[0][1].get()] allItemsValues = [self.searchEntries[1][0].get(), self.modEntries[1][1].get(), self.categoryEntries[1][1].get()] values = parentValues box = self.listBoxes rows = dao.getItemsFromCatMods(values[2], values[1], *all, values[0]) windows.updateListBox(box[0], rows) values = allItemsValues rows = dao.getItemsFromCatMods(values[2], values[1], *all, values[0]) windows.updateListBox(box[1], rows)
def updateView(self, event): #rough all = [xmlParser.selection[-1], self.mods[0]] parentWidgets = [self.searchEntries[0][2], self.modEntries[0][1], self.categoryEntries[0][1]] parentValues = [self.searchEntries[0][0].get(), self.modEntries[0][1].get(), self.categoryEntries[0][1].get()] allItemsWidgets = [self.searchEntries[1][2], self.modEntries[1][1], self.categoryEntries[1][1]] allItemsValues = [self.searchEntries[1][0].get(), self.modEntries[1][1].get(), self.categoryEntries[1][1].get()] values = parentValues box = self.listBoxes[0] if event.widget in parentWidgets: values = parentValues box = self.listBoxes[0] if event.widget in allItemsWidgets: values = allItemsValues box = self.listBoxes[1] rows = dao.getItemsFromCatMods(values[2], values[1], *all, values[0]) windows.updateListBox(box, rows)
def createEntryBar(self): self.entryFrame = Frame(self.window) self.entryFrame.grid(row=0, column=0, sticky="nw") self.EFValues = Frame(self.entryFrame) self.EFValues.grid(padx=8, pady=6) Label(self.EFValues, text="name").grid(row=0, column=0, sticky="w", pady=5) Label(self.EFValues, text="nominal").grid(row=1, column=0, sticky="w", pady=5) Label(self.EFValues, text="min").grid(row=2, column=0, sticky="w", pady=5) Label(self.EFValues, text="restock").grid(row=3, column=0, sticky="w", pady=5) Label(self.EFValues, text="lifetime").grid(row=4, column=0, sticky="w", pady=5) Label(self.EFValues, text="Usages").grid(row=5, column=0, sticky="w", pady=5) Label(self.EFValues, text="Tiers").grid(row=6, column=0, sticky="w", pady=5) Label(self.EFValues, text="Type").grid(row=7, column=0, sticky="w", pady=5) Label(self.EFValues, text="Subtype").grid(row=8, column=0, sticky="w", pady=5) Label(self.EFValues, text="rarity").grid(row=9, column=0, sticky="w", pady=5) Label(self.EFValues, text="mod").grid(row=10, column=0, sticky="w", pady=5) Label(self.EFValues, text="trader").grid(row=11, column=0, sticky="w", pady=5) self.name_text = StringVar() self.nameEntry = Entry(self.EFValues, textvariable=self.name_text) self.nameEntry.grid(row=0, column=1, sticky="w") self.nominal_text = StringVar() self.nominalEntry = Entry( self.EFValues, textvariable=self.nominal_text, width=8 ) self.nominalEntry.grid(row=1, column=1, sticky="w") self.nominalEntry.bind("<FocusIn>", self.addEditedVal) self.nominalEntry.val = self.nominal_text self.min_text = StringVar() self.minEntry = Entry(self.EFValues, textvariable=self.min_text, width=8) self.minEntry.grid(row=2, column=1, sticky="w") self.minEntry.bind("<FocusIn>", self.addEditedVal) self.minEntry.val = self.min_text self.restock_text = StringVar() self.restockEntry = Entry( self.EFValues, textvariable=self.restock_text, width=8 ) self.restockEntry.grid(row=3, column=1, sticky="w") self.restockEntry.bind("<FocusIn>", self.addEditedVal) self.restockEntry.val = self.min_text self.lifetime_text = StringVar() self.lifetimeEntry = Entry( self.EFValues, textvariable=self.lifetime_text, width=8 ) self.lifetimeEntry.grid(row=4, column=1, sticky="w") self.lifetimeEntry.bind("<FocusIn>", self.addEditedVal) self.lifetimeEntry.val = self.lifetime_text self.usageListBox = Listbox( self.EFValues, height=len(categories.usages), selectmode="multiple", exportselection=False, ) self.usageListBox.grid(row=5, column=1, pady=5, sticky="w") self.usageListBox.bind("<FocusIn>", self.addEditedVal) self.tierListBox = Listbox( self.EFValues, height=4, selectmode="multiple", exportselection=False ) self.tierListBox.grid(row=6, column=1, pady=5, sticky="w") self.tierListBox.bind("<FocusIn>", self.addEditedVal) windows.updateListBox(self.usageListBox, categories.usages) windows.updateListBox(self.tierListBox, categories.tiers) self.typeEntrySel = StringVar() self.typeEntrySel.set("") self.typeEntrySel.trace("w", self.typeSelChange) self.typeOption = OptionMenu( self.EFValues, self.typeEntrySel, *xmlParser.selection[:-1] ) self.typeOption.grid(row=7, column=1, sticky="w", pady=5) self.subtypeAutoComp = Combobox_Autocomplete( self.EFValues, dao.getSubtypes(), highlightthickness=1 ) self.subtypeAutoComp.grid(row=8, column=1, sticky="w", pady=5) self.subtypeAutoComp.bind("<FocusIn>", self.addEditedVal) self.raritySel = StringVar() self.raritySel.set("undefined") self.rarityTrace = self.raritySel.trace("w", self.raritySelChange) self.rarityOption = OptionMenu( self.EFValues, self.raritySel, *rarities9.values() ) self.rarityOption.grid(row=9, column=1, sticky="w", pady=5) self.mod_text = StringVar() self.modEntry = Entry(self.EFValues, textvariable=self.mod_text, width=14) self.modEntry.grid(row=10, column=1, sticky="w", pady=5) self.modEntry.bind("<ButtonRelease-1>", self.addEditedVal) self.modEntry.val = self.mod_text self.EFCheckboxe = Frame(self.entryFrame) self.EFCheckboxe.grid(row=1, column=0, columnspan=2, sticky="w") ######################################################### self.trader_text = StringVar() self.traderEntry = Entry(self.EFValues, textvariable=self.trader_text) self.traderEntry.grid(row=11, column=1, sticky="w") self.traderEntry.bind("<FocusIn>", self.addEditedVal) self.traderEntry.val = self.trader_text self.EFCheckboxe = Frame(self.entryFrame) self.EFCheckboxe.grid(row=1, column=0, columnspan=2, sticky="w") ########################################################## self.deLoot = IntVar() self.deLootOption = Checkbutton( self.EFCheckboxe, text="Dynamic Event", variable=self.deLoot ) self.deLootOption.grid(row=0, column=0, sticky="w") self.deLootOption.bind( "<Button-1>", lambda e: self.addEditedVal(self.deLootOption.focus_set()) ) self.deLootOption.val = self.deLoot self.cargo = IntVar() self.cargoOption = Checkbutton( self.EFCheckboxe, text="Count in Cargo", variable=self.cargo ) self.cargoOption.grid(row=1, column=0, sticky="w") self.cargoOption.bind( "<Button-1>", lambda e: self.addEditedVal(self.cargoOption.focus_set()) ) self.cargoOption.val = self.cargo self.hoarder = IntVar() self.hoarderOption = Checkbutton( self.EFCheckboxe, text="Count in Hoarder", variable=self.hoarder ) self.hoarderOption.grid(row=2, column=0, sticky="w") self.hoarderOption.bind( "<Button-1>", lambda e: self.addEditedVal(self.hoarderOption.focus_set()) ) self.hoarderOption.val = self.hoarder self.map = IntVar() self.mapOption = Checkbutton( self.EFCheckboxe, text="Count in Map", variable=self.map ) self.mapOption.grid(row=3, column=0, sticky="w") self.mapOption.bind( "<Button-1>", lambda e: self.addEditedVal(self.mapOption.focus_set()) ) self.mapOption.val = self.map self.player = IntVar() self.playerOption = Checkbutton( self.EFCheckboxe, text="Count in Player", variable=self.player ) self.playerOption.grid(row=4, column=0, sticky="w") self.playerOption.bind( "<Button-1>", lambda e: self.addEditedVal(self.playerOption.focus_set()) ) self.playerOption.val = self.player Button(self.entryFrame, text="Update", width=12, command=self.updateSel).grid( row=3, column=0, pady=9 ) Button(self.entryFrame, text="Delete", width=12, command=self.deleteSel).grid( row=4, column=0, pady=5 )