ui-widgets: use onupdate to determine button state

This commit is contained in:
shagu
2020-10-03 14:57:56 +02:00
parent 4dd782c650
commit 892ef154b0
+10 -14
View File
@@ -763,23 +763,19 @@ function pfUI.api.SkinArrowButton(button, dir, size)
button.icon:SetTexture(pfUI.media["img:"..dir])
if not button.pfScripted then
RunOOC(function()
local enable = button.Enable
local disable = button.Disable
if not button.pficonfade then
local button, state = button, nil
button.pficonfade = CreateFrame("Frame", nil, button)
button.pficonfade:SetScript("OnUpdate", function()
if state == button:IsEnabled() then return end
state = button:IsEnabled()
button.Enable = function(self)
if enable then enable(self) end
self.icon:SetVertexColor(.8,.8,.8,1)
end
button.Disable = function(self)
if disable then disable(self) end
self.icon:SetVertexColor(.2,.2,.2,1)
if state > 0 then
button.icon:SetVertexColor(.8,.8,.8,1)
else
button.icon:SetVertexColor(.2,.2,.2,1)
end
end)
button.pfScripted = true
end
end