--[[----------------------------------------------------------------------------- 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(137057) -- 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(137057) -- 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)