You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

121 lines
4.4 KiB

local SLE, T, E, L, V, P, G = unpack(ElvUI_SLE)
local MM = SLE.Minimap
local function configTable()
if not SLE.initialized then return end
local ACH = E.Libs.ACH
E.Options.args.sle.args.modules.args.minimap.args.coords = {
type = "group",
name = L["Coordinates"],
order = 5,
disabled = function() return not E.private.general.minimap.enable end,
get = function(info) return E.db.sle.minimap.coords[ info[#info] ] end,
set = function(info, value) E.db.sle.minimap.coords[ info[#info] ] = value; MM:UpdateSettings() end,
args = {
enable = {
type = "toggle",
name = L["Enable"],
order = 1,
desc = L["Enable/Disable Square Minimap Coords."],
disabled = function() return not E.private.general.minimap.enable end,
},
general = {
order = 2,
type = "group",
name = L["General"],
guiInline = true,
disabled = function() return not E.db.sle.minimap.coords.enable or not E.private.general.minimap.enable end,
get = function(info) return E.db.sle.minimap.coords[ info[#info] ] end,
set = function(info, value) E.db.sle.minimap.coords[ info[#info] ] = value; MM:UpdateSettings() end,
args = {
mouseover = {
order = 1,
type = "toggle",
name = L["Mouseover"],
desc = L["Show coordinates on minimap mouseover."],
disabled = function() return not E.private.general.minimap.enable or not E.db.sle.minimap.coords.enable end,
},
xOffset = {
order = 2,
type = 'range',
name = L["X-Offset"],
min = -200, max = 200, step = 1,
disabled = function() return not E.db.sle.minimap.coords.enable or not E.private.general.minimap.enable end,
set = function(info, value) E.db.sle.minimap.coords[info[#info]] = value; MM:UpdateCoordinatesPosition() end,
},
yOffset = {
order = 3,
type = 'range',
name = L["Y-Offset"],
min = -200, max = 200, step = 1,
disabled = function() return not E.db.sle.minimap.coords.enable or not E.private.general.minimap.enable end,
set = function(info, value) E.db.sle.minimap.coords[info[#info]] = value; MM:UpdateCoordinatesPosition() end,
},
format = {
order = 4,
name = L["Format"],
type = "select",
disabled = function() return not E.private.general.minimap.enable or not E.db.sle.minimap.coords.enable end,
set = function(info, value) E.db.sle.minimap.coords[ info[#info] ] = value; MM:UpdateSettings(); MM:HandleEvent() end,
values = {
["%.0f"] = DEFAULT,
["%.1f"] = "45.3",
["%.2f"] = "45.34",
},
},
throttle = {
order = 5,
type = 'range',
name = L["Update Throttle"],
min = 0.1, max = 2, step = 0.1,
disabled = function() return not E.db.sle.minimap.coords.enable or not E.private.general.minimap.enable end,
set = function(info, value) E.db.sle.minimap.coords[ info[#info] ] = value end,
},
},
},
fontGroup = {
order = 10,
type = "group",
name = L["Fonts"],
guiInline = true,
disabled = function() return not E.db.sle.minimap.coords.enable or not E.private.general.minimap.enable end,
get = function(info) return E.db.sle.minimap.coords[ info[#info] ] end,
set = function(info, value) E.db.sle.minimap.coords[ info[#info] ] = value; MM:CoordFont() end,
args = {
font = {
type = "select", dialogControl = 'LSM30_Font',
order = 1,
name = L["Font"],
values = AceGUIWidgetLSMlists.font,
},
fontSize = {
order = 2,
name = L["Font Size"],
type = "range",
min = 6, max = 22, step = 1,
set = function(info, value) E.db.sle.minimap.coords[ info[#info] ] = value; MM:CoordFont() end,
},
fontOutline = ACH:FontFlags(L["Font Outline"], L["Set the font outline."], 3),
color = {
type = 'color',
order = 4,
name = L["Color"],
get = function(info)
local t = E.db.sle.minimap.coords[ info[#info] ]
local d = P.sle.minimap.coords[info[#info]]
return t.r, t.g, t.b, t.a, d.r, d.g, d.b, d.a
end,
set = function(info, r, g, b, a)
E.db.sle.minimap.coords[ info[#info] ] = {}
local t = E.db.sle.minimap.coords[ info[#info] ]
t.r, t.g, t.b, t.a = r, g, b, a
MM:SetCoordsColor()
end,
},
},
},
},
}
end
tinsert(SLE.Configs, configTable)