diff classes/StanceButton.lua @ 137:4c1b85ec40d2

Hotkey support for stance bar
author Flick <flickerstreak@gmail.com>
date Wed, 18 Mar 2009 02:22:24 +0000
parents b8a14165b807
children 0de0e64a970f
line wrap: on
line diff
--- a/classes/StanceButton.lua	Wed Mar 18 02:00:51 2009 +0000
+++ b/classes/StanceButton.lua	Wed Mar 18 02:22:24 2009 +0000
@@ -40,7 +40,7 @@
   "UPDATE_SHAPESHIFT_FORMS",
   "UPDATE_SHAPESHIFT_USABLE",
   "UPDATE_SHAPESHIFT_COOLDOWN",
-  -- "UPDATE_INVENTORY_ALERTS" -- WTF?
+  "UPDATE_BINDINGS",
 }
 
 local eventListHunter = {
@@ -49,7 +49,8 @@
   "SPELL_UPDATE_COOLDOWN",
   "SPELL_UPDATE_USABLE",
   "UNIT_AURA",
-  "SPELLS_CHANGED"
+  "SPELLS_CHANGED",
+  "UPDATE_BINDINGS",
 }
 
 if playerClass == "HUNTER" then
@@ -80,7 +81,6 @@
 
   -- attribute setup
   f:SetAttribute("type","spell")
-  self:UpdateAction()
 
   -- non secure scripts
   f:SetScript("OnEvent", function(frame, ...) self:OnEvent(...) end)
@@ -173,6 +173,7 @@
 
 function Stance:Refresh()
   Super.Refresh(self)
+  self:UpdateHotkey()
   self:UpdateAction()
 end
 
@@ -201,8 +202,11 @@
   icon:SetTexture(texture)
   self:GetFrame():SetChecked( isActive and 1 or 0 )
   if isCastable then
+    self.frames.hotkey:SetVertexColor(1.0,1.0,1.0,1.0)
+    self.frames.hotkey:Show()
     icon:SetVertexColor(1.0, 1.0, 1.0)
   else
+    self.frames.hotkey:SetVertexColor(0.6,0.6,0.6,1.0)
     icon:SetVertexColor(0.4, 0.4, 0.4)
   end
 
@@ -268,6 +272,8 @@
     if arg == "player" then
       self:Update()
     end
+  elseif event == "UPDATE_BINDINGS" then
+    self:UpdateHotkey()
   else
     self:Update()
   end