ESOUI SVN TaosGroupUltimate

[/] [trunk/] [TaosGroupUltimate/] [ui/] [SettingsWindow.lua] - Blame information for rev 56

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 Taonnor-14572
--[[
2 Taonnor-14572
        Addon: Taos Group Ultimate
3 Taonnor-14572
        Author: TProg Taonnor
4 Taonnor-14572
        Created by @Taonnor
5 Taonnor-14572
]]--
6 Taonnor-14572
 
7 Taonnor-14572
--[[
8 37 Taonnor-14572
        Local variables
9 14 Taonnor-14572
]]--
10 Taonnor-14572
local LOG_ACTIVE = false
11 Taonnor-14572
 
12 Taonnor-14572
--[[
13 37 Taonnor-14572
        Table SettingsWindow
14 14 Taonnor-14572
]]--
15 37 Taonnor-14572
TGU_SettingsWindow = {}
16 Taonnor-14572
TGU_SettingsWindow.__index = TGU_SettingsWindow
17 14 Taonnor-14572
 
18 Taonnor-14572
--[[
19 37 Taonnor-14572
        Table Members
20 14 Taonnor-14572
]]--
21 37 Taonnor-14572
TGU_SettingsWindow.MainMenuName = "TaosGroupUltimateSettingsMainMenu"
22 14 Taonnor-14572
 
23 Taonnor-14572
--[[
24 Taonnor-14572
        Initialize creates settings window
25 Taonnor-14572
]]--
26 37 Taonnor-14572
function TGU_SettingsWindow.Initialize(logger, major, minor, patch)
27 14 Taonnor-14572
    if (LOG_ACTIVE) then
28 37 Taonnor-14572
        logger:logTrace("TGU_SettingsWindow.Initialize")
29 Taonnor-14572
        logger:logDebug("major, minor, patch", major, minor, patch)
30 14 Taonnor-14572
    end
31 Taonnor-14572
 
32 19 Taonnor-14572
    local styleChoices = {
33 20 Taonnor-14572
        [1] = GetString(TGU_OPTIONS_STYLE_SIMPLE),
34 Taonnor-14572
        [2] = GetString(TGU_OPTIONS_STYLE_SWIM),
35 Taonnor-14572
        [3] = GetString(TGU_OPTIONS_STYLE_SHORT_SWIM),
36 19 Taonnor-14572
    }
37 Taonnor-14572
 
38 14 Taonnor-14572
        local panelData = {
39 Taonnor-14572
                type = "panel",
40 Taonnor-14572
                name = "Taos Group Ultimate",
41 Taonnor-14572
                author = "TProg Taonnor",
42 Taonnor-14572
                version = major .. "." .. minor .. "." .. patch,
43 Taonnor-14572
                slashCommand = "/taosGroupUltimate",
44 Taonnor-14572
                registerForDefaults = true
45 Taonnor-14572
        }
46 Taonnor-14572
 
