From 3bb0c71c2bbf3540d122954e91b32700f32415cb Mon Sep 17 00:00:00 2001 From: "Johnny C. Lam" Date: Sat, 16 Feb 2013 21:50:58 +0000 Subject: [PATCH] Re-scan the action bar for when the player zones in or changes specs. git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@696 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- OvaleActionBar.lua | 43 +++++++++++++++++++++++++++++++++---------- OvaleOptions.lua | 6 ++++++ 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/OvaleActionBar.lua b/OvaleActionBar.lua index 4a6bfde..0f932ef 100644 --- a/OvaleActionBar.lua +++ b/OvaleActionBar.lua @@ -11,7 +11,11 @@ OvaleActionBar = LibStub("AceAddon-3.0"):NewAddon("OvaleActionBar", "AceEvent-3.0") -- -local GetActionInfo, GetActionText = GetActionInfo, GetActionText +local Ovale = LibStub("AceAddon-3.0"):GetAddon("Ovale") + +local GetActionInfo = GetActionInfo +local GetActionText = GetActionText +local tonumber = tonumber -- -- @@ -24,31 +28,50 @@ OvaleActionBar.shortCut = {} -- function OvaleActionBar:OnEnable() - self:RegisterEvent("ACTIONBAR_SLOT_CHANGED") - self:RegisterEvent("UPDATE_BINDINGS") - self:FillActionIndexes() + self:RegisterEvent("ACTIONBAR_SLOT_CHANGED") + self:RegisterEvent("ACTIVE_TALENT_GROUP_CHANGED") + self:RegisterEvent("PLAYER_ENTERING_WORLD") + self:RegisterEvent("PLAYER_TALENT_UPDATE") + self:RegisterEvent("UPDATE_BINDINGS") end function OvaleActionBar:OnDisable() - self:UnregisterEvent("ACTIONBAR_SLOT_CHANGED") - self:UnregisterEvent("UPDATE_BINDINGS") + self:UnregisterEvent("ACTIONBAR_SLOT_CHANGED") + self:UnregisterEvent("ACTIVE_TALENT_GROUP_CHANGED") + self:UnregisterEvent("PLAYER_ENTERING_WORLD") + self:UnregisterEvent("PLAYER_TALENT_UPDATE") + self:UnregisterEvent("UPDATE_BINDINGS") end function OvaleActionBar:ACTIONBAR_SLOT_CHANGED(event, slot, unknown) if (slot == 0) then - self:FillActionIndexes() + self:FillActionIndexes(event) elseif (slot) then -- on reçoit aussi si c'est une macro avec mouseover à chaque fois que la souris passe sur une cible! self:FillActionIndex(tonumber(slot)) + Ovale:debugPrint("action_bar", "Mapping button " ..tonumber(slot).." to spell/macro") end end +function OvaleActionBar:ACTIVE_TALENT_GROUP_CHANGED(event) + self:FillActionIndexes(event) +end + +function OvaleActionBar:PLAYER_ENTERING_WORLD(event) + self:FillActionIndexes(event) +end + +function OvaleActionBar:PLAYER_TALENT_UPDATE(event) + self:FillActionIndexes(event) +end + --Called when the user changed his key bindings -function OvaleActionBar:UPDATE_BINDINGS() - self:FillActionIndexes() +function OvaleActionBar:UPDATE_BINDINGS(event) + self:FillActionIndexes(event) end -function OvaleActionBar:FillActionIndexes() +function OvaleActionBar:FillActionIndexes(event) + Ovale:debugPrint("action_bar", "Mapping buttons to spells/macros for " ..event) self.actionSort = {} self.actionMacro = {} self.actionObjet = {} diff --git a/OvaleOptions.lua b/OvaleOptions.lua index 4475c08..24f1094 100644 --- a/OvaleOptions.lua +++ b/OvaleOptions.lua @@ -314,6 +314,12 @@ local options = args = { -- Node names must match the names of the debug flags. + action_bar = + { + name = "Action bars", + desc = L["Debug action bars"], + type = "toggle", + }, aura = { name = "Auras", -- 1.7.9.5