You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

80 lines
3.0 KiB

--Pulled from CanIMogIt Overlay Sets.lua
local addonName, addon = ...
addon = LibStub("AceAddon-3.0"):GetAddon(addonName)
function addon:UpdateCanIMogIt()
end
if not C_AddOns.IsAddOnLoaded("CanIMogIt") then return end
local addonName, addon = ...
--addon = LibStub("AceAddon-3.0"):NewAddon(addon, addonName, "AceEvent-3.0", "AceConsole-3.0", "AceHook-3.0")
addon = LibStub("AceAddon-3.0"):GetAddon(addonName)
addon.Frame = LibStub("AceGUI-3.0")
local version = C_AddOns.GetAddOnMetadata("CanIMogIt", "Version")
local function UpdateText(parentFrame)
local frame = parentFrame.CanIMogItOverlay
if not frame then return end
if CanIMogItOptions["showSetInfo"] then
if not parentFrame.setID then frame.CanIMogItSetText:SetText(""); return end
local have, total = addon.SetsDataProvider:GetSetSourceCounts(parentFrame.setID)
local ratioText
if version == "10.1.5v1.53" then
ratioText = CanIMogIt:_GetRatioTextColor(have, total)
else
ratioText = CanIMogIt.GetRatioTextColor(have, total)
end
ratioText = ratioText .. have .. "/" .. total
if BetterWardrobeCollectionFrame.selectedCollectionTab == 2 then
frame.CanIMogItSetText:SetText(CanIMogIt:GetSetsVariantText(parentFrame.setID) or "")
elseif BetterWardrobeCollectionFrame.selectedCollectionTab == 3 then
frame.CanIMogItSetText:SetText(ratioText or "")
else
frame.CanIMogItSetText:SetText("")
end
else
frame.CanIMogItSetText:SetText("")
end
end
local function WardrobeCollectionFrame_CIMIOnValueChanged(_, elapsed)
-- For each button, update the text value
if _G["BetterWardrobeCollectionFrame"] == nil then return end
if not CanIMogIt.FrameShouldUpdate("WardrobeSets", elapsed or 1) then return end
local wardrobeSetsScrollFrame = _G["BetterWardrobeCollectionFrame"].SetsCollectionFrame.ListContainer.ScrollBox
local setFrames = wardrobeSetsScrollFrame:GetFrames()
for i = 1, #setFrames do
local frame = setFrames[i]
if frame then
-- add to frame
CIMI_AddToFrameSets(frame)
end
if frame and frame.CanIMogItOverlay then
-- update frame
UpdateText(frame)
end
end
end
function addon:UpdateCanIMogIt()
-- When the scrollbar moves, update the display.
_G["BetterWardrobeCollectionFrame"].SetsCollectionFrame.ListContainer:HookScript("OnUpdate", function() C_Timer.After(.05,WardrobeCollectionFrame_CIMIOnValueChanged) end)
_G["BetterWardrobeCollectionFrameTab2"]:HookScript("OnClick", function() C_Timer.After(.05,WardrobeCollectionFrame_CIMIOnValueChanged) end)
_G["BetterWardrobeCollectionFrameTab3"]:HookScript("OnClick", function() C_Timer.After(.05,WardrobeCollectionFrame_CIMIOnValueChanged) end)
CanIMogIt:RegisterMessage("OptionUpdate", function () C_Timer.After(.05, WardrobeCollectionFrame_CIMIOnValueChanged) end)
addon.frame:SetScript("OnEvent", function (self, event, addonName)
if event == "TRANSMOG_SEARCH_UPDATED" then
-- Must add a delay, as the frame updates after this is called.
C_Timer.After(.05, WardrobeCollectionFrame_CIMIOnValueChanged)
end
end)
end