WoWInterface SVN RaidWatch2

[/] [trunk/] [RaidWatch/] [Libs/] [AceGUI-3.0/] [widgets/] [AceGUIContainer-SimpleGroup.lua] - Rev 22

Compare with Previous | Blame | View Log

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

Compare with Previous | Blame