local addonName, addon = ...
function addon:RunTest()
function CliqueTest_Unit_OnShow(self)
local unit = SecureButton_GetUnit(self)
if not unit or not UnitExists(unit) then
return
end
local name = UnitName(unit)
self.name:SetText(name)
self.healthBar:SetMinMaxValues(0, UnitHealthMax(unit))
self.powerBar:SetMinMaxValues(0, UnitPowerMax(unit))
self.healthBar:SetValue(UnitHealth(unit))
self.powerBar:SetValue(UnitPower(unit))
end
-- Create a fake "group header" to test things properly
local groupheader = CreateFrame("Button", "MyGroupHeader", UIParent, "SecureGroupHeaderTemplate")
SecureHandler_OnLoad(groupheader)
-- Ensure the group header has a reference to the click-cast header
groupheader:SetFrameRef("clickcast_header", addon.header)
-- Set header attributes
groupheader:SetAttribute("showParty", true)
groupheader:SetAttribute("showRaid", true)
groupheader:SetAttribute("showPlayer", true)
groupheader:SetAttribute("showSolo", true)
groupheader:SetAttribute("maxColumns", 8)
groupheader:SetAttribute("unitsPerColumn", 5)
groupheader:SetAttribute("columnAnchorPoint", "TOP")
groupheader:SetAttribute("point", "LEFT")
groupheader:SetAttribute("template", "CliqueTest_UnitTemplate")
groupheader:SetAttribute("templateType", "Button")
groupheader:SetAttribute("xOffset", -1)
groupheader:SetAttribute("yOffset", -1)
-- Set up the group header to display a solo/party/raid frame
groupheader:SetAttribute("initialConfigFunction", [==[
-- Register this frame with the global click-cast header
local header = self:GetParent():GetFrameRef("clickcast_header")
header:SetAttribute("clickcast_button", self)
header:RunAttribute("clickcast_register")
]==])
groupheader:SetPoint("CENTER", UIParent, "CENTER", 0, 0)
groupheader:Show()
-- Now create a pet frame, for testing useparent and other oddities
-- Create a fake "group header" to test things properly
local petheader = CreateFrame("Button", "MyGroupPetHeader", UIParent, "SecureGroupPetHeaderTemplate")
SecureHandler_OnLoad(petheader)
-- Ensure the group header has a reference to the click-cast header
petheader:SetFrameRef("clickcast_header", addon.header)
-- Set header attributes
petheader:SetAttribute("useOwnerUnit", true)
petheader:SetAttribute("showParty", true)
petheader:SetAttribute("showRaid", true)
petheader:SetAttribute("showPlayer", true)
petheader:SetAttribute("showSolo", true)
petheader:SetAttribute("maxColumns", 8)
petheader:SetAttribute("unitsPerColumn", 5)
petheader:SetAttribute("columnAnchorPoint", "TOP")
petheader:SetAttribute("point", "LEFT")
petheader:SetAttribute("template", "CliqueTest_UnitTemplate")
petheader:SetAttribute("templateType", "Button")
petheader:SetAttribute("xOffset", -1)
petheader:SetAttribute("yOffset", -1)
-- Set up the group header to display a solo/party/raid frame
petheader:SetAttribute("initialConfigFunction", [==[
self:SetAttribute("unitsuffix", "pet")
-- Register this frame with the global click-cast header
local header = self:GetParent():GetFrameRef("clickcast_header")
header:SetAttribute("clickcast_button", self)
header:RunAttribute("clickcast_register")
]==])
petheader:SetPoint("LEFT", groupheader, "RIGHT", 0, 0)
petheader:Show()
end