Mercurial > wow > reagentmaker
diff ReagentMaker.lua @ 2:04c5b817eead
The try to build my own secure menu continues...
author | contrebasse |
---|---|
date | Tue, 29 Mar 2011 22:06:36 +0200 |
parents | 5fc29ed07094 |
children | ed0582126cae |
line wrap: on
line diff
--- a/ReagentMaker.lua Mon Mar 28 22:59:20 2011 +0200 +++ b/ReagentMaker.lua Tue Mar 29 22:06:36 2011 +0200 @@ -46,7 +46,7 @@ -- Register clics on reagent's buttons for i=1,7 do local button = _G["TradeSkillReagent"..i]; - button:HookScript("OnClick", function() self:ToggleMenu(button, i) end); + button:HookScript("OnClick", function(btn) A.ToggleMenu(btn, i) end); --button:HookScript("OnEnter", function() self:Entered(button, i) end) --button:HookScript("OnLeave", function() self:Left(button, i) end) end -- for @@ -142,17 +142,24 @@ local IsModifierKeyDown = IsModifierKeyDown local GetTradeSkillReagentItemLink = GetTradeSkillReagentItemLink local GetTradeSkillSelectionIndex = GetTradeSkillSelectionIndex - local ToggleDropDownMenu = ToggleDropDownMenu -- Toggles the reagent's menu - function A:ToggleMenu(button, index) + function A.ToggleMenu(button, index) -- We want no modifiers if IsModifierKeyDown() then return end - local itemID = A.link2ID(GetTradeSkillReagentItemLink(GetTradeSkillSelectionIndex(), index)) - if itemID and A.data[itemID] then - A.FillMenu(itemID) - A.menuOpen(button) + if A.menuIsOpen(button) then + A.menuClose() + else + local itemID = A.link2ID(GetTradeSkillReagentItemLink(GetTradeSkillSelectionIndex(), index)) + if itemID and A.data[itemID] then + A.FillMenu(itemID) + A.menuOpen(button) + else + if A.menuIsOpen() then + A.menuClose() + end + end -- if end -- if end -- function end -- do