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