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
