This page documents a user-defined function that you can copy and paste into your addon. Replace <PREFIX> with your AddOn's prefix to avoid conflicts between different versions of these functions.
← User defined functions < Frame:SetManyAttributes
Small function to be attached to secure frames to allow for setting many attributes in a single call.
local function SetManyAttributes(self, ...)
for i=1,select("#", ...),2 do
local att,val = select(i, ...)
if not att then return end
self:SetAttribute(att,val)
end
end
Example[]
local frames = {}
for i=1,12 do
frames[i] = CreateFrame("Button", nil, UIParent, "SecureActionButtonTemplate")
frames[i].SetManyAttributes = SetManyAttributes
end
frames[1]:SetManyAttributes("type1", "macro", "macrotext", "/equip Hydrocane")
frames[2]:SetManyAttributes("type1", "spell", "spell", "Greater Heal")
Or to just use the function on a random frame:
SetManyAttributes(someFrame, "type1", "macro", "macrotext", "/equip Hydrocane");