This is just a reminder for the Database rework.
https://www.wowinterface.com/downloads/info24061-Wasabi.html#comments
From the link above you can see my examples.
Hey, p3lim. Once again thank you for your work.
Currently, I noticed you have to use a Database for each module you make. The below example should explain more.
local General = LibStub("Wasabi"):New(K.Title, "GeneralDB", C.General)
General:AddSlash("/kkthnxui")
General:Initialize(function(self)
local Title = self:CreateTitle()
Title:SetPoint("TOPLEFT", 16, -16)
Title:SetText("General Options")
local AutoScale_OnEnter = function(self)
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
GameTooltip:AddLine("Automatically scale the User Interface based on your screen resolution", 0, 1, 0)
GameTooltip:Show()
end
local AutoScale = self:CreateCheckButton("AutoScale")
AutoScale:SetPoint("TOPLEFT", Title, "BOTTOMLEFT", 0, -8)
AutoScale:SetText("Auto Scale Resolution")
AutoScale:SetScript("OnEnter", AutoScale_OnEnter)
AutoScale:SetScript("OnLeave", GameTooltip_Hide)
local FontSize_OnEnter = function(self)
GameTooltip:SetOwner(self, "ANCHOR_TOPLEFT")
GameTooltip:AddLine("Set the font size for everything in UI. Note: This doesn't effect somethings that have their own seperate options (UnitFrame Font, Datatext Font, ect..)", 0, 1, 0)
GameTooltip:Show()
end
local FontSize = self:CreateSlider("FontSize")
FontSize:SetRange(10, 20)
FontSize:SetStep(1)
FontSize:SetPoint("TOPLEFT", AutoScale, "BOTTOMLEFT", 0, -8)
FontSize:SetText("Set UI Font Size")
FontSize:SetScript("OnEnter", FontSize_OnEnter)
FontSize:SetScript("OnLeave", GameTooltip_Hide)
end)
local ActionBar = General:CreateChild("ActionBar", "ActionBarDB", C.ActionBar)
ActionBar:Initialize(function(self)
local Title = self:CreateTitle()
Title:SetPoint("TOPLEFT", 16, -16)
Title:SetText("ActionBar Options")
end)
So, in theory, I am wondering something here. I am wanting to just use one SavedVariable for everything. I just want to use KkthnxUIDB instead of filling ActionBarDB, GeneralDB, NameplatesDB and so on. Now I could have overlooked this as I am still checking out your Lib.
To kinda show what I am wanting is more of a compact Database from your config. Would be a lot cleaner.
KkthnxUIData = {
["Stormreaver"] = {
["Gripsohard"] = {
["SplitBars"] = true,
["Movers"] = {
["Loot / Alert Frames"] = {
"CENTER", -- [1]
"UIParent", -- [2]
"CENTER", -- [3]
-334, -- [4]
60.9999656677246, -- [5]
},
},
["BottomBars"] = 2,
["RightBars"] = 1,
["InstallComplete"] = true,
["BarsLocked"] = true,
},
["Pervie"] = {
["SplitBars"] = true,
["Movers"] = {
["Loot / Alert Frames"] = {
"CENTER", -- [1]
"UIParent", -- [2]
"CENTER", -- [3]
-334, -- [4]
60.9999656677246, -- [5]
},
["KkthnxUIBuffHeader"] = {
"RIGHT", -- [1]
"UIParent", -- [2]
"RIGHT", -- [3]
-324.000183105469, -- [4]
119.999938964844, -- [5]
},
},
["BottomBars"] = 2,
["RightBars"] = 1,
["InstallComplete"] = true,
["BarsLocked"] = true,
},
},
}