--[[headerData = { type = "header", name = "My Header", width = "full", --or "half" (optional) reference = "MyAddonHeader" --(optional) unique global reference to control } ]] local widgetVersion = 6 local LAM = LibStub("LibAddonMenu-2.0") if not LAM:RegisterWidget("header", widgetVersion) then return end local wm = WINDOW_MANAGER local tinsert = table.insert local function UpdateValue(control) control.header:SetText(control.data.name) end local MIN_HEIGHT = 30 function LAMCreateControl.header(parent, headerData, controlName) local control = LAM.util.CreateBaseControl(parent, headerData, controlName) local isHalfWidth = control.isHalfWidth local width = control:GetWidth() control:SetDimensions(isHalfWidth and width / 2 or width, MIN_HEIGHT) control.divider = wm:CreateControlFromVirtual(nil, control, "ZO_Options_Divider") local divider = control.divider divider:SetWidth(isHalfWidth and width / 2 or width) divider:SetAnchor(TOPLEFT) control.header = wm:CreateControlFromVirtual(nil, control, "ZO_Options_SectionTitleLabel") local header = control.header header:SetAnchor(TOPLEFT, divider, BOTTOMLEFT) header:SetAnchor(BOTTOMRIGHT) header:SetText(headerData.name) control.UpdateValue = UpdateValue if control.panel.data.registerForRefresh or control.panel.data.registerForDefaults then --if our parent window wants to refresh controls, then add this to the list tinsert(control.panel.controlsToRefresh, control) end return control end