57a5cdabdf
Imported from /srv/add01/wow-ascension/Interface/AddOns/Bartender4 — 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 (embedded libs), and the individual patches aren't published separately. Net delta vs Nevcairiel 4.4.2, excluding bundled libs and CRLF normalization: 21 files, 2213+/52- — the Ascension-specific adaptations for WotLK 3.3.5 hero classes / custom action systems. License: All rights reserved (per .toc).
79 lines
2.2 KiB
Lua
79 lines
2.2 KiB
Lua
--[[-----------------------------------------------------------------------------
|
|
Heading Widget
|
|
-------------------------------------------------------------------------------]]
|
|
local Type, Version = "Heading", 20
|
|
local AceGUI = LibStub and LibStub("AceGUI-3.0", true)
|
|
if not AceGUI or (AceGUI:GetWidgetVersion(Type) or 0) >= Version then return end
|
|
|
|
-- Lua APIs
|
|
local pairs = pairs
|
|
|
|
-- WoW APIs
|
|
local CreateFrame, UIParent = CreateFrame, UIParent
|
|
|
|
--[[-----------------------------------------------------------------------------
|
|
Methods
|
|
-------------------------------------------------------------------------------]]
|
|
local methods = {
|
|
["OnAcquire"] = function(self)
|
|
self:SetText()
|
|
self:SetFullWidth()
|
|
self:SetHeight(18)
|
|
end,
|
|
|
|
-- ["OnRelease"] = nil,
|
|
|
|
["SetText"] = function(self, text)
|
|
self.label:SetText(text or "")
|
|
if text and text ~= "" then
|
|
self.left:SetPoint("RIGHT", self.label, "LEFT", -5, 0)
|
|
self.right:Show()
|
|
else
|
|
self.left:SetPoint("RIGHT", -3, 0)
|
|
self.right:Hide()
|
|
end
|
|
end
|
|
}
|
|
|
|
--[[-----------------------------------------------------------------------------
|
|
Constructor
|
|
-------------------------------------------------------------------------------]]
|
|
local function Constructor()
|
|
local frame = CreateFrame("Frame", nil, UIParent)
|
|
frame:Hide()
|
|
|
|
local label = frame:CreateFontString(nil, "BACKGROUND", "GameFontNormal")
|
|
label:SetPoint("TOP")
|
|
label:SetPoint("BOTTOM")
|
|
label:SetJustifyH("CENTER")
|
|
|
|
local left = frame:CreateTexture(nil, "BACKGROUND")
|
|
left:SetHeight(8)
|
|
left:SetPoint("LEFT", 3, 0)
|
|
left:SetPoint("RIGHT", label, "LEFT", -5, 0)
|
|
left:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
|
|
left:SetTexCoord(0.81, 0.94, 0.5, 1)
|
|
|
|
local right = frame:CreateTexture(nil, "BACKGROUND")
|
|
right:SetHeight(8)
|
|
right:SetPoint("RIGHT", -3, 0)
|
|
right:SetPoint("LEFT", label, "RIGHT", 5, 0)
|
|
right:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
|
|
right:SetTexCoord(0.81, 0.94, 0.5, 1)
|
|
|
|
local widget = {
|
|
label = label,
|
|
left = left,
|
|
right = right,
|
|
frame = frame,
|
|
type = Type
|
|
}
|
|
for method, func in pairs(methods) do
|
|
widget[method] = func
|
|
end
|
|
|
|
return AceGUI:RegisterAsWidget(widget)
|
|
end
|
|
|
|
AceGUI:RegisterWidgetType(Type, Constructor, Version)
|