/
local layoutName = 'oUF_Smee2' |
local modulus = mod |
local mod = _G[layoutName] |
local configModName = layoutName..'_Config' |
local configMod = _G[configModName] |
local addon = _G[layoutName] |
local configAddonName = layoutName..'_Config' |
local configAddon = _G[configAddonName] |
local tinsert = table.insert |
local db = mod.db.profile |
local db = addon.db.profile |
GlobalObject = {} |
configMod.growthYDirections= { |
configAddon.growthYDirections= { |
UP = "UP", |
DOWN = "DOWN", |
} |
configMod.growthXDirections= { |
configAddon.growthXDirections= { |
LEFT = "LEFT", |
RIGHT = "RIGHT", |
} |
configMod.frameAnchorPoints = { |
configAddon.frameAnchorPoints = { |
TOPLEFT = "TOPLEFT", TOP = "TOP", TOPRIGHT = "TOPRIGHT", |
LEFT = "LEFT", CENTER = "CENTER", RIGHT = "RIGHT", |
BOTTOMLEFT = "BOTTOMLEFT", BOTTOM = "BOTTOM", BOTTOMRIGHT = "BOTTOMRIGHT" |
} |
configMod.textHorizontalAlignmentPoints={ |
configAddon.textHorizontalAlignmentPoints={ |
LEFT = "LEFT", CENTER = "CENTER", RIGHT ="RIGHT" |
} |
configMod.textVerticalAlignmentPoints={ |
configAddon.textVerticalAlignmentPoints={ |
TOP = "TOP", MIDDLE = "MIDDLE", BOTTOM = "BOTTOM" |
} |
configMod.fontOutlineTypes={ |
configAddon.fontOutlineTypes={ |
NONE = "None", |
OUTLINE = "OUTLINE", |
THICKOUTLINE = "THICKOUTLINE", |
MONOCHROME = "MONOCHROME" |
} |
configMod.resizeRules = { |
configAddon.resizeRules = { |
["Height"] = { |
['Power'] = function(obj,num) |
return ((obj:GetParent().db.height - 3) / 100 ) * num |
} |
} |
function configMod:UpdateTextures(object,data) |
local textures = mod.db.profile.textures |
function configAddon:UpdateTextures(object,data) |
local textures = addon.db.profile.textures |
for bar,obj in pairs(object.bars)do |
obj:SetStatusBarTexture(mod.LSM:Fetch('statusbar',data.statusbar)) |
obj:SetStatusBarTexture(addon.LSM:Fetch('statusbar',data.statusbar)) |
end |
end |
function configMod:PlayerFramesToAnchorTo() |
function configAddon:PlayerFramesToAnchorTo() |
local AnchorToFrames = {} |
for frame, object in pairs(mod.units)do |
for frame, object in pairs(addon.units)do |
AnchorToFrames[frame] = frame |
end |
AnchorToFrames['UIParent'] = 'UIParent' |
return AnchorToFrames |
end |
function configMod:concatLeaves(branch) |
function configAddon:concatLeaves(branch) |
local picture = "" |
for index,value in pairs(branch) do |
picture = picture .. "["..index.."] - "..tostring(value).."\n" |
return picture |
end |
function configMod:SetupUnitOptions(table) |
function configAddon:SetupUnitOptions(table) |
for index,frame in pairs(table)do |
if frame.unit ~= nil then |
self.options.args['frames'].args['units'].args[index] = self:AddUnitOptionSet(frame) |
end |
-- MANUPILATORS |
function configMod:ScaleObject(obj,value) |
function configAddon:ScaleObject(obj,value) |
if obj~=nil then |
obj:SetScale(db.frames.scale) |
else |
end |
end |
end |
function configMod:MoveObject(object,setting) |
function configAddon:MoveObject(object,setting) |
if(object ~= nil) then |
local anchorTo = setting.anchorTo |
if(anchorTo == nil or anchorTo == 'parent')then |
object:SetPoint(setting.anchorFromPoint,anchorTo,setting.anchorToPoint,setting.anchorX,setting.anchorY) |
end |
end |
function configMod:SizeObject(object,settings,parent) |
function configAddon:SizeObject(object,settings,parent) |
if(object ~= nil) then |
local widthRule = configMod.resizeRules["Width"][parent] and configMod.resizeRules["Width"][parent](object,settings.width) or settings.width |
local heightRule = configMod.resizeRules["Height"][parent] and configMod.resizeRules["Height"][parent](object,settings.height) or settings.height |
local widthRule = configAddon.resizeRules["Width"][parent] and configAddon.resizeRules["Width"][parent](object,settings.width) or settings.width |
local heightRule = configAddon.resizeRules["Height"][parent] and configAddon.resizeRules["Height"][parent](object,settings.height) or settings.height |
object:SetWidth(widthRule) |
object:SetHeight(heightRule) |
if(object.OnSizeChange) then object:OnSizeChange(object) end |
end |
end |
function configMod:SetFontType(obj,size,name,outline) |
mod:UpdateFontObjects(obj,size,name,outline) |
function configAddon:SetFontType(obj,size,name,outline) |
addon:UpdateFontObjects(obj,size,name,outline) |
end |
function configMod:SetAuraTimeFormat(value) |
function configAddon:SetAuraTimeFormat(value) |
db.auras.timers.UsingMMSS = value |
end |
function configMod:ToggleAuraTimers(value) |
function configAddon:ToggleAuraTimers(value) |
db.auras.timers.enabled = value |
end |
function configMod:GetAuraRows(obj) |
local extra = modulus(obj.num,obj.Colomns) > 0 and 1 or 0 |
function configAddon:GetAuraRows(obj) |
local extra = mod(obj.num,obj.Colomns) > 0 and 1 or 0 |
local rows = math.floor(obj.num/obj.Colomns) |
return rows + extra |
end |
function configMod:SetAuraFontOptions(obj,size,name,outline) |
local fontDb = mod.db.profile.auras.font |
function configAddon:SetAuraFontOptions(obj,size,name,outline) |
local fontDb = addon.db.profile.auras.font |
self:Debug(size,name,outline) |
fontDb.size = size or fontDb.size |
fontDb.name = name or fontDb.name |
fontDb.outline = outline or fontDb.outline |
-- for index,unit in pairs(mod.units)do |
-- for index,unit in pairs(addon.units)do |
-- if unit.Buffs then end |
-- end |
end |
function configMod:adjustAuraFrame(object,setting,value) |
function configAddon:adjustAuraFrame(object,setting,value) |
self:Debug("adjustAuraFrame("..tostring(object)..","..setting..","..value..")") |
object[setting]=value |
object:SetWidth(object.size * object.Colomns) |
end |
function configMod:ToggleFrameLock(obj,value) |
function configAddon:ToggleFrameLock(obj,value) |
if obj ~= nil then |
if value == false then |
obj:SetBackdropColor(.2,1,.2,.5) |
end |
end |
end |
function configMod:Orientation(obj,value) |
function configAddon:Orientation(obj,value) |
if(obj.SetChildOrientation) then |
obj:SetChildOrientation(value) |
else |
end |
end |
function configMod:EnableObject(obj,value) |
function configAddon:EnableObject(obj,value) |
if value == true then |
obj:Show() |
if obj.SetupEnabled then obj.SetupEnabled(obj) end |
end |
end |
function configMod:ToggleConfigAssist(object) |
function configAddon:ToggleConfigAssist(object) |
if(object:GetBackdrop()~=nil)then |
self:Print("Hiding Backdrop") |
object:SetBackdrop(nil) |
else |
self:Print("Showing Backdrop") |
object:SetBackdrop(mod.db.profile.textures.backgrounds.default) |
object:SetBackdrop(addon.db.profile.textures.backgrounds.default) |
object:SetBackdropColor(0,0,0,.5) |
end |
end |
function configMod:PositionFontObject(object,settings) |
function configAddon:PositionFontObject(object,settings) |
object:ClearAllPoints() |
object:SetJustifyH(settings.justifyH) |
object:SetJustifyV(settings.justifyV) |
object:UpdateTag() |
end |
function configMod:UpdateTagEvents(object,tagstr) |
function configAddon:UpdateTagEvents(object,tagstr) |
-- Forcefully strip away any parentheses and the characters in them. |
self:Print("Attempting : "..tagstr) |
local tagEvents = oUF.TagEvents |
end |
-- GETTERS & SETTERS |
function configMod:getOptionValue(info) |
function configAddon:getOptionValue(info) |
local value = '' |
local key = info[#info] |
return value |
end |
function configMod:setOptionValue(info,value) |
function configAddon:setOptionValue(info,value) |
local key = info[#info] |
local parentKey = info[#info-1] |
self:Debug("\nset : " .. self:concatLeaves(info) ) |
-- Handling of the frames.units[unitName] |
-- GET-- |
function configMod:GetUnitFrameOption(info) |
function configAddon:GetUnitFrameOption(info) |
local object = info['arg'] |
local profile = object.db |
local setting = info[#info] |
return output |
end |
-- SET-- |
function configMod:SetUnitFrameOption(info,value) |
function configAddon:SetUnitFrameOption(info,value) |
local object = info['arg'] |
local profile = object.db |
local setting = info[#info] |
end |
function configMod:GetUnitFrameFontObjectOption(info) |
function configAddon:GetUnitFrameFontObjectOption(info) |
end |
function configMod:SetUnitFrameFontObjectOption(info,value) |
function configAddon:SetUnitFrameFontObjectOption(info,value) |
local object = info['arg'] |
local profile = object.db |
local setting = info[#info] |
-- Handling of the frames.units[unitName] |
-- GET-- |
function configMod:GetColourOption(info) |
function configAddon:GetColourOption(info) |
local object = info['arg'] |
local profile = object.db |
local setting = info[#info] |
return r,g,b,a |
end |
-- SET-- |
function configMod:SetColourOption(info,r,g,b,a) |
function configAddon:SetColourOption(info,r,g,b,a) |
local object = info['arg'] |
local profile = object.db |
local setting = info[#info] |
--FontTags-- |
--GET-- |
function configMod:GetFontObjectTag(info) |
function configAddon:GetFontObjectTag(info) |
local object = info['arg'] |
local setting = info[#info] |
return "text" |
end |
--SET-- |
function configMod:SetFontObjectTag(info,value) |
function configAddon:SetFontObjectTag(info,value) |
local object = info['arg'] |
local profile = object.db |
local setting = info[#info] |
end |
--SET-- |
function configMod:GetTagOption(info) |
function configAddon:GetTagOption(info) |
self:Debug("\nGetTagOption :\n "..self:concatLeaves(info)) |
local arg,setting, hash = info['arg'],info[#info],{ |
['inputTagString'] = function(tag) return tag end, |
return hash[setting](arg) |
end |
--SET-- |
function configMod:SetTagOption(info,value) |
function configAddon:SetTagOption(info,value) |
self:Debug("\nSetTagOption :\n "..self:concatLeaves(info)) |
local tag,setting, hash =info[#info-1],info[#info],{ |
['inputTagString'] = function(tag,value) |
end |
-- VALIDATE-- |
function configMod:CheckUnitFrameOption(info) |
function configAddon:CheckUnitFrameOption(info) |
return false |
end |