ESOUI SVN TaosGroupTools

[/] [trunk/] [TaosGroupTools/] [ui/] [settings/] [GroupUltimateOptions.lua] - Rev 121

Compare with Previous | Blame | View Log

--[[
        Addon: Taos Group Tools
        Author: TProg Taonnor
        Created by @Taonnor
]]--

--[[
        Local variables
]]--
local _settingsHandler = TGT_SettingsHandler

--[[
        Table GroupUltimateOptions
]]--
TGT_GroupUltimateOptions = {}
TGT_GroupUltimateOptions.__index = TGT_GroupUltimateOptions

--[[
        ===============
    PRIVATE METHODS
    ===============
]]--

--[[
        Creates options
]]--
local function CreateOptions()
    local styleChoices = {
        [1] = GetString(TGT_OPTIONS_STYLE_SIMPLE),
        [2] = GetString(TGT_OPTIONS_STYLE_SWIM),
        [3] = GetString(TGT_OPTIONS_STYLE_SHORT_SWIM),
    }

    local buffTrackerChoises = TGT_SettingsWindow.GetBuffTrackerChoises()
    
        local optionsData = {
        -- Submenu Group Ultimate Options
        {   type            = "submenu",
                        name            = GetString(TGT_OPTIONS_GROUP_ULTIMATE_HEADER),
            controls = {
                -- Enable/Disable Group Ultimate
                {   type = "checkbox",
                                name = GetString(TGT_OPTIONS_GROUP_ULTIMATE_LABEL),
                                tooltip = GetString(TGT_OPTIONS_GROUP_ULTIMATE_TOOLTIP),
                                getFunc = 
                       function() 
                           return _settingsHandler.SavedVariables.IsGroupUltimateEnabled
                       end,
                                setFunc = 
                       function(value) 
                           _settingsHandler.SetIsGroupUltimateEnabledSettings(value)
                                   end,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false
                       end,
                                default = TGT_DEFAULTS.IsGroupUltimateEnabled
                        },
                -- Only AvA visible
                {   type        = "checkbox",
                                name        = GetString(TGT_OPTIONS_ONLY_AVA_LABEL),
                                tooltip     = GetString(TGT_OPTIONS_ONLY_AVA_TOOLTIP),
                                getFunc = 
                       function() 
                           return _settingsHandler.SavedVariables.OnlyAva[GROUP_ULTIMATE]
                       end,
                                setFunc = 
                       function(value) 
                           _settingsHandler.SetOnlyAvaSettings(GROUP_ULTIMATE, value)
                                   end,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                                default     = TGT_DEFAULTS.OnlyAva[GROUP_ULTIMATE]
                        },
                -- Sorting active
                {   type        = "checkbox",
                                name        = GetString(TGT_OPTIONS_USE_SORTING_LABEL),
                                tooltip     = GetString(TGT_OPTIONS_USE_SORTING_TOOLTIP),
                                getFunc = 
                       function() 
                           return _settingsHandler.SavedVariables.IsSortingActive
                       end,
                                setFunc = 
                       function(value) 
                           _settingsHandler.SetIsSortingActiveSettings(value)
                                   end,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                                default     = TGT_DEFAULTS.IsSortingActive
                        },
                -- InCombat active
                {   type        = "checkbox",
                                name        = GetString(TGT_OPTIONS_USE_INCOMBAT_LABEL),
                                tooltip     = GetString(TGT_OPTIONS_USE_INCOMBAT_TOOLTIP),
                                getFunc = 
                       function() 
                           return _settingsHandler.SavedVariables.CombatActive[GROUP_ULTIMATE]
                       end,
                                setFunc = 
                       function(value) 
                           _settingsHandler.SetCombatActiveSettings(GROUP_ULTIMATE, value)
                                   end,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                                default     = TGT_DEFAULTS.CombatActive[GROUP_ULTIMATE]
                        },
                -- Style
                {   type        = "dropdown",
                                name        = GetString(TGT_OPTIONS_STYLE_LABEL),
                                tooltip     = GetString(TGT_OPTIONS_STYLE_TOOLTIP),
                    choices     = styleChoices,
                                getFunc = 
                       function() 
                           return styleChoices[_settingsHandler.SavedVariables.Style[GROUP_ULTIMATE]]
                       end,
                                setFunc = 
                       function(value) 
                           for index, name in ipairs(styleChoices) do
                              if (name == value) then
                                 _settingsHandler.SetStyleSettings(GROUP_ULTIMATE, index)
                                 break
                              end
                           end
                                   end,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                                default     = styleChoices[TGT_DEFAULTS.Style[GROUP_ULTIMATE]]
                        },
                -- Visible Offset
                {   type        = "slider", 
                    name        = GetString(TGT_OPTIONS_VISIBLE_OFF_LABEL),
                    tooltip     = GetString(TGT_OPTIONS_VISIBLE_OFF_TOOLTIP),
                    min         = 2, 
                    max         = 24, 
                    step        = 1, 
                    getFunc = 
                        function() 
                            return _settingsHandler.SavedVariables.VisibleOffset[GROUP_ULTIMATE]
                        end, 
                    setFunc = 
                        function(value) 
                            _settingsHandler.SetVisibleOffsetSettings(GROUP_ULTIMATE, value) 
                        end, 
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                    default     = TGT_DEFAULTS.VisibleOffset[GROUP_ULTIMATE],
                },
                -- Visible Swimlanes
                {   type        = "slider", 
                    name        = GetString(TGT_OPTIONS_SWIMLANES_LABEL),
                    tooltip     = GetString(TGT_OPTIONS_SWIMLANES_TOOLTIP),
                    min         = 1, 
                    max         = 12, 
                    step        = 1, 
                    getFunc = 
                        function() 
                            return _settingsHandler.SavedVariables.Swimlanes 
                        end, 
                    setFunc = 
                        function(value) 
                            _settingsHandler.SetSwimlanesSettings(value) 
                        end, 
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                    default     = TGT_DEFAULTS.Swimlanes,
                },
                -- Scaling Swimlanes
                {   type        = "slider", 
                    name        = GetString(TGT_OPTIONS_SCALE_LABEL),
                    tooltip     = GetString(TGT_OPTIONS_SWIMLANE_SCALE_TOOLTIP),
                    min         = 0.1, 
                    max         = 2.0, 
                    step        = 0.1, 
                    decimals    = 1,
                    getFunc = 
                        function() 
                            return _settingsHandler.SavedVariables.Scale[GROUP_ULTIMATE]
                        end, 
                    setFunc = 
                        function(value) 
                            _settingsHandler.SetScaleSettings(GROUP_ULTIMATE, value) 
                        end, 
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                    default     = TGT_DEFAULTS.Scale[GROUP_ULTIMATE],
                },
                -- Progress ultimate color
                TGT_SettingsWindow.GetNewColorpicker(
                    GROUP_ULTIMATE,
                    "UltimateProgrColor",
                    GetString(TGT_OPTIONS_PROGR_ULTI_COLOR_LABEL), 
                    GetString(TGT_OPTIONS_PROGR_ULTI_COLOR_TOOLTIP), 
                    function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end),
                -- Ready ultimate color
                TGT_SettingsWindow.GetNewColorpicker(
                    GROUP_ULTIMATE,
                    "UltimateReadyColor",
                    GetString(TGT_OPTIONS_READY_ULTI_COLOR_LABEL), 
                    GetString(TGT_OPTIONS_READY_ULTI_COLOR_TOOLTIP), 
                    function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end),
                -- Submenu header
                {   type = "header",
                    name = GetString(TGT_OPTIONS_GROUP_RESOURCES_HEADER), },
                -- Enable/Disable Group Resources
                {   type = "checkbox",
                                name = GetString(TGT_OPTIONS_GROUP_RESOURCES_LABEL),
                                tooltip = GetString(TGT_OPTIONS_GROUP_RESOURCES_TOOLTIP),
                                getFunc = 
                        function() 
                            return _settingsHandler.SavedVariables.IsGroupResourcesEnabled
                        end,
                                setFunc = 
                        function(value) 
                            _settingsHandler.SetIsGroupResourcesEnabledSettings(value)
                                    end,
                                default = TGT_DEFAULTS.IsGroupResourcesEnabled,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                        },
                -- Progress stamina color
                TGT_SettingsWindow.GetNewColorpicker(
                    GROUP_ULTIMATE,
                    "StaminaProgrColor",
                    GetString(TGT_OPTIONS_PROGR_STAM_COLOR_LABEL), 
                    GetString(TGT_OPTIONS_PROGR_STAM_COLOR_TOOLTIP), 
                    function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end),
                -- Ready stamina color
                TGT_SettingsWindow.GetNewColorpicker(
                    GROUP_ULTIMATE,
                    "StaminaReadyColor",
                    GetString(TGT_OPTIONS_READY_STAM_COLOR_LABEL), 
                    GetString(TGT_OPTIONS_READY_STAM_COLOR_TOOLTIP), 
                    function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end),
                -- Progress magicka color
                TGT_SettingsWindow.GetNewColorpicker(
                    GROUP_ULTIMATE,
                    "MagickaProgrColor",
                    GetString(TGT_OPTIONS_PROGR_MAGK_COLOR_LABEL), 
                    GetString(TGT_OPTIONS_PROGR_MAGK_COLOR_TOOLTIP), 
                    function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end),
                -- Ready magicka color
                TGT_SettingsWindow.GetNewColorpicker(
                    GROUP_ULTIMATE,
                    "MagickaReadyColor",
                    GetString(TGT_OPTIONS_READY_MAGK_COLOR_LABEL), 
                    GetString(TGT_OPTIONS_READY_MAGK_COLOR_TOOLTIP), 
                    function() return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false end),
                -- Submenu header
                {   type = "header",
                    name = GetString(TGT_OPTIONS_GROUP_BUFFS_HEADER), },
                -- Enable/Disable Group Buffs
                {   type = "checkbox",
                                name = GetString(TGT_OPTIONS_GROUP_BUFFS_LABEL),
                                tooltip = GetString(TGT_OPTIONS_GROUP_BUFFS_TOOLTIP),
                                getFunc = 
                       function() 
                           return _settingsHandler.SavedVariables.IsGroupBuffsEnabled
                       end,
                                setFunc = 
                       function(value) 
                           _settingsHandler.SetIsGroupBuffsEnabledSettings(value)
                                   end,
                                default = TGT_DEFAULTS.IsGroupBuffsEnabled,
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                    warning = GetString(TGT_OPTIONS_GROUP_BUFFS_WARNING)
                        },
                -- 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_ULTIMATE].TrackedBuff1AbilityId)]
                       end,
                                setFunc = 
                       function(value) 
                           for index, choise in ipairs(buffTrackerChoises) do
                              if (choise == value) then
                                 _settingsHandler.SetTrackedBuff1AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index))
                                 break
                              end
                           end
                                   end,
                                default     = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff1AbilityId)],
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       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_ULTIMATE].TrackedBuff2AbilityId)]
                       end,
                                setFunc = 
                       function(value) 
                           for index, choise in ipairs(buffTrackerChoises) do
                              if (choise == value) then
                                 _settingsHandler.SetTrackedBuff2AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index))
                                 break
                              end
                           end
                                   end,
                                default     = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff2AbilityId)],
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       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_ULTIMATE].TrackedBuff3AbilityId)]
                       end,
                                setFunc = 
                       function(value) 
                           for index, choise in ipairs(buffTrackerChoises) do
                              if (choise == value) then
                                 _settingsHandler.SetTrackedBuff3AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index))
                                 break
                              end
                           end
                                   end,
                                default     = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff3AbilityId)],
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       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_ULTIMATE].TrackedBuff4AbilityId)]
                       end,
                                setFunc = 
                       function(value) 
                           for index, choise in ipairs(buffTrackerChoises) do
                              if (choise == value) then
                                 _settingsHandler.SetTrackedBuff4AbilityIdSettings(GROUP_ULTIMATE, TGT_SettingsWindow.GetBuffId(index))
                                 break
                              end
                           end
                                   end,
                                default     = buffTrackerChoises[TGT_SettingsWindow.GetBuffIndex(TGT_DEFAULTS.TrackedBuffs[GROUP_ULTIMATE].TrackedBuff4AbilityId)],
                    disabled = 
                        function() 
                           return _settingsHandler.SavedVariables.IsSendingDataActive == false or _settingsHandler.SavedVariables.IsGroupUltimateEnabled == false
                       end,
                        },
            },
        },
        }
        
    return optionsData
end

--[[
        ==============
    PUBLIC METHODS
    ==============
]]--

--[[
        GetOptions creates settings and returns
]]--
function TGT_GroupUltimateOptions.GetOptions(options)
    local optionsData = CreateOptions()
    
    -- Add options
    for i = 1 , #optionsData do 
        table.insert(options, optionsData[i])
    end
end

Compare with Previous | Blame