Compare with Previous | Blame | View Log
--[[
Addon: Taos Group Tools
Author: TProg Taonnor
Created by @Taonnor
]]--
--[[
Global callbacks
]]--
TGT_SHOW_SUB_GROUP_MENU = "TGT-ShowSubGroupMenu"
TGT_SET_SUB_GROUP = "TGT-SetSubGroup"
--[[
Local variables
]]--
local _logger = nil
local _settingsHandler = TGT_SettingsHandler
--[[
Table TGT_SubGroupMenu
]]--
TGT_SubGroupMenu = {}
TGT_SubGroupMenu.__index = TGT_SubGroupMenu
--[[
===============
PRIVATE METHODS
===============
]]--
--[[
SetSubGroup shows Sub group menu
]]--
local function SetSubGroup(group, arg)
FireCallbacksAsync(TGT_SET_SUB_GROUP, group, arg)
end
--[[
AddSubGroupMenu adds menu item
]]--
local function AddSubGroupMenu(identifier, group, arg)
if (string.len(group.Name) > 0) then
AddMenuItem(zo_strformat("<<1>> - <<2>>", identifier, group.Name), function() SetSubGroup(identifier, arg) end)
else
AddMenuItem(identifier, function() SetSubGroup(identifier, arg) end)
end
end
--[[
ShowSubGroupMenu shows Sub group menu
]]--
local function ShowSubGroupMenu(control, arg)
if (control ~= nil) then
ClearMenu()
-- Add menu sorted
local subGroups = _settingsHandler.SavedVariables.GroupFrameGroups
AddSubGroupMenu("MainGroup", subGroups["MainGroup"], arg)
AddSubGroupMenu("SubGroup1", subGroups["SubGroup1"], arg)
AddSubGroupMenu("SubGroup2", subGroups["SubGroup2"], arg)
AddSubGroupMenu("SubGroup3", subGroups["SubGroup3"], arg)
AddSubGroupMenu("SubGroup4", subGroups["SubGroup4"], arg)
AddSubGroupMenu("SubGroup5", subGroups["SubGroup5"], arg)
ShowMenu(control)
else
_logger:logError("GroupFrames -> ShowSubGroupMenu; control nil")
end
end
--[[
==============
PUBLIC METHODS
==============
]]--
--[[
Initialize initializes TGT_SubGroupMenu
]]--
function TGT_SubGroupMenu.Initialize()
_logger = TGT_LOGGER
CALLBACK_MANAGER:RegisterCallback(TGT_SHOW_SUB_GROUP_MENU, ShowSubGroupMenu)
_logger:logTrace("TGT_SubGroupMenu -> Initialized")
end