Files
2019-01-12 14:33:27 -06:00

252 lines
7.2 KiB
Lua

local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local mod = E:GetModule("DataBars");
--Cache global variables
--Lua functions
local ceil = math.ceil
local getn = table.getn
--WoW API / Variables
local GetScreenWidth = GetScreenWidth
local GetScreenHeight = GetScreenHeight
E.Options.args.databars = {
type = "group",
name = L["DataBars"],
childGroups = "tab",
get = function(info) return E.db.databars[ info[getn(info)] ] end,
set = function(info, value) E.db.databars[ info[getn(info)] ] = value; end,
args = {
intro = {
order = 1,
type = "description",
name = L["DATABAR_DESC"]
},
spacer = {
order = 2,
type = "description",
name = ""
},
experience = {
order = 3,
type = "group",
name = L["XP Bar"],
get = function(info) return mod.db.experience[ info[getn(info)] ] end,
set = function(info, value) mod.db.experience[ info[getn(info)] ] = value; mod:UpdateExperienceDimensions() end,
args = {
header = {
order = 1,
type = "header",
name = L["XP Bar"]
},
enable = {
order = 2,
type = "toggle",
name = L["Enable"],
set = function(info, value) mod.db.experience[ info[getn(info)] ] = value; mod:EnableDisable_ExperienceBar() end
},
mouseover = {
order = 3,
type = "toggle",
name = L["Mouseover"],
disabled = function() return not mod.db.experience.enable end
},
hideAtMaxLevel = {
order = 4,
type = "toggle",
name = L["Hide At Max Level"],
set = function(info, value) mod.db.experience[ info[getn(info)] ] = value; mod:UpdateExperience() end,
disabled = function() return not mod.db.experience.enable end
},
hideInCombat = {
order = 5,
type = "toggle",
name = L["Hide in Combat"],
set = function(info, value) mod.db.experience[ info[getn(info)] ] = value; mod:UpdateExperience() end,
disabled = function() return not mod.db.experience.enable end
},
spacer = {
order = 6,
type = "description",
name = ""
},
orientation = {
order = 7,
type = "select",
name = L["Statusbar Fill Orientation"],
desc = L["Direction the bar moves on gains/losses"],
values = {
["HORIZONTAL"] = L["Horizontal"],
["VERTICAL"] = L["Vertical"]
},
disabled = function() return not mod.db.experience.enable end
},
width = {
order = 8,
type = "range",
name = L["Width"],
min = 5, max = ceil(GetScreenWidth() or 800), step = 1,
disabled = function() return not mod.db.experience.enable end
},
height = {
order = 9,
type = "range",
name = L["Height"],
min = 5, max = ceil(GetScreenHeight() or 800), step = 1,
disabled = function() return not mod.db.experience.enable end
},
font = {
order = 10,
type = "select", dialogControl = "LSM30_Font",
name = L["Font"],
values = AceGUIWidgetLSMlists.font,
disabled = function() return not mod.db.experience.enable end
},
textSize = {
order = 11,
type = "range",
name = L["Font Size"],
min = 6, max = 22, step = 1,
disabled = function() return not mod.db.experience.enable end
},
fontOutline = {
order = 12,
type = "select",
name = L["Font Outline"],
values = {
["NONE"] = L["None"],
["OUTLINE"] = "OUTLINE",
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
["THICKOUTLINE"] = "THICKOUTLINE"
},
disabled = function() return not mod.db.experience.enable end
},
textFormat = {
order = 13,
type = "select",
name = L["Text Format"],
width = "double",
values = {
NONE = L["None"],
PERCENT = L["Percent"],
CUR = L["Current"],
REM = L["Remaining"],
CURMAX = L["Current - Max"],
CURPERC = L["Current - Percent"],
CURREM = L["Current - Remaining"],
CURPERCREM = L["Current - Percent (Remaining)"],
},
set = function(info, value) mod.db.experience[ info[getn(info)] ] = value; mod:UpdateExperience() end,
disabled = function() return not mod.db.experience.enable end
}
}
},
reputation = {
order = 4,
type = "group",
name = L["Reputation"],
get = function(info) return mod.db.reputation[ info[getn(info)] ] end,
set = function(info, value) mod.db.reputation[ info[getn(info)] ] = value; mod:UpdateReputationDimensions() end,
args = {
header = {
order = 1,
type = "header",
name = L["Reputation"]
},
enable = {
order = 2,
type = "toggle",
name = L["Enable"],
set = function(info, value) mod.db.reputation[ info[getn(info)] ] = value; mod:EnableDisable_ReputationBar() end
},
mouseover = {
order = 3,
type = "toggle",
name = L["Mouseover"],
disabled = function() return not mod.db.reputation.enable end
},
hideInCombat = {
order = 4,
type = "toggle",
name = L["Hide in Combat"],
set = function(info, value) mod.db.reputation[ info[getn(info)] ] = value; mod:UpdateReputation() end,
disabled = function() return not mod.db.reputation.enable end
},
spacer = {
order = 5,
type = "description",
name = ""
},
orientation = {
order = 6,
type = "select",
name = L["Statusbar Fill Orientation"],
desc = L["Direction the bar moves on gains/losses"],
values = {
["HORIZONTAL"] = L["Horizontal"],
["VERTICAL"] = L["Vertical"]
},
disabled = function() return not mod.db.reputation.enable end
},
width = {
order = 7,
type = "range",
name = L["Width"],
min = 5, max = ceil(GetScreenWidth() or 800), step = 1,
disabled = function() return not mod.db.reputation.enable end
},
height = {
order = 8,
type = "range",
name = L["Height"],
min = 5, max = ceil(GetScreenHeight() or 800), step = 1,
disabled = function() return not mod.db.reputation.enable end
},
font = {
order = 9,
type = "select", dialogControl = "LSM30_Font",
name = L["Font"],
values = AceGUIWidgetLSMlists.font,
disabled = function() return not mod.db.reputation.enable end
},
textSize = {
order = 10,
name = L["Font Size"],
type = "range",
min = 6, max = 22, step = 1,
disabled = function() return not mod.db.reputation.enable end
},
fontOutline = {
order = 11,
type = "select",
name = L["Font Outline"],
values = {
["NONE"] = L["None"],
["OUTLINE"] = "OUTLINE",
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
["THICKOUTLINE"] = "THICKOUTLINE"
},
disabled = function() return not mod.db.reputation.enable end
},
textFormat = {
order = 12,
type = "select",
name = L["Text Format"],
width = "double",
values = {
NONE = L["None"],
CUR = L["Current"],
REM = L["Remaining"],
PERCENT = L["Percent"],
CURMAX = L["Current - Max"],
CURPERC = L["Current - Percent"],
CURREM = L["Current - Remaining"],
CURPERCREM = L["Current - Percent (Remaining)"],
},
set = function(info, value) mod.db.reputation[ info[getn(info)] ] = value; mod:UpdateReputation() end,
disabled = function() return not mod.db.reputation.enable end
}
}
}
}
}