47 Taonnor-14572
        local optionsData = {
48 Taonnor-14572
                [1] = {
49 Taonnor-14572
                        type = "header",
50 Taonnor-14572
                        name = GetString(TGU_OPTIONS_HEADER),
51 Taonnor-14572
                },
52 Taonnor-14572
                [2] = {
53 Taonnor-14572
                        type = "checkbox",
54 Taonnor-14572
                        name = GetString(TGU_OPTIONS_DRAG_LABEL),
55 Taonnor-14572
                        tooltip = GetString(TGU_OPTIONS_DRAG_TOOLTIP),
56 7 Taonnor-14572
                        getFunc =
57 Taonnor-14572
               function()
58 37 Taonnor-14572
                   return TGU_SettingsHandler.SavedVariables.Movable
59 7 Taonnor-14572
               end,
60 Taonnor-14572
                        setFunc =
61 Taonnor-14572
               function(value)
62 37 Taonnor-14572
                   TGU_SettingsHandler.SetMovableSettings(value)
63 14 Taonnor-14572
                           end,
64 37 Taonnor-14572
                        default = TGU_SettingsHandler.Default.Movable
65 14 Taonnor-14572
                },
66 19 Taonnor-14572
        [3] = {
67 32 Taonnor-14572
                        type = "checkbox",
68 Taonnor-14572
                        name = GetString(TGU_OPTIONS_ONLY_AVA_LABEL),
69 Taonnor-14572
                        tooltip = GetString(TGU_OPTIONS_ONLY_AVA_TOOLTIP),
70 Taonnor-14572
                        getFunc =
71 Taonnor-14572
               function()
72 37 Taonnor-14572
                   return TGU_SettingsHandler.SavedVariables.OnlyAva
73 32 Taonnor-14572
               end,
74 Taonnor-14572
                        setFunc =
75 Taonnor-14572
               function(value)
76 37 Taonnor-14572
                   TGU_SettingsHandler.SetOnlyAvaSettings(value)
77 32 Taonnor-14572
                           end,
78 37 Taonnor-14572
                        default = TGU_SettingsHandler.Default.OnlyAva
79 32 Taonnor-14572
                },
80 Taonnor-14572
        [4] = {
81 38 Taonnor-14572
                        type = "checkbox",
82 Taonnor-14572
                        name = GetString(TGU_OPTIONS_USE_LGS_LABEL),
83 Taonnor-14572
                        tooltip = GetString(TGU_OPTIONS_USE_LGS_TOOLTIP),
84 39 Taonnor-14572
            requiresReload = true,
85 38 Taonnor-14572
                        getFunc =
86 Taonnor-14572
               function()
87 Taonnor-14572
                   return TGU_SettingsHandler.SavedVariables.IsLgsActive
88 Taonnor-14572
               end,
89 Taonnor-14572
                        setFunc =
90 Taonnor-14572
               function(value)
91 Taonnor-14572
                   TGU_SettingsHandler.SetIsLgsActiveSettings(value)
92 Taonnor-14572
                           end,
93 Taonnor-14572
                        default = TGU_SettingsHandler.Default.IsLgsActive
94 Taonnor-14572
                },
95 Taonnor-14572
        [5] = {
96 56 Taonnor-14572
                        type = "checkbox",
97 Taonnor-14572
                        name = GetString(TGU_OPTIONS_USE_SORTING_LABEL),
98 Taonnor-14572
                        tooltip = GetString(TGU_OPTIONS_USE_SORTING_TOOLTIP),
99 Taonnor-14572
                        getFunc =
100 Taonnor-14572
               function()
101 Taonnor-14572
                   return TGU_SettingsHandler.SavedVariables.IsSortingActive
102 Taonnor-14572
               end,
103 Taonnor-14572
                        setFunc =
104 Taonnor-14572
               function(value)
105 Taonnor-14572
                   TGU_SettingsHandler.SetIsSortingActiveSettings(value)
106 Taonnor-14572
                           end,
107 Taonnor-14572
                        default = TGU_SettingsHandler.Default.IsSortingActive
108 Taonnor-14572
                },
109 Taonnor-14572
        [6] = {
110 19 Taonnor-14572
                        type = "dropdown",
111 Taonnor-14572
                        name = GetString(TGU_OPTIONS_STYLE_LABEL),
112 Taonnor-14572
                        tooltip = GetString(TGU_OPTIONS_STYLE_TOOLTIP),
113 Taonnor-14572
            choices = styleChoices,
114 Taonnor-14572
                        getFunc =
115 Taonnor-14572
               function()
116 37 Taonnor-14572
                   return styleChoices[TGU_SettingsHandler.SavedVariables.Style]
117 19 Taonnor-14572
               end,
118 Taonnor-14572
                        setFunc =
119 Taonnor-14572
               function(value)
120 Taonnor-14572
                   for index, name in ipairs(styleChoices) do
121 Taonnor-14572
                      if (name == value) then
122 37 Taonnor-14572
                         TGU_SettingsHandler.SetStyleSettings(index)
123 19 Taonnor-14572
                         break
124 Taonnor-14572
                      end
125 Taonnor-14572
                   end
126 Taonnor-14572
                           end,
127 37 Taonnor-14572
                        default = styleChoices[TGU_SettingsHandler.Default.Style]
128 19 Taonnor-14572
                },
129 14 Taonnor-14572
        }
130 Taonnor-14572
 
131 Taonnor-14572
        local LAM = LibStub("LibAddonMenu-2.0")
132 37 Taonnor-14572
        LAM:RegisterAddonPanel(TGU_SettingsWindow.MainMenuName, panelData)
133 Taonnor-14572
        LAM:RegisterOptionControls(TGU_SettingsWindow.MainMenuName, optionsData)
134 5 Taonnor-14572
end