7181066855
Imported from /srv/add01/wow-ascension/Interface/AddOns/Omen — the build Ascension's WotLK 3.3.5 client ships. Single vendored drop: Ascension's build process bundles their custom patches with the standard CurseForge packager output (62 embedded Libs/), and the individual patches aren't published separately. Net delta vs upstream v3.0.9, excluding bundled libs and CRLF normalization: 11 files, 2284+/34- — Ascension-specific adaptations for WotLK 3.3.5. License: All rights reserved (per .toc).
56 lines
1.5 KiB
Lua
56 lines
1.5 KiB
Lua
-- 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
|