Files
ElvUIModernized/ElvUI/Modules/UnitFrames/Elements/CustomText.lua
T
Crum 93f5762a44 big update Unitframes
update #56
fix #38
fix #69
2018-12-07 23:27:23 -06:00

52 lines
1.8 KiB
Lua

local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
local UF = E:GetModule("UnitFrames");
--Cache global variables
--Lua functions
local pairs = pairs
function UF:Configure_CustomTexts(frame)
local db = frame.db
--Make sure CustomTexts are hidden if they don't exist in current profile
for objectName, object in pairs(frame.customTexts) do
if (not db.customTexts) or (db.customTexts and not db.customTexts[objectName]) then
object:Hide()
frame.customTexts[objectName] = nil
end
end
if db.customTexts then
local customFont = UF.LSM:Fetch("font", UF.db.font)
for objectName in pairs(db.customTexts) do
if not frame.customTexts[objectName] then
frame.customTexts[objectName] = frame.RaisedElementParent:CreateFontString(nil, "OVERLAY")
end
local objectDB = db.customTexts[objectName]
if objectDB.font then
customFont = UF.LSM:Fetch("font", objectDB.font)
end
local attachPoint = self:GetObjectAnchorPoint(frame, objectDB.attachTextTo)
E:FontTemplate(frame.customTexts[objectName], customFont, objectDB.size or UF.db.fontSize, objectDB.fontOutline or UF.db.fontOutline)
frame.customTexts[objectName]:SetJustifyH(objectDB.justifyH or "CENTER")
frame.customTexts[objectName]:ClearAllPoints()
E:Point(frame.customTexts[objectName], objectDB.justifyH or "CENTER", attachPoint, objectDB.justifyH or "CENTER", objectDB.xOffset, objectDB.yOffset)
--This takes care of custom texts that were added before the enable option was added.
if objectDB.enable == nil then
objectDB.enable = true
end
if objectDB.enable then
frame:Tag(frame.customTexts[objectName], objectDB.text_format or "")
frame.customTexts[objectName]:Show()
else
frame:Untag(frame.customTexts[objectName])
frame.customTexts[objectName]:Hide()
end
end
end
end