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");