Mercurial > wow > reaction
diff classes/PetActionButton.lua @ 234:0e20f65375d5
Reworked button creation to not use goofy event driven semantics.
author | Flick |
---|---|
date | Tue, 22 Mar 2011 17:05:51 -0700 |
parents | 158c9299185b |
children |
line wrap: on
line diff
--- a/classes/PetActionButton.lua Tue Mar 22 11:48:09 2011 -0700 +++ b/classes/PetActionButton.lua Tue Mar 22 17:05:51 2011 -0700 @@ -78,7 +78,7 @@ ReAction.Button.PetAction = Pet ReAction:RegisterBarType(Pet) -function Pet:New( idx, config, bar, idHint ) +function Pet:New( config, bar, idx, idHint ) local name = format("ReAction_%s_PetAction_%d",bar:GetName(),idx) self = Super.New(self, name, config, bar, idx, "SecureActionButtonTemplate, ActionButtonTemplate" ) @@ -160,6 +160,26 @@ return self end +function Pet:SetupBar(bar) + Super.SetupBar(self,bar) + + -- auto show/hide when pet exists + bar:RegisterUnitWatch("pet",true) + + self:UpdateButtonLock(bar) +end + +function Pet:UpdateButtonLock(bar) + local f = bar:GetFrame() + f:SetAttribute("lockbuttons",bar.config.lockButtons) + f:SetAttribute("lockbuttonscombat",bar.config.lockButtonsCombat) + f:Execute( + [[ + lockButtons = self:GetAttribute("lockbuttons") + lockButtonsCombat = self:GetAttribute("lockbuttonscombat") + ]]) +end + function Pet:Refresh() Super.Refresh(self) self:Update()