Mercurial > wow > itemauditor
view Modules/Frames.lua @ 77:a8fc802b42ba
Changed the QuickAuctions decider to consider the number already owned and only calculate based on what needs to be crated.
Fixed the QuickAuctions decider to return the number of items to be created instead of the number of times to create. This makes a difference with things like Runescroll of Fortitude where 5 are created at once.
author | Asa Ayers <Asa.Ayers@Gmail.com> |
---|---|
date | Sun, 01 Aug 2010 08:42:29 -0700 |
parents | 32d53abee666 |
children | f37ab41f1928 |
line wrap: on
line source
local ItemAuditor = select(2, ...) local Frames = ItemAuditor:NewModule("Frames") local AceGUI = LibStub("AceGUI-3.0") local tabs = {} function Frames.RegisterTab(text, value, callback) tabs[value] = {text=text, callback=callback} end local displayFrame = false local currentContent = false local function switchTab(container, event, group) if tabs[group] == nil then error(format("Invaid tab name: %s", tostring(group))) end local cb = tabs[group].callback container:ReleaseChildren() if currentContent then currentContent:Hide() if displayFrame then displayFrame:SetStatusText('') end end currentContent = cb(container) end function Frames.CreateFrame(selectedTab) if not displayFrame then -- Create the frame container displayFrame = AceGUI:Create("Frame") ItemAuditor:RegisterFrame(displayFrame) local window = displayFrame.frame; -- I have no idea why AceGUI insists on using FULLSCREEN_DIALOG by default. window:SetFrameStrata("MEDIUM") displayFrame:SetTitle("ItemAuditor") displayFrame:SetStatusText("") displayFrame:SetLayout("Fill") window:SetHeight(500); local tabSet = {} for key, data in pairs(tabs) do tinsert(tabSet, {text=data['text'], value=key}) -- Default to the first tab. if not selectedTab then selectedTab = key end end -- Each tab can adjust the width as needed. window:SetWidth(300); displayFrame.tab = AceGUI:Create("TabGroup") displayFrame.tab:SetLayout("Flow") displayFrame.tab:SetTabs(tabSet) displayFrame.tab:SetCallback("OnGroupSelected", switchTab) displayFrame:AddChild(displayFrame.tab) end if not selectedTab then for key in pairs(tabs) do selectedTab = key break end end displayFrame.tab:SelectTab(selectedTab) displayFrame:Show() end function Frames.UpdateStatusText(message) if displayFrame then displayFrame:SetStatusText(message) end end function ItemAuditor:UpdateStatusText(message) return Frames.UpdateStatusText(message) end function ItemAuditor:RegisterTab(text, value, callback) return Frames.RegisterTab(text, value, callback) end function ItemAuditor:CreateFrame(selectedTab) Frames.CreateFrame(selectedTab) end