WellEater = WellEater or {} function WellEater:initSettingsMenu() local L = self:getLocale() local LAM = LibAddonMenu2 local optionsTable = {} local index = 0 local function MakeControlEntry(data, category, key) if (category and key) then -- for the majority of the settings data.category = category data.key = key -- build simple table with zero-based values for choices if data.choices and not data.choicesValues then data.choicesValues = {} for i=1, #data.choices do tinsert(data.choicesValues, i-1) end end -- setup default value if not data.default then local default = self:getUserDefault(key) data.default = default end if not data.noAlert then index = index + 1 data.reference = "WESettingCtrl"..index end -- add get/set functions if they were not provided if not data.getFunc then data.getFunc = function() return self:getUserPreference(data.key) end end if not data.setFunc then data.setFunc = function(value) d("New value of" .. data.key .. " is") d(value) self:setUserPreference(data.key, value) end end end -- add to appropriate table table.insert(optionsTable, data) end self.panelData = { type = "panel", name = self:getDisplayName(), author = self:getAuthor(), version = self:getVersion(), registerForRefresh = true, registerForDefaults = true, } MakeControlEntry({ type = "description", text = L.generalSetupDescription, }) MakeControlEntry({ type = "header", name = L.timerSetupHeader, }) MakeControlEntry({ type = "slider", name = L.timerSetupLabel, tooltip = L.timerSetupLabel_TT, setFunc = function(value) d("New value of updayeYime is") d(value) self:setUserPreference("updateTime", value) self.InterfaceHook_OnTimerSlider() end, min = 1000, max = 3000, step = 100, noAlert = true, }, "general", "updateTime") MakeControlEntry({ type = "header", name = L.generalSetupHeader, }) MakeControlEntry({ type = "dropdown", name = L.foodQualityMinHeader, tooltip = L.foodQualityMinHeader, choices = { L.foodGreen, L.foodBlue, L.foodCyan, L.foodGold }, choicesValues = { ITEM_QUALITY_MAGIC, ITEM_QUALITY_ARCANE, ITEM_QUALITY_ARTIFACT, ITEM_QUALITY_LEGENDARY }, noAlert = true, }, "general", "minQuality") MakeControlEntry({ type = "dropdown", name = L.foodQualityMaxHeader, tooltip = L.foodQualityMaxHeader, choices = { L.foodGreen, L.foodBlue, L.foodCyan, L.foodGold }, choicesValues = { ITEM_QUALITY_MAGIC, ITEM_QUALITY_ARCANE, ITEM_QUALITY_ARTIFACT, ITEM_QUALITY_LEGENDARY }, noAlert = true, }, "general", "maxQuality") self.optionsData = optionsTable -- local myLAMAddonPanel = LAM:RegisterAddonPanel(self:getAddonName() .. "_Settings_Panel", self.panelData) LAM:RegisterOptionControls(self:getAddonName() .. "_Settings_Panel", self.optionsData) -- return myLAMAddonPanel end