Compare with Previous | Blame | View Log
-- Widget is based on the AceGUIWidget-DropDown.lua supplied with AceGUI-3.0 -- Widget created by Yssaril LoadAddOn("LibSharedMedia-3.0") local AceGUI = LibStub("AceGUI-3.0") local Media = LibStub("LibSharedMedia-3.0") AceGUISharedMediaWidgets = {} do AceGUIWidgetLSMlists = { ['font'] = Media:HashTable("font"), ['sound'] = Media:HashTable("sound"), ['statusbar'] = Media:HashTable("statusbar"), ['border'] = Media:HashTable("border"), ['background'] = Media:HashTable("background"), } local min, max, floor = math.min, math.max, math.floor local function fixlevels(parent,...) local i = 1 local child = select(i, ...) while child do child:SetFrameLevel(parent:GetFrameLevel()+1) fixlevels(child, child:GetChildren()) i = i + 1 child = select(i, ...) end end local function OnItemValueChanged(this, event, checked) local self = this.userdata.obj if self.multiselect then self:Fire("OnValueChanged", this.userdata.value, checked) else if checked then self:SetValue(this.userdata.value) self:Fire("OnValueChanged", this.userdata.value) else this:SetValue(true) end self.pullout:Close() end end local function SetValue(self, value) if value then self:SetText(value or "") end self.value = value end AceGUISharedMediaWidgets.fixlevels = fixlevels AceGUISharedMediaWidgets.OnItemValueChanged = OnItemValueChanged AceGUISharedMediaWidgets.SetValue = SetValue end