Files

159 lines
5.6 KiB
Lua

local E, L, V, P, G = unpack(ElvUI)
local S = E:GetModule("Skins")
local AS = E:GetModule("AddOnSkins")
if not AS:IsAddonLODorEnabled("TradeskillInfoUI") then return end
local _G = _G
local unpack = unpack
-- TradeskillInfo r365
-- https://www.wowace.com/projects/tradeskill-info/files/449625
S:AddCallbackForAddon("TradeskillInfoUI", "TradeskillInfoUI", function()
if not E.private.addOnSkins.TradeskillInfo then return end
TradeskillInfoFrame:Width(670)
TradeskillInfoFrame:SetMinResize(670, TradeskillInfoFrame:GetHeight())
TradeskillInfoFrame:SetTemplate("Transparent")
S:HandleCloseButton(TradeskillInfoFrameCloseButton, TradeskillInfoFrame.backdrop)
S:HandleButton(TradeskillInfoResetButton)
S:HandleButton(TradeskillInfoOpposingButton)
S:HandleButton(TradeskillInfoNameButton)
S:HandleButton(TradeskillInfoReagentButton)
S:HandleButton(TradeskillInfoSearchButton)
S:HandleDropDownBox(TradeskillInfoSortDropDown)
S:HandleDropDownBox(TradeskillInfoTradeskillsDropDown)
S:HandleDropDownBox(TradeskillInfoAvailabilityDropDown)
TradeskillInfoListScrollFrame:StripTextures()
S:HandleScrollBar(TradeskillInfoListScrollFrameScrollBar)
TradeskillInfoDetailScrollFrame:StripTextures()
S:HandleScrollBar(TradeskillInfoDetailScrollFrameScrollBar)
S:HandleEditBox(TradeskillInfoInputBox)
TradeskillInfoDetailScrollChildFrame:StripTextures()
TradeskillInfoSkillIcon:StyleButton(nil, true)
TradeskillInfoSkillIcon:SetTemplate("Default")
TradeskillInfoSortDropDown:Point("TOPLEFT", 53, -29)
TradeskillInfoTradeskillsDropDown:Point("LEFT", TradeskillInfoSortDropDown, "RIGHT", -21, 0)
TradeskillInfoAvailabilityDropDown:Point("LEFT", TradeskillInfoTradeskillsDropDown, "RIGHT", -21, 0)
TradeskillInfoListFrame:Point("TOPLEFT", 8, -50)
TradeskillInfoListFrame:Point("RIGHT", TradeskillInfoDetailScrollFrame, "LEFT", -3, 0)
TradeskillInfoListFrame:Point("BOTTOM", TradeskillInfoResetButton, "TOP", 0, 5)
TradeskillInfoCollapseAllButton:Point("TOPLEFT", 4, -8)
TradeskillInfoSkill1:Point("TOPLEFT", 4, -28)
TradeskillInfoListScrollFrame:Point("TOPLEFT", 0, -26)
TradeskillInfoListScrollFrame:Point("BOTTOMRIGHT", -21, 0)
TradeskillInfoListScrollFrameScrollBar:Point("TOPLEFT", TradeskillInfoListScrollFrame, "TOPRIGHT", 3, -19)
TradeskillInfoListScrollFrameScrollBar:Point("BOTTOMLEFT", TradeskillInfoListScrollFrame, "BOTTOMRIGHT", 3, 19)
TradeskillInfoDetailScrollFrame:Width(304)
TradeskillInfoDetailScrollFrame:Point("TOPRIGHT", -29, -76)
TradeskillInfoDetailScrollFrame:Point("BOTTOMRIGHT", -31, 37)
TradeskillInfoDetailScrollFrameScrollBar:Point("TOPLEFT", TradeskillInfoDetailScrollFrame, "TOPRIGHT", 3, -19)
TradeskillInfoDetailScrollFrameScrollBar:Point("BOTTOMLEFT", TradeskillInfoDetailScrollFrame, "BOTTOMRIGHT", 3, 19)
TradeskillInfoSkillIcon:Size(47)
TradeskillInfoSkillIcon:Point("TOPLEFT", 10, -9)
TradeskillInfoSkillName:Point("TOPLEFT", 65, -9)
TradeskillInfoDescription:Point("TOPLEFT", 8, -64)
TradeskillInfoResetButton:Point("BOTTOMLEFT", 8, 8)
TradeskillInfoInputBox:Width(217)
TradeskillInfoSearchButton:Point("BOTTOMRIGHT", -8, 8)
TradeskillInfoInputBox:Point("RIGHT", TradeskillInfoSearchButton, "LEFT", -8, 0)
TradeskillInfoReagentButton:Point("RIGHT", TradeskillInfoInputBox, "LEFT", -8, 0)
TradeskillInfoNameButton:Point("RIGHT", TradeskillInfoReagentButton, "LEFT", -7, 0)
TradeskillInfoOpposingButton:Point("RIGHT", TradeskillInfoNameButton, "LEFT", -7, 0)
TradeskillInfoFrameResizeCorner:Point("BOTTOMRIGHT", -1, 1)
local skillIconSkinned
hooksecurefunc(TradeskillInfoSkillIcon, "SetNormalTexture", function(self)
local normalTexture = self:GetNormalTexture()
if normalTexture then
if not skillIconSkinned then
self:SetAlpha(1)
normalTexture:SetTexCoord(unpack(E.TexCoords))
normalTexture:SetInside()
skillIconSkinned = true
end
else
self:SetAlpha(0)
skillIconSkinned = nil
end
end)
for i = 1, TradeskillInfoUI.cons.maxSkillReagents or 8 do
local reagent = _G["TradeskillInfoReagent"..i]
local icon = _G["TradeskillInfoReagent"..i.."IconTexture"]
local count = _G["TradeskillInfoReagent"..i.."Count"]
local name = _G["TradeskillInfoReagent"..i.."Name"]
local nameFrame = _G["TradeskillInfoReagent"..i.."NameFrame"]
reagent:SetTemplate("Default")
reagent:StyleButton(nil, true)
reagent:Size(143, 40)
icon.backdrop = CreateFrame("Frame", nil, reagent)
icon.backdrop:SetTemplate()
icon.backdrop:Point("TOPLEFT", icon, -1, 1)
icon.backdrop:Point("BOTTOMRIGHT", icon, 1, -1)
icon:SetTexCoord(unpack(E.TexCoords))
icon:SetDrawLayer("OVERLAY")
icon:Size(E.PixelMode and 38 or 32)
icon:Point("TOPLEFT", E.PixelMode and 1 or 4, -(E.PixelMode and 1 or 4))
icon:SetParent(icon.backdrop)
count:SetParent(icon.backdrop)
count:SetDrawLayer("OVERLAY")
name:Point("LEFT", nameFrame, "LEFT", 20, 0)
nameFrame:Hide()
if i == 1 then
reagent:Point("TOPLEFT", TradeskillInfoReagentLabel, "BOTTOMLEFT", 1, -3)
elseif i % 2 == 0 then
reagent:Point("LEFT", _G["TradeskillInfoReagent"..(i-1)], "RIGHT", 3, 0)
else
reagent:Point("TOPLEFT", _G["TradeskillInfoReagent"..(i-2)], "BOTTOMLEFT", 0, -3)
end
end
local collapseButtons = -1
hooksecurefunc(TradeskillInfoUI, "DoFrameUpdate", function(self)
if collapseButtons >= self.vars.numSkillButtons then return end
if collapseButtons == -1 then
S:HandleCollapseExpandButton(TradeskillInfoCollapseAllButton)
collapseButtons = collapseButtons + 1
end
for i = collapseButtons + 1, self.vars.numSkillButtons do
local button = _G["TradeskillInfoSkill"..i]
if button then
S:HandleCollapseExpandButton(button)
end
end
collapseButtons = self.vars.numSkillButtons
end)
end)