--[[----------------------------------------------------------------------------- SimpleGroup Container Simple container widget that just groups widgets. -------------------------------------------------------------------------------]] local Type, Version = "SimpleGroup", 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:SetWidth(300) self:SetHeight(100) end, -- ["OnRelease"] = nil, ["LayoutFinished"] = function(self, width, height) if self.noAutoHeight then return end self:SetHeight(height or 0) end, ["OnWidthSet"] = function(self, width) local content = self.content content:SetWidth(width) content.width = width end, ["OnHeightSet"] = function(self, height) local content = self.content content:SetHeight(height) content.height = height end } --[[----------------------------------------------------------------------------- Constructor -------------------------------------------------------------------------------]] local function Constructor() local frame = CreateFrame("Frame", nil, UIParent) frame:SetFrameStrata("FULLSCREEN_DIALOG") --Container Support local content = CreateFrame("Frame", nil, frame) content:SetPoint("TOPLEFT") content:SetPoint("BOTTOMRIGHT") local widget = { frame = frame, content = content, type = Type } for method, func in pairs(methods) do widget[method] = func end return AceGUI:RegisterAsContainer(widget) end AceGUI:RegisterWidgetType(Type, Constructor, Version)