Compare with Previous | Blame | View Log
--[[ Addon: Taos Group Tools Author: TProg Taonnor Created by @Taonnor ]]-- --[[ Local variables ]]-- local _settingsHandler = TGT_SettingsHandler --[[ Table GroupFramesOptions ]]-- TGT_GroupFramesOptions = {} TGT_GroupFramesOptions.__index = TGT_GroupFramesOptions --[[ =============== PRIVATE METHODS =============== ]]-- --[[ Creates options ]]-- local function CreateOptions() local styleChoices = { [1] = GetString(TGT_OPTIONS_FRAMES_STYLE_NORMAL), [2] = GetString(TGT_OPTIONS_FRAMES_STYLE_SMALL), [3] = GetString(TGT_OPTIONS_FRAMES_STYLE_TINY), } local formatChoices = { [1] = GetString(TGT_OPTIONS_HEALTHBAR_FORMAT_NONE), [2] = GetString(TGT_OPTIONS_HEALTHBAR_FORMAT_ABS), [3] = GetString(TGT_OPTIONS_HEALTHBAR_FORMAT_ABS_SHORT), [4] = GetString(TGT_OPTIONS_HEALTHBAR_FORMAT_PERCENT), } local buffTrackerChoises = TGT_SettingsWindow.GetBuffTrackerChoises() local optionsData = { -- Submenu Group Frames Options { type = "submenu", name = GetString(TGT_OPTIONS_GROUP_FRAMES_HEADER), controls = { -- Enable/Disable Group Frames { type = "checkbox", name = GetString(TGT_OPTIONS_GROUP_FRAMES_LABEL), tooltip = GetString(TGT_OPTIONS_GROUP_FRAMES_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled end, setFunc = function(value) _settingsHandler.SetIsGroupFramesEnabledSettings(value) end, default = TGT_DEFAULTS.IsGroupFramesEnabled }, -- Enable/Disable ZOS Group Frames { type = "checkbox", name = GetString(TGT_OPTIONS_HIDE_ZOS_GROUP_FRAMES_LABEL), tooltip = GetString(TGT_OPTIONS_HIDE_ZOS_GROUP_FRAMES_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.HideZosGroupFrames end, setFunc = function(value) _settingsHandler.SavedVariables.HideZosGroupFrames = value _settingsHandler.OnGroupFramesSettingsChanged() end, requiresReload = true, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = TGT_DEFAULTS.IsGroupFramesEnabled }, -- InCombat active { type = "checkbox", name = GetString(TGT_OPTIONS_USE_INCOMBAT_LABEL), tooltip = GetString(TGT_OPTIONS_FRAMES_INCOMBAT_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.CombatActive[GROUP_FRAMES] end, setFunc = function(value) _settingsHandler.SetCombatActiveSettings(GROUP_FRAMES, value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = TGT_DEFAULTS.CombatActive[GROUP_FRAMES] }, -- Scaling { type = "slider", name = GetString(TGT_OPTIONS_SCALE_LABEL), tooltip = GetString(TGT_OPTIONS_FRAMES_SCALE_TOOLTIP), min = 0.1, max = 2.0, step = 0.1, decimals = 1, getFunc = function() return _settingsHandler.SavedVariables.Scale[GROUP_FRAMES] end, setFunc = function(value) _settingsHandler.SetScaleSettings(GROUP_FRAMES, value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = TGT_DEFAULTS.Scale[GROUP_FRAMES], }, -- Style { type = "dropdown", name = GetString(TGT_OPTIONS_FRAMES_STYLE_LABEL), tooltip = GetString(TGT_OPTIONS_FRAMES_STYLE_TOOLTIP), choices = styleChoices, getFunc = function() return styleChoices[_settingsHandler.SavedVariables.Style[GROUP_FRAMES]] end, setFunc = function(value) for index, name in ipairs(styleChoices) do if (name == value) then _settingsHandler.SetStyleSettings(GROUP_FRAMES, index) break end end end, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = styleChoices[TGT_DEFAULTS.Style[GROUP_FRAMES]] }, -- Show Ultimate instead of Health { type = "checkbox", name = GetString(TGT_OPTIONS_SHOW_ULTIMATE_LABEL), tooltip = GetString(TGT_OPTIONS_SHOW_ULTIMATE_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth end, setFunc = function(value) _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth = value _settingsHandler.OnGroupFramesSettingsChanged() end, default = TGT_DEFAULTS.ShowUltimateInsteadHaelth, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, }, -- Group Frames Bar Width { type = "slider", name = GetString(TGT_OPTIONS_FRAMES_WIDTH_LABEL), tooltip = GetString(TGT_OPTIONS_FRAMES_WIDTH_TOOLTIP), min = 140, max = 240, getFunc = function() return _settingsHandler.SavedVariables.GroupFramesBarWidth end, setFunc = function(value) _settingsHandler.SavedVariables.GroupFramesBarWidth = value _settingsHandler.OnGroupFramesSettingsChanged() end, default = TGT_DEFAULTS.GroupFramesBarWidth, disabled = function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, }, -- Enable/Disable Food Buff { type = "checkbox", name = GetString(TGT_OPTIONS_SHOW_FOOD_BUFF_LABEL), tooltip = GetString(TGT_OPTIONS_SHOW_FOOD_BUFF_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.ShowFoodBuff end, setFunc = function(value) _settingsHandler.SavedVariables.ShowFoodBuff = value _settingsHandler.OnGroupFramesSettingsChanged() end, default = TGT_DEFAULTS.ShowFoodBuff, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] == 3 end, }, -- HP Formats { type = "dropdown", name = GetString(TGT_OPTIONS_HEALTHBAR_FORMAT_LABEL), tooltip = GetString(TGT_OPTIONS_HEALTHBAR_FORMAT_TOOLTIP), choices = formatChoices, getFunc = function() return formatChoices[_settingsHandler.SavedVariables.HealthBarFormat] end, setFunc = function(value) for index, name in ipairs(formatChoices) do if (name == value) then _settingsHandler.SavedVariables.HealthBarFormat = index _settingsHandler.OnGroupFramesSettingsChanged() break end end end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth == true end, default = formatChoices[TGT_DEFAULTS.HealthBarFormat] }, -- Shield color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "ShieldColor", GetString(TGT_OPTIONS_SHIELD_COLOR_LABEL), GetString(TGT_OPTIONS_SHIELD_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth == true end), -- Progress health color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "HealthProgrColor", GetString(TGT_OPTIONS_PROGR_HEALTH_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_HEALTH_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth == true end), -- Ready health color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "HealthReadyColor", GetString(TGT_OPTIONS_READY_HEALTH_COLOR_LABEL), GetString(TGT_OPTIONS_READY_HEALTH_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth == true end), -- Progress ultimate color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "UltimateProgrColor", GetString(TGT_OPTIONS_PROGR_ULTI_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_ULTI_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth == false end), -- Ready ultimate color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "UltimateReadyColor", GetString(TGT_OPTIONS_READY_ULTI_COLOR_LABEL), GetString(TGT_OPTIONS_READY_ULTI_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.ShowUltimateInsteadHaelth == false end), -- Progress stamina color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "StaminaProgrColor", GetString(TGT_OPTIONS_PROGR_STAM_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_STAM_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end), -- Ready stamina color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "StaminaReadyColor", GetString(TGT_OPTIONS_READY_STAM_COLOR_LABEL), GetString(TGT_OPTIONS_READY_STAM_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end), -- Progress magicka color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "MagickaProgrColor", GetString(TGT_OPTIONS_PROGR_MAGK_COLOR_LABEL), GetString(TGT_OPTIONS_PROGR_MAGK_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end), -- Ready magicka color TGT_SettingsWindow.GetNewColorpicker( GROUP_FRAMES, "MagickaReadyColor", GetString(TGT_OPTIONS_READY_MAGK_COLOR_LABEL), GetString(TGT_OPTIONS_READY_MAGK_COLOR_TOOLTIP), function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end), -- Submenu header { type = "header", name = GetString(TGT_OPTIONS_GROUP_BUFFS_HEADER), }, -- Ability1 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_1_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_1_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_FRAMES].TrackedBuff1AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff1AbilityIdSettings(GROUP_FRAMES, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_FRAMES].TrackedBuff1AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end, }, -- Ability2 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_2_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_2_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_FRAMES].TrackedBuff2AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff2AbilityIdSettings(GROUP_FRAMES, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_FRAMES].TrackedBuff2AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end, }, -- Ability3 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_3_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_3_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_FRAMES].TrackedBuff3AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff3AbilityIdSettings(GROUP_FRAMES, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_FRAMES].TrackedBuff3AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end, }, -- Ability4 { type = "dropdown", name = GetString(TGT_OPTIONS_TRACKED_BUFF_4_LABEL), tooltip = GetString(TGT_OPTIONS_TRACKED_BUFF_4_TOOLTIP), choices = buffTrackerChoises, getFunc = function() return buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(_settingsHandler.SavedVariables.TrackedBuffs[GROUP_FRAMES].TrackedBuff4AbilityId)] end, setFunc = function(value) for index, choise in ipairs(buffTrackerChoises) do if (choise == value) then _settingsHandler.SetTrackedBuff4AbilityIdSettings(GROUP_FRAMES, TGT_SettingsWindow.GetBuffId(index)) break end end end, default = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_FRAMES].TrackedBuff4AbilityId)], disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false or _settingsHandler.SavedVariables.Style[GROUP_FRAMES] ~= 1 end, }, -- Submenu header { type = "header", name = GetString(TGT_OPTIONS_SUB_GROUPS_HEADER), }, -- Sub Group 1 Name { type = "editbox", name = GetString(TGT_OPTIONS_SUB_GROUP_1_LABEL), tooltip = GetString(TGT_OPTIONS_SUB_GROUP_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.GroupFrameGroups.SubGroup1.Name end, setFunc = function(value) _settingsHandler.SetSubGroupName("SubGroup1", value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = formatChoices[TGT_DEFAULTS.GroupFrameGroups.SubGroup1.Name] }, -- Sub Group 2 Name { type = "editbox", name = GetString(TGT_OPTIONS_SUB_GROUP_2_LABEL), tooltip = GetString(TGT_OPTIONS_SUB_GROUP_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.GroupFrameGroups.SubGroup2.Name end, setFunc = function(value) _settingsHandler.SetSubGroupName("SubGroup2", value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = formatChoices[TGT_DEFAULTS.GroupFrameGroups.SubGroup2.Name] }, -- Sub Group 3 Name { type = "editbox", name = GetString(TGT_OPTIONS_SUB_GROUP_3_LABEL), tooltip = GetString(TGT_OPTIONS_SUB_GROUP_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.GroupFrameGroups.SubGroup3.Name end, setFunc = function(value) _settingsHandler.SetSubGroupName("SubGroup3", value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = formatChoices[TGT_DEFAULTS.GroupFrameGroups.SubGroup3.Name] }, -- Sub Group 4 Name { type = "editbox", name = GetString(TGT_OPTIONS_SUB_GROUP_4_LABEL), tooltip = GetString(TGT_OPTIONS_SUB_GROUP_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.GroupFrameGroups.SubGroup4.Name end, setFunc = function(value) _settingsHandler.SetSubGroupName("SubGroup4", value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = formatChoices[TGT_DEFAULTS.GroupFrameGroups.SubGroup4.Name] }, -- Sub Group 5 Name { type = "editbox", name = GetString(TGT_OPTIONS_SUB_GROUP_5_LABEL), tooltip = GetString(TGT_OPTIONS_SUB_GROUP_TOOLTIP), getFunc = function() return _settingsHandler.SavedVariables.GroupFrameGroups.SubGroup5.Name end, setFunc = function(value) _settingsHandler.SetSubGroupName("SubGroup5", value) end, disabled = function() return _settingsHandler.SavedVariables.IsGroupFramesEnabled == false end, default = formatChoices[TGT_DEFAULTS.GroupFrameGroups.SubGroup5.Name] }, }, }, } return optionsData end --[[ ============== PUBLIC METHODS ============== ]]-- --[[ GetOptions creates settings and returns ]]-- function TGT_GroupFramesOptions.GetOptions(options) local optionsData = CreateOptions() -- Add options for i = 1 , #optionsData do table.insert(options, optionsData[i]) end end