comparison SecureMenu.lua @ 1:5fc29ed07094

First atempt at using secure menus, it doesn't open yet...
author contrebasse
date Mon, 28 Mar 2011 22:59:20 +0200
parents eba26c900e99
children 04c5b817eead
comparison
equal deleted inserted replaced
0:eba26c900e99 1:5fc29ed07094
14 right = 12, 14 right = 12,
15 top = 12, 15 top = 12,
16 bottom = 11 16 bottom = 11
17 } 17 }
18 }) 18 })
19 MenuFrame:SetWidth(70)
19 local numActiveEntries = 0 20 local numActiveEntries = 0
20 local menuEntries = {} 21 local menuEntries = {}
21 22
22 function A.menuOpen() 23 function A.menuOpen(parent)
23 if not InCombatLockDown() and numActiveEntries>0 then 24 A.DEBUG("menuOpen")
25 --if not InCombatLockDown() and numActiveEntries>0 then
26 MenuFrame:ClearAllPoints()
27 MenuFrame:SetPoint("TOPLEFT",parent,"TOPRIGHT",0,0)
28
29 MenuFrame:SetSize(50,50)
30 MenuFrame:SetParent(UIParent)
31
24 MenuFrame:Show() 32 MenuFrame:Show()
25 end 33 --end
26 end 34 end
27 function A.menuClose() 35 function A.menuClose()
28 MenuFrame:Hide() 36 MenuFrame:Hide()
29 MenuFrame:ClearAllPoints() 37 MenuFrame:ClearAllPoints()
30 38
32 menuEntries[i]:Hide() 40 menuEntries[i]:Hide()
33 end 41 end
34 end 42 end
35 43
36 function A.menuAddItem(text,action,itemID) 44 function A.menuAddItem(text,action,itemID)
45 A.DEBUG("menuAddItem "..text)
37 local btn 46 local btn
38 -- Create a button only if necessary 47 -- Create a button only if necessary
39 if numActiveEntries >= #menuEntries then 48 if numActiveEntries >= #menuEntries then
40 btn = CreateFrame("Button", nil, MenuFrame, "SecureActionButtonTemplate") 49 btn = CreateFrame("Button", nil, MenuFrame, "SecureActionButtonTemplate")
41 table.insert(menuEntries,btn) 50 table.insert(menuEntries,btn)
42 51
43 btn:SetHeight(12) 52 btn:SetHeight(12)
53 btn:SetWidth(70)
44 54
45 -- Set its position 55 -- Set its position
46 if #menuEntries==1 then 56 if #menuEntries==1 then
47 btn:SetPoint("TOPLEFT",MenuFrame,"TOPLEFT",0,0) 57 btn:SetPoint("TOPLEFT",MenuFrame,"TOPLEFT",0,0)
48 else 58 else
58 -- Set its action 68 -- Set its action
59 if type(action)=="function" then 69 if type(action)=="function" then
60 btn:SetScript("OnClick",action) 70 btn:SetScript("OnClick",action)
61 btn:SetAttribute("type", nil) 71 btn:SetAttribute("type", nil)
62 btn:SetAttribute("spell", nil) 72 btn:SetAttribute("spell", nil)
63 btn:SetAttribute("target-item",nil) 73 btn:SetAttribute("target-item",itemID)
64 elseif type(action)=="string" then 74 elseif type(action)=="string" then
65 btn:SetScript("OnClick",nil) 75 btn:SetScript("OnClick",nil)
66 btn:SetAttribute("type", "spell") 76 btn:SetAttribute("type", "spell")
67 btn:SetAttribute("spell", action) 77 btn:SetAttribute("spell", action)
68 btn:SetAttribute("target-item",GetItemInfo(itemID)) 78 btn:SetAttribute("target-item",GetItemInfo(itemID))
69 end -- if 79 end -- if
70 80
71 -- Reposition MenuFrame 81 -- Reposition MenuFrame
72 MenuFrame:SetPoint("BOTTOMRIGHT",btn,"BOTTOMRIGHT",0,0) 82 --MenuFrame:SetPoint("BOTTOMRIGHT",btn,"BOTTOMRIGHT",0,0)
83 MenuFrame:SetHeight((numActiveEntries+1)*12)
73 84
74 -- Increase she entry number 85 -- Increase she entry number
75 numActiveEntries = numActiveEntries + 1 86 numActiveEntries = numActiveEntries + 1
76 end -- function 87 end -- function