local L = AceLibrary("AceLocale-2.2"):new("Buffalo") Buffalo_OptionsTable={ type='group', -- name="Buffalo", args= { lock = { type='toggle', name=L["Lock"], desc=L["When activated, the buff frames are locked and the reference frames are hidden"], get= function() return Buffalo.db.profile.locked end, set = function(v) Buffalo.ToggleLock(Buffalo, v) end, order=1 }, buffs = { type='group', name=L["Buffs"], desc=L["Manipulate Buffs Display"], order=2, args={ title={ type='header', name=L["Buffs"], -- icon="Interface\\Icons\\Ability_DualWield.blp", order=5 }, scale={ type='range', name=L["Scale"], desc=L["Scale Buff Icons"], min=0, max=10, step=0.1, get = function() return Buffalo.db.profile.scale["buff"] end, set = function(v) Buffalo.SetScale(Buffalo, v, "buff") end, order=10 }, padding={ type='group', name=L["Padding"], desc=L["Control the distance between rows/columns"], args={ x={ type='range', name=L["X-Padding"], desc=L["Distance between columns"], min=-10, max=100, step=1, get = function() return Buffalo.db.profile.padding["buff"].x end, set = function(v) Buffalo.SetPadding(Buffalo, v, "buff", "x") end }, y={ type='range', name=L["Y-Padding"], desc=L["Distance between rows"], min=-10, max=100, step=1, get = function() return Buffalo.db.profile.padding["buff"].y end, set = function(v) Buffalo.SetPadding(Buffalo, v, "buff", "y") end } }, order=20 }, hGrowth={ type='text', name=L["Horizontal Direction"], desc=L["In which horizontal direction should the display grow?"], get=function() if Buffalo.db.profile.growRight.buff then return "right" else return "left" end end, set=function(v) Buffalo.SetGrowthDirection(Buffalo, v, "buff") end, validate = {["left"] = L["To the left"], ["right"]=L["To the right"]}, order=30 }, vGrowth={ type='text', name=L["Vertical Direction"], desc=L["In which vertical direction should the display grow?"], get=function() if Buffalo.db.profile.growUpwards.buff then return "up" else return "down" end end, set=function(v) Buffalo.SetGrowthDirection(Buffalo, v, "buff") end, validate = {["up"] = L["Upwards"], ["down"]=L["Downwards"]}, order=40 }, firstGrowth={ type='text', name=L["Growth Precedence"], desc=L["In which direction should the display grow first (horizontally or vertically)?"], get=function() return Buffalo.db.profile.growHorizontalFirst.buff end, set=function(v) Buffalo.SetGrowHorizontalFirst(Buffalo, v, "buff")end, validate = {[true] = L["Horizontally"], [false]=L["Vertically"]}, order=50 }, rows={ type='range', name=L["Rows"], desc=L["Number of Rows. Only applies when Growth Precedence is Vertical"], min=1, max=16, step=1, get = function() return Buffalo.db.profile.rows["buff"] end, set = function(v) Buffalo.SetRows(Buffalo, v, "buff") end, order=60 }, cols={ type='range', name=L["Columns"], desc=L["Number of Columns. Only applies when Growth Precedence is Horizontal"], min=1, max=16, step=1, get = function() return Buffalo.db.profile.cols["buff"] end, set = function(v) Buffalo.SetCols(Buffalo, v, "buff") end, order=70 }, hide = { type='toggle', name=L["Hide"], desc=L["Hides these buff frames"], get= function() return Buffalo.db.profile.hide["buff"] end, set = function(v) Buffalo.ToggleHide(Buffalo, v, "buff") end, order=90 }, flashing = { type='toggle', name=L["Flashing"], desc=L["Toggle flashing on fading buffs"], get= function() return Buffalo.db.profile.flashes["buff"] end, set = function(v) Buffalo.db.profile.flashes["buff"] = v end, order=95 }, timers = { type='group', name=L["Timers"], desc=L["Customize buff timers"], order=100, args = { verboseTimer = { type='toggle', name=L["Verbose Timers"], desc=L["Replaces the default time format for timers with HH:MM or MM:SS"], get= function() return Buffalo.db.profile.verboseTimers["buff"] end, set = function(v) Buffalo.db.profile.verboseTimers["buff"] = v end, order=100 }, whiteTimer = { type='toggle', name=L["White Timers"], desc=L["Use white timers instead of yellow ones"], get= function() return Buffalo.db.profile.whiteTimers["buff"] end, set = function(v) Buffalo.db.profile.whiteTimers["buff"] = v end, disabled = function() return not Buffalo.db.profile.verboseTimers["buff"] end, order=110 }, }, }, } }, debuffs = { type='group', name=L["Debuffs"], desc=L["Manipulate Debuffs Display"], order=3, args={ title={ type='header', name=L["Debuffs"], -- icon="Interface\\Icons\\Ability_DualWield.blp", order=10 }, scale={ type='range', name=L["Scale"], desc=L["Scale Debuff Icons"], min=0, max=10, get = function() return Buffalo.db.profile.scale["debuff"] end, set = function(v) Buffalo.SetScale(Buffalo, v, "debuff") end, order=20 }, padding={ type='group', name=L["Padding"], desc=L["Control the distance between rows/columns"], args={ x={ type='range', name=L["X-Padding"], desc=L["Distance between columns"], min=-10, max=100, step=1, get = function() return Buffalo.db.profile.padding["debuff"].x end, set = function(v) Buffalo.SetPadding(Buffalo, v, "debuff", "x") end }, y={ type='range', name=L["Y-Padding"], desc=L["Distance between rows"], min=-10, max=100, step=1, get = function() return Buffalo.db.profile.padding["debuff"].y end, set = function(v) Buffalo.SetPadding(Buffalo, v, "debuff", "y") end } }, order=30 }, hGrowth={ type='text', name=L["Horizontal Direction"], desc=L["In which horizontal direction should the display grow?"], get=function() if Buffalo.db.profile.growRight.debuff then return "right" else return "left" end end, set=function(v) Buffalo.SetGrowthDirection(Buffalo, v, "debuff") end, validate = {["left"] = L["To the left"], ["right"]=L["To the right"]}, order=40 }, vGrowth={ type='text', name=L["Vertical Direction"], desc=L["In which vertical direction should the display grow?"], get=function() if Buffalo.db.profile.growUpwards.debuff then return "up" else return "down" end end, set=function(v) Buffalo.SetGrowthDirection(Buffalo, v, "debuff") end, validate = {["up"] = L["Upwards"], ["down"]=L["Downwards"]}, order=50 }, firstGrowth={ type='text', name=L["Growth Precedence"], desc=L["In which direction should the display grow first (horizontally or vertically)?"], get=function() return Buffalo.db.profile.growHorizontalFirst.debuff end, set=function(v) Buffalo.SetGrowHorizontalFirst(Buffalo, v, "debuff") end, validate = {[true] = L["Horizontally"], [false]=L["Vertically"]}, order=60 }, rows={ type='range', name=L["Rows"], desc=L["Number of Rows. Only applies when Growth Precedence is Vertical"], min=1, max=16, step=1, get = function() return Buffalo.db.profile.rows["debuff"] end, set = function(v) Buffalo.SetRows(Buffalo, v, "debuff") end, order=70 }, cols={ type='range', name=L["Columns"], desc=L["Number of Columns. Only applies when Growth Precedence is Horizontal"], min=1, max=16, step=1, get = function() return Buffalo.db.profile.cols["debuff"] end, set = function(v) Buffalo.SetCols(Buffalo, v, "debuff") end, order=80 }, hide = { type='toggle', name=L["Hide"], desc=L["Hides these buff frames"], get= function() return Buffalo.db.profile.hide["debuff"] end, set = function(v) Buffalo.ToggleHide(Buffalo, v, "debuff") end, order=90 }, flashing = { type='toggle', name=L["Flashing"], desc=L["Toggle flashing on fading buffs"], get= function() return Buffalo.db.profile.flashes["debuff"] end, set = function(v) Buffalo.db.profile.flashes["debuff"] = v end, order=95 }, timers = { type='group', name=L["Timers"], desc=L["Customize buff timers"], order=100, args = { verboseTimer = { type='toggle', name=L["Verbose Timers"], desc=L["Replaces the default time format for timers with HH:MM or MM:SS"], get= function() return Buffalo.db.profile.verboseTimers["debuff"] end, set = function(v) Buffalo.db.profile.verboseTimers["debuff"] = v end, order=100 }, whiteTimer = { type='toggle', name=L["White Timers"], desc=L["Use white timers instead of yellow ones"], get= function() return Buffalo.db.profile.whiteTimers["debuff"] end, set = function(v) Buffalo.db.profile.whiteTimers["debuff"] = v end, disabled = function() return not Buffalo.db.profile.verboseTimers["debuff"] end, order=110 }, }, }, } }, weapon = { type='group', name=L["Weapon Buffs"], desc=L["Manipulate Weapon Buffs Display"], order=4, args={ title={ type='header', name=L["Weapon Buffs"], icon="Interface\\Icons\\Ability_DualWield.blp", order=1 }, scale={ type='range', name=L["Scale"], desc=L["Scale Buff Icons"], min=0, max=10, get = function() return Buffalo.db.profile.scale["weapon"] end, set = function(v) Buffalo.SetScale(Buffalo, v, "weapon") end, order=2 }, padding={ type='group', name=L["Padding"], desc=L["Control the distance between rows/columns"], args={ x={ type='range', name=L["X-Padding"], desc=L["Distance between columns"], min=-10, max=100, step=1, get = function() return Buffalo.db.profile.padding["weapon"].x end, set = function(v) Buffalo.SetPadding(Buffalo, v, "weapon", "x") end }, y={ type='range', name=L["Y-Padding"], desc=L["Distance between rows"], min=-10, max=100, step=1, get = function() return Buffalo.db.profile.padding["weapon"].y end, set = function(v) Buffalo.SetPadding(Buffalo, v, "weapon", "y") end } }, order=3 }, hGrowth={ type='text', name=L["Horizontal Direction"], desc=L["In which horizontal direction should the display grow?"], get=function() if Buffalo.db.profile.growRight.weapon then return "right" else return "left" end end, set=function(v) Buffalo.SetGrowthDirection(Buffalo, v, "weapon") end, validate = {["left"] = L["To the left"], ["right"]=L["To the right"]}, order=4 }, vGrowth={ type='text', name=L["Vertical Direction"], desc=L["In which vertical direction should the display grow?"], get=function() if Buffalo.db.profile.growUpwards.weapon then return "up" else return "down" end end, set=function(v) Buffalo.SetGrowthDirection(Buffalo, v, "weapon") end, validate = {["up"] = L["Upwards"], ["down"]=L["Downwards"]}, order=5 }, firstGrowth={ type='text', name=L["Growth Precedence"], desc=L["In which direction should the display grow first (horizontally or vertically)?"], get=function() return Buffalo.db.profile.growHorizontalFirst.weapon end, set=function(v) Buffalo.SetGrowHorizontalFirst(Buffalo, v, "weapon")end, validate = {[true] = L["Horizontally"], [false]=L["Vertically"]}, order=6 }, rows={ type='range', name=L["Rows"], desc=L["Number of Rows. Only applies when Growth Precedence is Vertical"], min=1, max=2, step=1, get = function() return Buffalo.db.profile.rows["weapon"] end, set = function(v) Buffalo.SetRows(Buffalo, v, "weapon") end, order=7 }, cols={ type='range', name=L["Columns"], desc=L["Number of Columns. Only applies when Growth Precedence is Horizontal"], min=1, max=2, step=1, get = function() return Buffalo.db.profile.cols["weapon"] end, set = function(v) Buffalo.SetCols(Buffalo, v, "weapon") end, order=8 }, hide = { type='toggle', name=L["Hide"], desc=L["Hides these buff frames"], get= function() return Buffalo.db.profile.hide["weapon"] end, set = function(v) Buffalo.ToggleHide(Buffalo, v, "weapon") end, order=90 }, flashing = { type='toggle', name=L["Flashing"], desc=L["Toggle flashing on fading buffs"], get= function() return Buffalo.db.profile.flashes["weapon"] end, set = function(v) Buffalo.db.profile.flashes["weapon"] = v end, order=95 }, timers = { type='group', name=L["Timers"], desc=L["Customize buff timers"], order=100, args = { verboseTimer = { type='toggle', name=L["Verbose Timers"], desc=L["Replaces the default time format for timers with HH:MM or MM:SS"], get= function() return Buffalo.db.profile.verboseTimers["weapon"] end, set = function(v) Buffalo.db.profile.verboseTimers["weapon"] = v end, order=100 }, whiteTimer = { type='toggle', name=L["White Timers"], desc=L["Use white timers instead of yellow ones"], get= function() return Buffalo.db.profile.whiteTimers["weapon"] end, set = function(v) Buffalo.db.profile.whiteTimers["weapon"] = v end, disabled = function() return not Buffalo.db.profile.verboseTimers["weapon"] end, order=110 }, }, }, } }, reset = { type='execute', name="Reset", desc=L["Reset"], func = function() Buffalo.Reset(Buffalo) end } } }