api: move infobox into ui-widgets

This commit is contained in:
shagu
2018-03-28 20:52:29 +02:00
parent 3222de790e
commit 2455d8def3
4 changed files with 78 additions and 59 deletions
-57
View File
@@ -165,60 +165,3 @@ function pfUI.SetupCVars()
COMBAT_TEXT_SHOW_HONOR_GAINED = "1"
UIParentLoadAddOn("Blizzard_CombatText")
end
pfUI.info = CreateFrame("Button", "pfInfoBox", UIParent)
pfUI.info:Hide()
pfUI.info.text = pfUI.info:CreateFontString("Status", "HIGH", "GameFontNormal")
pfUI.info.text:ClearAllPoints()
pfUI.info.text:SetFontObject(GameFontWhite)
pfUI.info.timeout = CreateFrame("StatusBar", nil, pfUI.info)
pfUI.info.timeout:SetStatusBarTexture("Interface\\AddOns\\pfUI\\img\\bar")
pfUI.info.timeout:SetStatusBarColor(.3,1,.8,1)
function pfUI.info:ShowInfoBox(text, time, parent, height)
if not text then return end
if not time then time = 5 end
if not parent then parent = UIParent end
if not height then height = 100 end
pfUI.info:SetParent(parent)
pfUI.info:ClearAllPoints()
pfUI.info.text:SetAllPoints(pfUI.info)
pfUI.info.text:SetText(text)
pfUI.info.text:SetFont(pfUI.font_default, 14, "OUTLINE")
pfUI.info:SetWidth(pfUI.info.text:GetStringWidth() + 50)
pfUI.info:SetHeight(height)
pfUI.info:SetFrameStrata("DIALOG")
pfUI.api.CreateBackdrop(pfUI.info)
pfUI.info:SetPoint("TOP", 0, -25)
pfUI.info.timeout:ClearAllPoints()
pfUI.info.timeout:SetPoint("TOPLEFT", pfUI.info, "TOPLEFT", 3, -3)
pfUI.info.timeout:SetPoint("TOPRIGHT", pfUI.info, "TOPRIGHT", -3, 3)
pfUI.info.timeout:SetHeight(2)
pfUI.info.timeout:SetMinMaxValues(0, time)
pfUI.info.timeout:SetValue(time)
pfUI.info.duration = time
pfUI.info.lastshow = GetTime()
pfUI.info:Show()
end
pfUI.info:SetScript("OnUpdate", function()
local time = pfUI.info.lastshow + pfUI.info.duration - GetTime()
pfUI.info.timeout:SetValue(time)
if GetTime() > pfUI.info.lastshow + pfUI.info.duration then
pfUI.info:SetAlpha(pfUI.info:GetAlpha()-0.05)
end
if pfUI.info:GetAlpha() <= 0.1 then
pfUI.info:Hide()
pfUI.info:SetAlpha(1)
end
end)
pfUI.info:SetScript("OnClick", function() this:Hide() end)