WoW:USERAPI Frame SetManyAttributes: Difference between revisions

From AddOn Studio
Jump to navigation Jump to search
No edit summary
 
m (Move page script moved page USERAPI Frame SetManyAttributes to USERAPI Frame SetManyAttributes without leaving a redirect)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{userfunc}}
{{usermethod}}
__NOTOC__
 
Small function to be attached to secure frames to allow for setting many attributes in a single call.
Small function to be attached to secure frames to allow for setting many attributes in a single call.


Line 22: Line 20:
  frames[1]:SetManyAttributes("type1", "macro", "macrotext", "/equip Hydrocane")
  frames[1]:SetManyAttributes("type1", "macro", "macrotext", "/equip Hydrocane")
  frames[2]:SetManyAttributes("type1", "spell", "spell", "Greater Heal")
  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");

Latest revision as of 04:49, 15 August 2023

This page documents a <i>user-defined function</i> 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[edit]

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