Cleaner way of getting defaults and options from stack counters

Now we pass in the options or defaults table directly to the helper class's getter methods since they're passed by reference and can be modified in place. This saves us creation of yet more tables and obviates the need to merge tables together.
This commit is contained in:
Parnic
2015-09-04 22:34:07 -05:00
parent 4d20a073ae
commit ad72976b24
3 changed files with 7 additions and 25 deletions

View File

@ -4,9 +4,7 @@ local validUnits = {"player", "target", "focus", "pet", "vehicle", "targettarget
local buffOrDebuff = {"buff", "debuff", "charges", "spell count"}
-- OVERRIDE
function IceStackCounter_GetOptions(frame)
local opts = {}
function IceStackCounter_GetOptions(frame, opts)
opts["customHeader"] = {
type = 'header',
name = L["Aura settings"],
@ -107,8 +105,6 @@ function IceStackCounter_GetOptions(frame)
usage = "<the maximum number of valid applications>",
order = 30.9,
}
return opts
end
function IceStackCounter_GetMaxCount(frame)
@ -120,14 +116,12 @@ function IceStackCounter_GetMaxCount(frame)
end
end
function IceStackCounter_GetDefaultSettings()
local defaults = {}
function IceStackCounter_GetDefaultSettings(defaults)
defaults["maxCount"] = 5
defaults["auraTarget"] = "player"
defaults["auraName"] = ""
defaults["onlyMine"] = true
defaults["auraType"] = "buff"
return defaults
end

View File

@ -17,10 +17,7 @@ end
-- OVERRIDE
function IceCustomCount.prototype:GetOptions()
local opts = IceCustomCount.super.prototype.GetOptions(self)
for k,v in pairs(IceStackCounter_GetOptions(self)) do
opts[k] = v
end
IceStackCounter_GetOptions(self, opts)
opts["deleteme"] = {
type = 'execute',
@ -261,10 +258,7 @@ end
function IceCustomCount.prototype:GetDefaultSettings()
local defaults = IceCustomCount.super.prototype.GetDefaultSettings(self)
for k,v in pairs(IceStackCounter_GetDefaultSettings(self)) do
defaults[k] = v
end
IceStackCounter_GetDefaultSettings(defaults)
defaults["vpos"] = 0
defaults["hpos"] = 0

View File

@ -15,10 +15,7 @@ end
function IceCustomCounterBar.prototype:GetOptions()
local opts = IceCustomCounterBar.super.prototype.GetOptions(self)
for k,v in pairs(IceStackCounter_GetOptions(self)) do
opts[k] = v
end
IceStackCounter_GetOptions(self, opts)
opts["deleteme"] = {
type = 'execute',
@ -216,11 +213,8 @@ function IceCustomCounterBar.prototype:GetOptions()
end
function IceCustomCounterBar.prototype:GetDefaultSettings()
local defaults = IceCustomCounterBar.super.prototype.GetDefaultSettings(self)
for k,v in pairs(IceStackCounter_GetDefaultSettings(self)) do
defaults[k] = v
end
local defaults = IceCustomCounterBar.super.prototype.GetDefaultSettings(self)
IceStackCounter_GetDefaultSettings(defaults)
defaults.textVisible['lower'] = false
defaults.offset = 9