Relintais-Enemy-Kooldown-Tr.../data/optiontable.lua
Relintai b6d9f5eda9 -As I now use a different name, I have renamed the addon.
-Fixed a slight error, Hunter's cdreset array contained some other stuff that shouldn't have been there.
-Found an error in Warrior's recklessness cds, TODO.
2016-05-06 16:17:32 +02:00

675 lines
21 KiB
Lua

local aceDBOptions = LibStub("AceDBOptions-3.0")
function Rect:GetRectOptions()
local db = self.db.profile;
local options = {
type = "group", name = "Rect", childGroups = "tab",
args = {
enabled = {
type = "toggle", name = "Enabled", desc = "Enable/Disable the addon", order = 0,
get = function() return Rect:isEnabled() end,
set = function(_, v)
Rect:setEnabledOrDisabled(v);
end
},
lock = {
type = "toggle", name = "Lock", desc = "Uncheck to move the frames", order = 1,
get = function() return Rect:isLocked() end,
set = function(_, v)
db.locked = v;
if v then Rect:LockFrames() else Rect:UnlockFrames() end;
end
},
targetandfocus = {
type = "group", name = "CDs", desc = "Cooldown frame's settings.", childGroups = "tab", order = 2,
args = Rect:getTargetandFocusOptions();
},
droptions = {
type = "group", name = "DRs", desc = "DR frame's settings.", childGroups = "tab",order = 3,
args = Rect:getDROptions();
},
coloroptions = {
type = "group", name = "Global", desc = "Global settings.", childGroups = "tab",order = 4,
args = Rect:getGlobalOptions()
},
debugoptions = {
type = "group", name = "Debug", desc = "Debug settings.", childGroups = "tab", order = 5,
args = Rect:getDebugOptions();
},
profileoptions = aceDBOptions:GetOptionsTable(self.db)
}
}
return options;
end
--order 10-20
function Rect:getTargetandFocusOptions()
local args = {
targetHeader = {
type = "header", name = "Target's settings", order = 10
},
targettoggle = {
type = "toggle", name = "Target", desc = "Enable/Disable showing the target's cooldowns", order = 11,
get = function() return Rect:isPartEnabled("target") end,
set = function(_, v)
Rect:SetPartEnabledOrDisabled("target", v);
end
},
targetrange = {
type = "range", name = "Target's size", order = 12, min = 10, max = 150, step = 1,
get = function() return Rect:getFrameSize("target") end,
set = function(_, v)
Rect:setFrameSize("target", v);
end
},
targetGrowSelect = {
type = "select", style = "dropdown", name = "targetGrow",
desc = "Change which way the target's cooldowns will grow", order = 13,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left"
},
get = function() return Rect:getGrowOrder("target") end,
set = function(_, v)
Rect:setGrowOrder("target", v);
end
},
targetSortSelect = {
type = "select", style = "dropdown", name = "targetSortOrder",
desc = "Change the target's cooldowns's sort order", order = 14,
values = {
["1"] = "Ascending (CD left)",
["2"] = "Descending (CD left)",
["3"] = "Ascending (CD total)",
["4"] = "Descending (CD total)",
["5"] = "Recent first",
["6"] = "Recent Last",
["7"] = "No order"
},
get = function() return Rect:getSortOrder("target") end,
set = function(_, v)
Rect:setSortOrder("target", v);
end
},
targetcolortoggle = {
type = "toggle", name = "Colors", desc = "Enable/Disable showing the target's cooldown's colors.", order = 15,
get = function() return Rect:getColorFrameEnabled("target") end,
set = function(_, v)
Rect:setColorFrameEnabled("target", v);
end
},
targetcolorrange = {
type = "range", name = "Target's Color size", order = 16, min = 1, max = 30, step = 1,
get = function() return Rect:getColorFrameSize("target") end,
set = function(_, v)
Rect:setColorFrameSize("target", v);
end
},
focusHeader = {
type = "header", name = "Focus's settings", order = 17
},
focustoggle = {
type = "toggle", name = "Focus", desc = "Enable/Disable showing the focus's cooldowns", order = 18,
get = function() return Rect:isPartEnabled("focus") end,
set = function(_, v)
Rect:SetPartEnabledOrDisabled("focus", v);
end
},
focusRange = {
type = "range", name = "Focus's size", order = 19, min = 10, max = 150, step = 1,
get = function() return Rect:getFrameSize("focus") end,
set = function(_, v)
Rect:setFrameSize("focus", v);
end
},
focusGrowSelect = {
type = "select", style = "dropdown", name = "focusGrow",
desc = "Change which way the focus's cooldowns will grow", order = 20,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left"
},
get = function() return Rect:getGrowOrder("focus") end,
set = function(_, v)
Rect:setGrowOrder("focus", v);
end
},
focusSortSelect = {
type = "select", style = "dropdown", name = "focusSortOrder",
desc = "Change the focus's cooldowns's sort order", order = 21,
values = {
["1"] = "Ascending (CD left)",
["2"] = "Descending (CD left)",
["3"] = "Ascending (CD total)",
["4"] = "Descending (CD total)",
["5"] = "Recent first",
["6"] = "Recent Last",
["7"] = "No order"
},
get = function() return Rect:getSortOrder("focus") end,
set = function(_, v)
Rect:setSortOrder("focus", v);
end
},
focuscolortoggle = {
type = "toggle", name = "Colors", desc = "Enable/Disable showing the target's cooldown's colors.", order = 22,
get = function() return Rect:getColorFrameEnabled("focus") end,
set = function(_, v)
Rect:setColorFrameEnabled("focus", v);
end
},
focuscolorrange = {
type = "range", name = "Focus's Color size", order = 23, min = 1, max = 30, step = 1,
get = function() return Rect:getColorFrameSize("focus") end,
set = function(_, v)
Rect:setColorFrameSize("focus", v);
end
},
}
return args;
end
--order 20-40
function Rect:getDROptions()
local args = {
targetdrHeader = {
type = "header", name = "Target's settings", order = 10
},
targetdrtoggle = {
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the target's DRs.", order = 11,
get = function() return Rect:isPartEnabled("targetdr") end,
set = function(_, v)
Rect:SetDRPartEnabledOrDisabled("targetdr", v);
end
},
targetdrrange = {
type = "range", name = "Target's DRs size", order = 12, min = 10, max = 150, step = 1,
get = function() return Rect:getFrameSize("targetdr") end,
set = function(_, v)
Rect:setFrameSize("targetdr", v);
end
},
targetdrGrowSelect = {
type = "select", style = "dropdown", name = "targetDRGrow",
desc = "Change which way the target's cooldowns will grow", order = 13,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left"
},
get = function() return Rect:getGrowOrder("targetdr") end,
set = function(_, v)
Rect:setDRGrowOrder("targetdr", v);
end
},
targetdrSortSelect = {
type = "select", style = "dropdown", name = "targetDRSortOrder",
desc = "Change the target's DR's sort order", order = 14,
values = {
["1"] = "Ascending (CD left)",
["2"] = "Descending (CD left)",
["3"] = "Ascending (CD total)",
["4"] = "Descending (CD total)",
["5"] = "Recent first",
["6"] = "Recent Last",
["7"] = "No order"
},
get = function() return Rect:getSortOrder("targetdr") end,
set = function(_, v)
Rect:setSortOrder("targetdr", v);
end
},
targetdrnumsizerange = {
type = "range", name = "Number's size", desc = "Target's DR's Number's size. Set it to 0 to disable it!",
order = 15, min = 1, max = 30, step = 1,
get = function() return Rect:getDRNumSize("targetdr") end,
set = function(_, v)
Rect:setDRNumSize("targetdr", v);
end
},
targetdrnumposselect = {
type = "select", style = "dropdown", name = "targetDRNumPos",
desc = "Change the target's DR's number's position.", order = 16,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left",
["5"] = "Middle"
},
get = function() return Rect:getDRNumPosition("targetdr") end,
set = function(_, v)
Rect:setDRNumPosition("targetdr", v);
end
},
focusdrHeader = {
type = "header", name = "Focus's settings", order = 17
},
focusdrtoggle = {
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the focus's DRs.", order = 18,
get = function() return Rect:isPartEnabled("focusdr") end,
set = function(_, v)
Rect:SetDRPartEnabledOrDisabled("focusdr", v);
end
},
focusdrRange = {
type = "range", name = "Focus's size", order = 19, min = 10, max = 150, step = 1,
get = function() return Rect:getFrameSize("focusdr") end,
set = function(_, v)
Rect:setFrameSize("focusdr", v);
end
},
focusdrGrowSelect = {
type = "select", style = "dropdown", name = "focusDRGrow",
desc = "Change which way the focus's DRs will grow", order = 20,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left"
},
get = function() return Rect:getGrowOrder("focusdr") end,
set = function(_, v)
Rect:setDRGrowOrder("focusdr", v);
end
},
focusdrSortSelect = {
type = "select", style = "dropdown", name = "focusDRSortOrder",
desc = "Change the focus's DR's sort order", order = 21,
values = {
["1"] = "Ascending (CD left)",
["2"] = "Descending (CD left)",
["3"] = "Ascending (CD total)",
["4"] = "Descending (CD total)",
["5"] = "Recent first",
["6"] = "Recent Last",
["7"] = "No order"
},
get = function() return Rect:getSortOrder("focusdr") end,
set = function(_, v)
Rect:setSortOrder("focusdr", v);
end
},
focusdrnumsizerange = {
type = "range", name = "Number's size", desc = "Focus's DR's Number's size. Set it to 0 to disable it!",
order = 22, min = 1, max = 30, step = 1,
get = function() return Rect:getDRNumSize("focusdr") end,
set = function(_, v)
Rect:setDRNumSize("focusdr", v);
end
},
focusdrnumposselect = {
type = "select", style = "dropdown", name = "focusDRNumPos",
desc = "Change the focus's DR's number's position.", order = 23,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left",
["5"] = "Middle"
},
get = function() return Rect:getDRNumPosition("focusdr") end,
set = function(_, v)
Rect:setDRNumPosition("focusdr", v);
end
},
selfdrHeader = {
type = "header", name = "Self's settings", order = 24
},
selfdrtoggle = {
type = "toggle", name = "Enabled", desc = "Enable/Disable showing the your DRs.", order = 25,
get = function() return Rect:isPartEnabled("selfdr") end,
set = function(_, v)
Rect:SetDRPartEnabledOrDisabled("selfdr", v);
end
},
selfdrrange = {
type = "range", name = "Self's DRs size", order = 26, min = 10, max = 150, step = 1,
get = function() return Rect:getFrameSize("selfdr") end,
set = function(_, v)
Rect:setFrameSize("selfdr", v);
end
},
selfdrGrowSelect = {
type = "select", style = "dropdown", name = "selfDRGrow",
desc = "Change which way the your DRs will grow", order = 27,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left"
},
get = function() return Rect:getGrowOrder("selfdr") end,
set = function(_, v)
Rect:setDRGrowOrder("selfdr", v);
end
},
selfdrSortSelect = {
type = "select", style = "dropdown", name = "selfDRSortOrder",
desc = "Change the your DR's sort order", order = 28,
values = {
["1"] = "Ascending (CD left)",
["2"] = "Descending (CD left)",
["3"] = "Ascending (CD total)",
["4"] = "Descending (CD total)",
["5"] = "Recent first",
["6"] = "Recent Last",
["7"] = "No order"
},
get = function() return Rect:getSortOrder("selfdr") end,
set = function(_, v)
Rect:setSortOrder("selfdr", v);
end
},
selfdrnumsizerange = {
type = "range", name = "Number's size", desc = "Your DR's Number's size. Set it to 0 to disable it!",
order = 29, min = 1, max = 30, step = 1,
get = function() return Rect:getDRNumSize("selfdr") end,
set = function(_, v)
Rect:setDRNumSize("selfdr", v);
end
},
selfdrnumposselect = {
type = "select", style = "dropdown", name = "selfDRNumPos",
desc = "Change your DR's number's position.", order = 30,
values = {
["1"] = "Up",
["2"] = "Right",
["3"] = "Down",
["4"] = "Left",
["5"] = "Middle"
},
get = function() return Rect:getDRNumPosition("selfdr") end,
set = function(_, v)
Rect:setDRNumPosition("selfdr", v);
end
},
}
return args;
end
--order 40-50
function Rect:getGlobalOptions()
local args = {
globalHeader = {
type = "header", name = "Global CD settings", order = 10
},
specdetectiontoggle = {
type = "toggle", name = "Spec Detection", desc = "Enable/Disable Spec Detection", order = 11,
get = function() return Rect:isSpecDetectionEnabled() end,
set = function(_, v)
Rect:setSpecDetectionEnabledorDisabled(v);
end
},
petcdguessingtoggle = {
type = "toggle", name = "Pet CD Guessing",
desc = "Enable/Disable Pet Cd Guessing, this will show pet cds on all possible masters, since there is no reasonable way of determining who's pet it is from combatlog events and GUIDs, this will be really inaccurate if there are 2-3 lock for example.",
order = 12,
get = function() return Rect:getPetCDGuessing() end,
set = function(_, v)
Rect:setPetCDGuessing(v);
end
},
globalcdtypesortHeader = {
type = "header", name = "Global CD Type sorting", order = 13
},
cdtypesortordertoggle = {
type = "toggle", name = "Enabled", desc = "Enable/Disable CD Type Sort Order, It works like this: you set silence to 1, then cc to 2 and anticc to 2, then silences will go first, then cc and anticc as secound, they are organized within groups based on how you set them in the CDs settings tab.", order = 15,
get = function() return Rect:getCDTypeSortingEnable() end,
set = function(_, v)
Rect:setCDTypeSortingEnable(v);
end
},
silencerange = {
type = "range", name = "Silence's Type Order", order = 17, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("silence") end,
set = function(_, v)
Rect:setTypeSortOrder("silence", v);
end
},
gapcloserrange = {
type = "range", name = "Gapcloser's Type Order", order = 18, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("gapcloser") end,
set = function(_, v)
Rect:setTypeSortOrder("gapcloser", v);
end
},
defensiverange = {
type = "range", name = "Defensive's Type Order", order = 19, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("defensive") end,
set = function(_, v)
Rect:setTypeSortOrder("defensive", v);
end
},
potionrange = {
type = "range", name = "Potion's Type Order", order = 20, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("potion") end,
set = function(_, v)
Rect:setTypeSortOrder("potion", v);
end
},
nukerange = {
type = "range", name = "Nuke's Type Order", order = 21, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("nuke") end,
set = function(_, v)
Rect:setTypeSortOrder("nuke", v);
end
},
anticcrange = {
type = "range", name = "Anticc's Type Order", order = 22, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("anticc") end,
set = function(_, v)
Rect:setTypeSortOrder("anticc", v);
end
},
ccrange = {
type = "range", name = "Cc's Type Order", order = 23, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("cc") end,
set = function(_, v)
Rect:setTypeSortOrder("cc", v);
end
},
stunrange = {
type = "range", name = "Stun's Type Order", order = 24, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("stun") end,
set = function(_, v)
Rect:setTypeSortOrder("stun", v);
end
},
disarmrange = {
type = "range", name = "Disarm's Type Order", order = 25, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("disarm") end,
set = function(_, v)
Rect:setTypeSortOrder("disarm", v);
end
},
cdresetrange = {
type = "range", name = "Cdreset's Type Order", order = 26, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("cdreset") end,
set = function(_, v)
Rect:setTypeSortOrder("cdreset", v);
end
},
shieldrange = {
type = "range", name = "shield's Type Order", order = 27, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("shield") end,
set = function(_, v)
Rect:setTypeSortOrder("shield", v);
end
},
uncategorizedrange = {
type = "range", name = "Uncategorized's Type Order", order = 28, min = 1, max = 15, step = 1,
get = function() return Rect:getTypeSortOrder("uncategorized") end,
set = function(_, v)
Rect:setTypeSortOrder("uncategorized", v);
end
},
--50+
globalcolorHeader = {
type = "header", name = "CD Color settings", order = 51
},
silencecolorsel = {
type = "color", name = "Silence's color", hasAlpha = true, order = 52,
get = function() return Rect:getColor("silence") end,
set = function(_, r, g, b, a)
Rect:setColor("silence", r, g, b, a);
end
},
gapclosercolorsel = {
type = "color", name = "Gapcloser's color", hasAlpha = true, order = 53,
get = function() return Rect:getColor("gapcloser") end,
set = function(_, r, g, b, a)
Rect:setColor("gapcloser", r, g, b, a);
end
},
defensivecolorsel = {
type = "color", name = "Defensive's color", hasAlpha = true, order = 54,
get = function() return Rect:getColor("defensive") end,
set = function(_, r, g, b, a)
Rect:setColor("defensive", r, g, b, a);
end
},
potioncolorsel = {
type = "color", name = "Potion's color", hasAlpha = true, order = 55,
get = function() return Rect:getColor("potion") end,
set = function(_, r, g, b, a)
Rect:setColor("potion", r, g, b, a);
end
},
nukecolorsel = {
type = "color", name = "Nuke's color", hasAlpha = true, order = 56,
get = function() return Rect:getColor("nuke") end,
set = function(_, r, g, b, a)
Rect:setColor("nuke", r, g, b, a);
end
},
anticccolorsel = {
type = "color", name = "Anticc's color", hasAlpha = true, order = 57,
get = function() return Rect:getColor("anticc") end,
set = function(_, r, g, b, a)
Rect:setColor("anticc", r, g, b, a);
end
},
cccolorsel = {
type = "color", name = "Cc's color", hasAlpha = true, order = 58,
get = function() return Rect:getColor("cc") end,
set = function(_, r, g, b, a)
Rect:setColor("cc", r, g, b, a);
end
},
stuncolorsel = {
type = "color", name = "Stun's color", hasAlpha = true, order = 59,
get = function() return Rect:getColor("stun") end,
set = function(_, r, g, b, a)
Rect:setColor("stun", r, g, b, a);
end
},
disarmcolorsel = {
type = "color", name = "Disarm's color", hasAlpha = true, order = 60,
get = function() return Rect:getColor("disarm") end,
set = function(_, r, g, b, a)
Rect:setColor("disarm", r, g, b, a);
end
},
cdresetcolorsel = {
type = "color", name = "Cdreset's color", hasAlpha = true, order = 61,
get = function() return Rect:getColor("cdreset") end,
set = function(_, r, g, b, a)
Rect:setColor("cdreset", r, g, b, a);
end
},
shieldcolorsel = {
type = "color", name = "Shield's color", hasAlpha = true, order = 62,
get = function() return Rect:getColor("shield") end,
set = function(_, r, g, b, a)
Rect:setColor("shield", r, g, b, a);
end
},
uncategorizedcolorsel = {
type = "color", name = "Uncategorized's color", hasAlpha = true, order = 63,
get = function() return Rect:getColor("uncategorized") end,
set = function(_, r, g, b, a)
Rect:setColor("uncategorized", r, g, b, a);
end
},
}
return args;
end
--order 50+
function Rect:getDebugOptions()
local args = {
spellcast = {
type = "toggle", name = "SpellCast", desc = "Enable/Disable writing out SPELL_CAST_SUCCESS events.", order = 50,
get = function() return Rect:getSpellCastDebug() end,
set = function(_, v)
Rect:setSpellCastDebug(v);
end
},
spellAura = {
type = "toggle", name = "SpellAura", desc = "Enable/Disablewriting out SPLL_AURA_* events", order = 51,
get = function() return Rect:getSpellAuraDebug() end,
set = function(_, v)
Rect:setSpellAuraDebug(v);
end
},
allLog = {
type = "toggle", name = "Uber debug", desc = "Enable/Disable writing out all combatlog events", order = 52,
get = function() return Rect:getAllCDebug() end,
set = function(_, v)
Rect:setAllCDebug(v);
end
},
selfcd = {
type = "toggle", name = "Self CDs", desc = "Enable/Disable registering self CDs", order = 53,
get = function() return Rect:getSelfCDRegister() end,
set = function(_, v)
Rect:setSelfCDRegister(v);
end
},
debugselect = {
type = "select", style = "dropdown", name = "debuglevel",
desc = "Change the debuglevel", order = 54,
values = {
["0"] = "No Messages",
},
get = function() return Rect:getDebugLevel() end,
set = function(_, v)
Rect:setDebugLevel(v);
end
},
}
return args;
end
function Rect:GetTypeSortDropdown(num)
local arr = {
type = "select", style = "dropdown", name = "selfDRSortOrder",
desc = "Change the your DR's sort order", order = 28,
values = {
["1"] = "Ascending (CD left)",
["2"] = "Descending (CD left)",
["3"] = "Ascending (CD total)",
["4"] = "Descending (CD total)",
["5"] = "Recent first",
["6"] = "Recent Last",
["7"] = "No order"
},
get = function() return Rect:getSortOrder("selfdr") end,
set = function(_, v)
Rect:setSortOrder("selfdr", v);
end
}
return arr;
end