mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
334 lines
8.3 KiB
Lua
334 lines
8.3 KiB
Lua
local E, L, V, P, G = unpack(ElvUI);
|
|
local DT = E:GetModule("DataTexts");
|
|
|
|
local find, upper = string.find, string.upper
|
|
|
|
local datatexts = {};
|
|
|
|
function DT:PanelLayoutOptions()
|
|
for name, data in pairs(DT.RegisteredDataTexts) do
|
|
datatexts[name] = data.localizedName or L[name]
|
|
end
|
|
datatexts[""] = NONE;
|
|
|
|
local order;
|
|
local table = E.Options.args.datatexts.args.panels.args;
|
|
for pointLoc, tab in pairs(P.datatexts.panels) do
|
|
local pointLoc = pointLoc
|
|
if(not _G[pointLoc]) then table[pointLoc] = nil; return; end
|
|
if(type(tab) == "table") then
|
|
if find(pointLoc, "Chat") then
|
|
order = 15;
|
|
else
|
|
order = 20;
|
|
end
|
|
table[pointLoc] = {
|
|
order = order,
|
|
type = "group",
|
|
name = L[pointLoc] or pointLoc,
|
|
args = {}
|
|
};
|
|
for option, value in pairs(tab) do
|
|
table[pointLoc].args[option] = {
|
|
type = "select",
|
|
name = L[option] or upper(option),
|
|
values = datatexts,
|
|
get = function(info) return E.db.datatexts.panels[pointLoc][ info[getn(info)] ]; end,
|
|
set = function(info, value) E.db.datatexts.panels[pointLoc][ info[getn(info)] ] = value; DT:LoadDataTexts(); end
|
|
};
|
|
end
|
|
elseif(type(tab) == "string") then
|
|
table.smallPanels.args[pointLoc] = {
|
|
type = "select",
|
|
name = L[pointLoc] or pointLoc,
|
|
values = datatexts,
|
|
get = function(info) return E.db.datatexts.panels[pointLoc]; end,
|
|
set = function(info, value) E.db.datatexts.panels[pointLoc] = value; DT:LoadDataTexts(); end
|
|
};
|
|
end
|
|
end
|
|
end
|
|
|
|
E.Options.args.datatexts = {
|
|
type = "group",
|
|
name = L["DataTexts"],
|
|
childGroups = "tab",
|
|
get = function(info) return E.db.datatexts[ info[getn(info)] ]; end,
|
|
set = function(info, value) E.db.datatexts[ info[getn(info)] ] = value; DT:LoadDataTexts(); end,
|
|
args = {
|
|
intro = {
|
|
order = 1,
|
|
type = "description",
|
|
name = L["DATATEXT_DESC"]
|
|
},
|
|
spacer = {
|
|
order = 2,
|
|
type = "description",
|
|
name = ""
|
|
},
|
|
general = {
|
|
order = 3,
|
|
type = "group",
|
|
name = L["General"],
|
|
args = {
|
|
header = {
|
|
order = 1,
|
|
type = "header",
|
|
name = L["General"]
|
|
},
|
|
generalGroup = {
|
|
order = 2,
|
|
type = "group",
|
|
guiInline = true,
|
|
name = L["General"],
|
|
args = {
|
|
battleground = {
|
|
order = 1,
|
|
type = "toggle",
|
|
name = L["Battleground Texts"],
|
|
desc = L["When inside a battleground display personal scoreboard information on the main datatext bars."]
|
|
},
|
|
panelTransparency = {
|
|
order = 2,
|
|
name = L["Panel Transparency"],
|
|
type = "toggle",
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Layout"):SetDataPanelStyle();
|
|
end
|
|
},
|
|
panelBackdrop = {
|
|
order = 3,
|
|
name = L["Backdrop"],
|
|
type = "toggle",
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value
|
|
E:GetModule("Layout"):SetDataPanelStyle()
|
|
end,
|
|
},
|
|
noCombatClick = {
|
|
order = 4,
|
|
type = "toggle",
|
|
name = L["Block Combat Click"],
|
|
desc = L["Blocks all click events while in combat."]
|
|
},
|
|
noCombatHover = {
|
|
order = 5,
|
|
type = "toggle",
|
|
name = L["Block Combat Hover"],
|
|
desc = L["Blocks datatext tooltip from showing in combat."]
|
|
},
|
|
goldFormat = {
|
|
order = 6,
|
|
type = "select",
|
|
name = L["Gold Format"],
|
|
desc = L["The display format of the money text that is shown in the gold datatext and its tooltip."],
|
|
values = {
|
|
["SMART"] = L["Smart"],
|
|
["FULL"] = L["Full"],
|
|
["SHORT"] = L["Short"],
|
|
["SHORTINT"] = L["Short (Whole Numbers)"],
|
|
["CONDENSED"] = L["Condensed"],
|
|
["BLIZZARD"] = L["Blizzard Style"]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
fontGroup = {
|
|
order = 3,
|
|
type = "group",
|
|
guiInline = true,
|
|
name = L["Fonts"],
|
|
args = {
|
|
font = {
|
|
order = 1,
|
|
type = "select", dialogControl = "LSM30_Font",
|
|
name = L["Font"],
|
|
values = AceGUIWidgetLSMlists.font
|
|
},
|
|
fontSize = {
|
|
order = 2,
|
|
type = "range",
|
|
name = L["Font Size"],
|
|
min = 4, max = 22, step = 1
|
|
},
|
|
fontOutline = {
|
|
order = 3,
|
|
type = "select",
|
|
name = L["Font Outline"],
|
|
desc = L["Set the font outline."],
|
|
values = {
|
|
["NONE"] = NONE,
|
|
["OUTLINE"] = "OUTLINE",
|
|
["MONOCHROMEOUTLINE"] = "MONOCROMEOUTLINE",
|
|
["THICKOUTLINE"] = "THICKOUTLINE"
|
|
}
|
|
},
|
|
wordWrap = {
|
|
order = 4,
|
|
type = "toggle",
|
|
name = L["Word Wrap"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
panels = {
|
|
type = "group",
|
|
name = L["Panels"],
|
|
order = 4,
|
|
args = {
|
|
header = {
|
|
order = 1,
|
|
type = "header",
|
|
name = L["Panels"]
|
|
},
|
|
leftChatPanel = {
|
|
order = 2,
|
|
type = "toggle",
|
|
name = L["Datatext Panel (Left)"],
|
|
desc = L["Display data panels below the chat, used for datatexts."],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
if(E.db.LeftChatPanelFaded) then
|
|
E.db.LeftChatPanelFaded = true;
|
|
HideLeftChat();
|
|
end
|
|
E:GetModule("Chat"):UpdateAnchors();
|
|
E:GetModule("Layout"):ToggleChatPanels();
|
|
end
|
|
},
|
|
rightChatPanel = {
|
|
order = 3,
|
|
type = "toggle",
|
|
name = L["Datatext Panel (Right)"],
|
|
desc = L["Display data panels below the chat, used for datatexts."],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
if(E.db.RightChatPanelFaded) then
|
|
E.db.RightChatPanelFaded = true;
|
|
HideRightChat();
|
|
end
|
|
E:GetModule("Chat"):UpdateAnchors();
|
|
E:GetModule("Layout"):ToggleChatPanels();
|
|
end
|
|
},
|
|
minimapPanels = {
|
|
order = 4,
|
|
type = "toggle",
|
|
name = L["Minimap Panels"],
|
|
desc = L["Display minimap panels below the minimap, used for datatexts."],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end
|
|
},
|
|
minimapTop = {
|
|
order = 5,
|
|
name = L["TopMiniPanel"],
|
|
type = "toggle",
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end
|
|
},
|
|
minimapTopLeft = {
|
|
order = 6,
|
|
type = "toggle",
|
|
name = L["TopLeftMiniPanel"],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end,
|
|
},
|
|
minimapTopRight = {
|
|
order = 7,
|
|
type = "toggle",
|
|
name = L["TopRightMiniPanel"],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end
|
|
},
|
|
minimapBottom = {
|
|
order = 8,
|
|
type = "toggle",
|
|
name = L["BottomMiniPanel"],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end
|
|
},
|
|
minimapBottomLeft = {
|
|
order = 9,
|
|
type = "toggle",
|
|
name = L["BottomLeftMiniPanel"],
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end
|
|
},
|
|
minimapBottomRight = {
|
|
order = 10,
|
|
name = L["BottomRightMiniPanel"],
|
|
type = "toggle",
|
|
set = function(info, value)
|
|
E.db.datatexts[ info[getn(info)] ] = value;
|
|
E:GetModule("Minimap"):UpdateSettings();
|
|
end
|
|
},
|
|
spacer = {
|
|
order = 11,
|
|
type = "description",
|
|
name = "\n"
|
|
},
|
|
smallPanels = {
|
|
order = 12,
|
|
type = "group",
|
|
name = L["Small Panels"],
|
|
args = {}
|
|
}
|
|
}
|
|
},
|
|
time = {
|
|
order = 5,
|
|
type = "group",
|
|
name = L["Time"],
|
|
args = {
|
|
header = {
|
|
order = 1,
|
|
type = "header",
|
|
name = L["Time"],
|
|
},
|
|
timeFormat = {
|
|
order = 2,
|
|
type = "select",
|
|
name = L["Time Format"],
|
|
values = {
|
|
[""] = NONE,
|
|
["%I:%M"] = "03:27",
|
|
["%I:%M:%S"] = "03:27:32",
|
|
["%I:%M %p"] = "03:27 PM",
|
|
["%I:%M:%S %p"] = "03:27:32 PM",
|
|
["%H:%M"] = "15:27",
|
|
["%H:%M:%S"] ="15:27:32"
|
|
}
|
|
},
|
|
dateFormat = {
|
|
order = 3,
|
|
type = "select",
|
|
name = L["Date Format"],
|
|
values = {
|
|
[""] = NONE,
|
|
["%d/%m/%y "] = "27/03/16",
|
|
["%m/%d/%y "] = "03/27/16",
|
|
["%y/%m/%d "] = "16/03/27",
|
|
["%d.%m.%y "] = "27.03.16"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
};
|
|
|
|
DT:PanelLayoutOptions(); |