ascension: v3.0.9 → vendored 3.0.9 (in-game AddOns dir)
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).
This commit is contained in:
@@ -0,0 +1,106 @@
|
||||
-- Widget is based on the AceGUIWidget-DropDown.lua supplied with AceGUI-3.0
|
||||
-- Widget created by Yssaril
|
||||
|
||||
local AceGUI = LibStub("AceGUI-3.0")
|
||||
local Media = LibStub("LibSharedMedia-3.0")
|
||||
|
||||
do
|
||||
local min, max, floor = math.min, math.max, math.floor
|
||||
local fixlevels = AceGUISharedMediaWidgets.fixlevels
|
||||
local OnItemValueChanged = AceGUISharedMediaWidgets.OnItemValueChanged
|
||||
|
||||
do
|
||||
local widgetType = "LSM30_Statusbar_Item_Select"
|
||||
local widgetVersion = 1
|
||||
|
||||
local function SetText(self, text)
|
||||
if text and text ~= '' then
|
||||
self.texture:SetTexture(Media:Fetch('statusbar',text))
|
||||
self.texture:SetVertexColor(.5,.5,.5)
|
||||
end
|
||||
self.text:SetText(text or "")
|
||||
end
|
||||
|
||||
local function Constructor()
|
||||
local self = AceGUI:Create("Dropdown-Item-Toggle")
|
||||
self.type = widgetType
|
||||
self.SetText = SetText
|
||||
local texture = self.frame:CreateTexture(nil, "BACKGROUND")
|
||||
texture:SetTexture(0,0,0,0)
|
||||
texture:SetPoint("BOTTOMRIGHT",self.frame,"BOTTOMRIGHT",-4,1)
|
||||
texture:SetPoint("TOPLEFT",self.frame,"TOPLEFT",6,-1)
|
||||
self.texture = texture
|
||||
return self
|
||||
end
|
||||
AceGUI:RegisterWidgetType(widgetType, Constructor, widgetVersion)
|
||||
end
|
||||
|
||||
do
|
||||
local widgetType = "LSM30_Statusbar"
|
||||
local widgetVersion = 3
|
||||
|
||||
local function SetText(self, text)
|
||||
if text and text ~= '' then
|
||||
self.texture:SetTexture(Media:Fetch('statusbar',text))
|
||||
self.texture:SetVertexColor(.5,.5,.5)
|
||||
end
|
||||
self.text:SetText(text or "")
|
||||
end
|
||||
|
||||
local function AddListItem(self, value, text)
|
||||
local item = AceGUI:Create("LSM30_Statusbar_Item_Select")
|
||||
item:SetText(text)
|
||||
item.userdata.obj = self
|
||||
item.userdata.value = value
|
||||
item:SetCallback("OnValueChanged", OnItemValueChanged)
|
||||
self.pullout:AddItem(item)
|
||||
end
|
||||
|
||||
local function SetList(self, list)
|
||||
self.list = list or Media:HashTable("statusbar")
|
||||
self.pullout:Clear()
|
||||
if self.multiselect then
|
||||
AddCloseButton()
|
||||
end
|
||||
end
|
||||
|
||||
local sortlist = {}
|
||||
local function ParseListItems(self)
|
||||
for v in pairs(self.list) do
|
||||
sortlist[#sortlist + 1] = v
|
||||
end
|
||||
table.sort(sortlist)
|
||||
for i, value in pairs(sortlist) do
|
||||
AddListItem(self, value, value)
|
||||
sortlist[i] = nil
|
||||
end
|
||||
end
|
||||
|
||||
local function Constructor()
|
||||
local self = AceGUI:Create("Dropdown")
|
||||
self.type = widgetType
|
||||
self.SetText = SetText
|
||||
self.SetList = SetList
|
||||
self.SetValue = AceGUISharedMediaWidgets.SetValue
|
||||
|
||||
local left = _G[self.dropdown:GetName() .. "Left"]
|
||||
local middle = _G[self.dropdown:GetName() .. "Middle"]
|
||||
local right = _G[self.dropdown:GetName() .. "Right"]
|
||||
|
||||
local texture = self.dropdown:CreateTexture(nil, "ARTWORK")
|
||||
texture:SetPoint("BOTTOMRIGHT", right, "BOTTOMRIGHT" ,-39, 26)
|
||||
texture:SetPoint("TOPLEFT", left, "TOPLEFT", 24, -24)
|
||||
self.texture = texture
|
||||
|
||||
local clickscript = self.button:GetScript("OnClick")
|
||||
self.button:SetScript("OnClick", function(...)
|
||||
self.pullout:Clear()
|
||||
ParseListItems(self)
|
||||
clickscript(...)
|
||||
end)
|
||||
|
||||
return self
|
||||
end
|
||||
AceGUI:RegisterWidgetType(widgetType, Constructor, widgetVersion)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user