mirror of
https://github.com/Relintai/Relintais-Enemy-Kooldown-Tracker-TBC.git
synced 2024-11-14 10:37:32 +01:00
82 lines
1.6 KiB
Lua
82 lines
1.6 KiB
Lua
local AceGUI = LibStub("AceGUI-3.0")
|
|
|
|
--------------------------
|
|
-- Button --
|
|
--------------------------
|
|
do
|
|
local Type = "Button"
|
|
local Version = 7
|
|
|
|
local function OnAcquire(self)
|
|
end
|
|
|
|
local function OnRelease(self)
|
|
self.frame:ClearAllPoints()
|
|
self.frame:Hide()
|
|
self:SetDisabled(false)
|
|
end
|
|
|
|
local function Button_OnClick(this)
|
|
this.obj:Fire("OnClick")
|
|
AceGUI:ClearFocus()
|
|
end
|
|
|
|
local function Button_OnEnter(this)
|
|
this.obj:Fire("OnEnter")
|
|
end
|
|
|
|
local function Button_OnLeave(this)
|
|
this.obj:Fire("OnLeave")
|
|
end
|
|
|
|
local function SetText(self, text)
|
|
self.text:SetText(text or "")
|
|
end
|
|
|
|
local function SetDisabled(self, disabled)
|
|
self.disabled = disabled
|
|
if disabled then
|
|
self.frame:Disable()
|
|
else
|
|
self.frame:Enable()
|
|
end
|
|
end
|
|
|
|
local function Constructor()
|
|
local num = AceGUI:GetNextWidgetNum(Type)
|
|
local frame = CreateFrame("Button","AceGUI30Button"..num,UIParent,"UIPanelButtonTemplate2")
|
|
local self = {}
|
|
self.num = num
|
|
self.type = Type
|
|
self.frame = frame
|
|
|
|
local text = frame:GetFontString()
|
|
self.text = text
|
|
text:SetPoint("LEFT",frame,"LEFT",15,0)
|
|
text:SetPoint("RIGHT",frame,"RIGHT",-15,0)
|
|
|
|
frame:SetScript("OnClick",Button_OnClick)
|
|
frame:SetScript("OnEnter",Button_OnEnter)
|
|
frame:SetScript("OnLeave",Button_OnLeave)
|
|
|
|
self.SetText = SetText
|
|
self.SetDisabled = SetDisabled
|
|
|
|
frame:EnableMouse(true)
|
|
|
|
frame:SetHeight(24)
|
|
frame:SetWidth(200)
|
|
|
|
self.OnRelease = OnRelease
|
|
self.OnAcquire = OnAcquire
|
|
|
|
self.frame = frame
|
|
frame.obj = self
|
|
|
|
AceGUI:RegisterAsWidget(self)
|
|
return self
|
|
end
|
|
|
|
AceGUI:RegisterWidgetType(Type,Constructor,Version)
|
|
end
|