--[[ Addon: Taos Group Tools Author: TProg Taonnor Created by @Taonnor ]]-- --[[ Local variables ]]-- local LOG_ACTIVE = false --[[ Table SettingsWindow ]]-- TGT_SettingsWindow = {} TGT_SettingsWindow.__index = TGT_SettingsWindow --[[ Table Members ]]-- TGT_SettingsWindow.MainMenuName = "TaosGroupToolsSettingsMainMenu" TGT_SettingsWindow.Panel = nil TGT_SettingsWindow.Options = nil function TGT_SettingsWindow.AddGroupUltimateOptions() if (LOG_ACTIVE) then logger:logTrace("TGT_SettingsWindow.AddGroupUltimateOptions") end local styleChoices = { [1] = GetString(TGT_OPTIONS_STYLE_SIMPLE), [2] = GetString(TGT_OPTIONS_STYLE_SWIM), [3] = GetString(TGT_OPTIONS_STYLE_SHORT_SWIM), } local optionsData = { -- Submenu Group Ultimate Options { type = "submenu", name = GetString(TGT_OPTIONS_GROUP_ULTIMATE_HEADER), controls = { -- Only AvA visible { type = "checkbox", name = GetString(TGT_OPTIONS_ONLY_AVA_LABEL), tooltip = GetString(TGT_OPTIONS_ONLY_AVA_TOOLTIP), getFunc = function() return TGT_SettingsHandler.SavedVariables.OnlyAva end, setFunc = function(value) TGT_SettingsHandler.SetOnlyAvaSettings(value) end, default = TGT_DEFAULTS.OnlyAva }, -- Sorting active { type = "checkbox", name = GetString(TGT_OPTIONS_USE_SORTING_LABEL), tooltip = GetString(TGT_OPTIONS_USE_SORTING_TOOLTIP), getFunc = function() return TGT_SettingsHandler.SavedVariables.IsSortingActive end, setFunc = function(value) TGT_SettingsHandler.SetIsSortingActiveSettings(value) end, default = TGT_DEFAULTS.IsSortingActive }, -- Style { type = "dropdown", name = GetString(TGT_OPTIONS_STYLE_LABEL), tooltip = GetString(TGT_OPTIONS_STYLE_TOOLTIP), choices = styleChoices, getFunc = function() return styleChoices[TGT_SettingsHandler.SavedVariables.Style] end, setFunc = function(value) for index, name in ipairs(styleChoices) do if (name == value) then TGT_SettingsHandler.SetStyleSettings(index) break end end end, default = styleChoices[TGT_DEFAULTS.Style] }, }, }, } -- Add options for i = 1 , #optionsData do table.insert(TGT_SettingsWindow.Options , optionsData[i]) end end function TGT_SettingsWindow.CreateOptions() if (LOG_ACTIVE) then logger:logTrace("TGT_SettingsWindow.CreateOptions") end TGT_SettingsWindow.Options = { -- Options Header { type = "header", name = GetString(TGT_OPTIONS_HEADER), width = "full" }, -- Controls Movable { type = "checkbox", name = GetString(TGT_OPTIONS_DRAG_LABEL), tooltip = GetString(TGT_OPTIONS_DRAG_TOOLTIP), getFunc = function() return TGT_SettingsHandler.SavedVariables.Movable end, setFunc = function(value) TGT_SettingsHandler.SetMovableSettings(value) end, default = TGT_DEFAULTS.Movable }, -- Enable/Disable Group Ultimate { type = "checkbox", name = GetString(TGT_OPTIONS_GROUP_ULTIMATE_LABEL), tooltip = GetString(TGT_OPTIONS_GROUP_ULTIMATE_TOOLTIP), getFunc = function() return TGT_SettingsHandler.SavedVariables.IsGroupUltimateEnabled end, setFunc = function(value) TGT_SettingsHandler.SetIsGroupUltimateEnabledSettings(value) end, default = TGT_DEFAULTS.IsGroupUltimateEnabled }, } TGT_SettingsWindow.AddGroupUltimateOptions() end --[[ Creates settings panel ]]-- function TGT_SettingsWindow.CreatePanel(major, minor, patch) if (LOG_ACTIVE) then logger:logTrace("TGT_SettingsWindow.CreatePanel") logger:logDebug("major, minor, patch", major, minor, patch) end TGT_SettingsWindow.Panel = { type = "panel", name = "Taos Group Tools", author = "TProg Taonnor", version = major .. "." .. minor .. "." .. patch, slashCommand = "/taosGroupTools", registerForDefaults = true } end --[[ Initialize creates settings window ]]-- function TGT_SettingsWindow.Initialize(logger, major, minor, patch) if (LOG_ACTIVE) then logger:logTrace("TGT_SettingsWindow.Initialize") logger:logDebug("major, minor, patch", major, minor, patch) end TGT_SettingsWindow.CreatePanel(major, minor, patch) TGT_SettingsWindow.CreateOptions() local LAM = LibStub("LibAddonMenu-2.0") LAM:RegisterAddonPanel(TGT_SettingsWindow.MainMenuName, TGT_SettingsWindow.Panel) LAM:RegisterOptionControls(TGT_SettingsWindow.MainMenuName, TGT_SettingsWindow.Options) end