Please support my work on Patreon/GitHub
Provides several dropdown item types that can be used with AceGUI-3.0's AceGUIWidget-DropDown in order to style font, statusbar and sound-dropdowns properly, making it easier for the user to select the preferred item.
LibDDI can also be used with AceConfig option tables with the 'select' type, using the itemControl property.
The following item types are available: DDI-Font, DDI-Statusbar, DDI-Sound and DDI-RaidIcon.
Pull LibDDI-1.0 in via your TOC/embeds.xml and make sure it's loaded after AceGUI-3.0 and LibSharedMedia-3.0, and it's ready to be used. There's no real API; LibDDI just provides a few widget types for AceGUI.
Example
-- If you're using AceOptions tables;
local fonts = LibStub("LibSharedMedia-3.0"):List("font")
local option = {
type = "select",
name = "Font",
values = fonts,
get = function()
for i, v in next, fonts do
if v == db.font then return i end
end
end,
set = function(_, value)
db.font = fonts[value]
end,
itemControl = "DDI-Font",
}
-- If you're using AceGUI-3.0 directly;
local dropdown = AceGUI:Create("Dropdown")
dropdown:SetLabel("Font")
dropdown:SetList(fonts, nil, "DDI-Font")
dropdown:SetCallback("OnValueChanged", function(_, _, value)
db.font = fonts[value]
end)
for i, v in next, fonts do
if v == db.font then
dropdown:SetValue(i)
break
end
end
updateToggle(self)
Common
Parameters
- self