47 lines
1.1 KiB
Lua
47 lines
1.1 KiB
Lua
xMenu = {}
|
|
xMenu.__index = xMenu
|
|
|
|
function xMenu.New(name, color)
|
|
local newMenu = {}
|
|
setmetatable(newMenu, xMenu)
|
|
|
|
newMenu.Name = name
|
|
newMenu.Resource = GetCurrentResourceName()
|
|
newMenu.Handle = exports["xmenu"]:AddMenu(name, newMenu.Resource)
|
|
newMenu.Color = color
|
|
|
|
return newMenu
|
|
end
|
|
|
|
function xMenu:IsAnyMenuOpen()
|
|
return exports["xmenu"]:IsAnyMenuOpen()
|
|
end
|
|
|
|
function xMenu:OpenMenu()
|
|
exports["xmenu"]:OpenMenu(self.Handle, self.Color)
|
|
end
|
|
|
|
function xMenu:CloseMenu()
|
|
exports["xmenu"]:CloseMenu()
|
|
end
|
|
|
|
function xMenu:BindSubMenu(name)
|
|
local newHandle = exports["xmenu"]:AddSubMenu(name, self.Handle, self.Resource)
|
|
return xSubMenu.New(name, newHandle)
|
|
end
|
|
|
|
function xMenu:BindButton(name, callback)
|
|
exports["xmenu"]:AddButton(name, self.Handle, callback, self.Resource)
|
|
end
|
|
|
|
function xMenu:BindCheckbox(name, state, callback)
|
|
exports["xmenu"]:AddCheckbox(name, state, self.Handle, callback, self.Resource)
|
|
end
|
|
|
|
function xMenu:BindList(name, list, callback)
|
|
exports["xmenu"]:AddList(name, self.Handle, list, callback, self.Resource)
|
|
end
|
|
|
|
function xMenu:ClearMenu()
|
|
exports["xmenu"]:ClearMenu(self.Handle)
|
|
end |