comparison 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
comparison
equal deleted inserted replaced
233:9b9f5fc84d34 234:0e20f65375d5
76 { __index = Super } ) 76 { __index = Super } )
77 77
78 ReAction.Button.PetAction = Pet 78 ReAction.Button.PetAction = Pet
79 ReAction:RegisterBarType(Pet) 79 ReAction:RegisterBarType(Pet)
80 80
81 function Pet:New( idx, config, bar, idHint ) 81 function Pet:New( config, bar, idx, idHint )
82 local name = format("ReAction_%s_PetAction_%d",bar:GetName(),idx) 82 local name = format("ReAction_%s_PetAction_%d",bar:GetName(),idx)
83 83
84 self = Super.New(self, name, config, bar, idx, "SecureActionButtonTemplate, ActionButtonTemplate" ) 84 self = Super.New(self, name, config, bar, idx, "SecureActionButtonTemplate, ActionButtonTemplate" )
85 85
86 local f = self:GetFrame() 86 local f = self:GetFrame()
158 f:Show() 158 f:Show()
159 159
160 return self 160 return self
161 end 161 end
162 162
163 function Pet:SetupBar(bar)
164 Super.SetupBar(self,bar)
165
166 -- auto show/hide when pet exists
167 bar:RegisterUnitWatch("pet",true)
168
169 self:UpdateButtonLock(bar)
170 end
171
172 function Pet:UpdateButtonLock(bar)
173 local f = bar:GetFrame()
174 f:SetAttribute("lockbuttons",bar.config.lockButtons)
175 f:SetAttribute("lockbuttonscombat",bar.config.lockButtonsCombat)
176 f:Execute(
177 [[
178 lockButtons = self:GetAttribute("lockbuttons")
179 lockButtonsCombat = self:GetAttribute("lockbuttonscombat")
180 ]])
181 end
182
163 function Pet:Refresh() 183 function Pet:Refresh()
164 Super.Refresh(self) 184 Super.Refresh(self)
165 self:Update() 185 self:Update()
166 self:UpdateHotkey() 186 self:UpdateHotkey()
167 end 187 end