vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:

AceGUIBasicDialog = AceGUIBorderFrame:new()

function AceGUIBasicDialog:Setup()
        if( self._def.isUIPanel ) then
                UIPanelWindows[self._def.name] = {area = "center", pushable = 0}
        elseif( self._def.isSpecial ) then
                tinsert(UISpecialFrames, self._def.name)
        end

        if( (not self._def.backdrop) and (self._def.type == ACEGUI_BASIC_DIALOG) ) then
                self._def.backdrop = "small"
        end

        AceGUIBorderFrame.Setup(self)
end


AceGUIDialog = AceGUIBasicDialog:new()

function AceGUIDialog:Setup()
        AceGUIBasicDialog.Setup(self)

        if( not self._def.elements ) then self._def.elements = {} end
        local elements = self._def.elements
        elements.Header = {
                type     = ACEGUI_FRAME,
                elements = {
                        Bar   = {type = ACEGGUI_TEXTURE},
                        Title = {type = ACEGUI_FONTSTRING}
                }
        }
        elements.Close = {
                type  = ACEGUI_BUTTON,
                title = CLOSE
        }
end

function AceGUIDialog:Configure()
        AceGUIBorderFrame.Configure(self)
        self:SetLabel()
end

function AceGUIDialog:SetLabel(text)
        if( not self.Header ) then return end
        self.Header.Title:SetText(text or self._def.title)
        if( text or self._def.title ) then
                self.Header:Show()
        else
                self.Header:Hide()
        end
end

function AceGUIDialog:Show()
        if( self.isUIPanel ) then
                ShowUIPanel(self)
        else
                self:_CALL("Show")
        end
end

function AceGUIDialog:Hide()
        PlaySound(self.closeSound or "gsTitleOptionExit")
        if( self.isUIPanel ) then
                HideUIPanel(self)
        else
                self:_CALL("Hide")
        end
end

function AceGUIDialog:OnHide()
        -- Check if this dialog was opened by myAddOns
        if ( MYADDONS_ACTIVE_OPTIONSFRAME == self ) then
                ShowUIPanel(myAddOnsFrame)
        end
end