- small fixes and framework update.

This commit is contained in:
Tercio
2015-10-16 13:09:08 -03:00
parent f9271a6921
commit be4bb1d34f
4 changed files with 114 additions and 239 deletions
+38 -38
View File
@@ -188,8 +188,8 @@ function DF:CreateCoolTip()
CoolTip.frame1 = frame1
CoolTip.frame2 = frame2
DF:Fade (frame1, 0)
DF:Fade (frame2, 0)
DF:FadeFrame (frame1, 0)
DF:FadeFrame (frame2, 0)
--> button containers
frame1.Lines = {}
@@ -261,10 +261,10 @@ function DF:CreateCoolTip()
CoolTip.mouseOver = true
CoolTip.had_interaction = true
self:SetScript ("OnUpdate", nil)
DF:Fade (self, 0)
DF:FadeFrame (self, 0)
--rever
if (CoolTip.sub_menus) then
DF:Fade (frame2, 0)
DF:FadeFrame (frame2, 0)
end
end
end)
@@ -278,8 +278,8 @@ function DF:CreateCoolTip()
CoolTip.mouseOver = true
CoolTip.had_interaction = true
self:SetScript ("OnUpdate", nil)
DF:Fade (self, 0)
DF:Fade (frame1, 0)
DF:FadeFrame (self, 0)
DF:FadeFrame (frame1, 0)
end
end)
@@ -287,11 +287,11 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked and self == CoolTip.Host) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
end
self:SetScript ("OnUpdate", nil)
frame2:SetScript ("OnUpdate", nil)
@@ -317,11 +317,11 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked and self == CoolTip.Host) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (self, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (self, 1)
DF:FadeFrame (frame2, 1)
end
self:SetScript ("OnUpdate", nil)
frame1:SetScript ("OnUpdate", nil)
@@ -386,12 +386,12 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
end
frame1:SetScript ("OnUpdate", nil)
end
@@ -441,7 +441,7 @@ function DF:CreateCoolTip()
else
--hide second frame
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
CoolTip.last_button = nil
end
else
@@ -491,11 +491,11 @@ function DF:CreateCoolTip()
elapsedTime = elapsedTime+elapsed
if (elapsedTime > 0.7) then
if (not CoolTip.active and not CoolTip.buttonClicked) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
elseif (not CoolTip.active) then
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
end
frame2:SetScript ("OnUpdate", nil)
end
@@ -524,8 +524,8 @@ function DF:CreateCoolTip()
frame1:SetScript ("OnUpdate", nil)
frame2:SetScript ("OnUpdate", nil)
DF:Fade (frame1, 0)
DF:Fade (frame2, 0)
DF:FadeFrame (frame1, 0)
DF:FadeFrame (frame2, 0)
else
CoolTip.mouseOver = true
CoolTip.had_interaction = true
@@ -999,7 +999,7 @@ function DF:CreateCoolTip()
menuButton:SetPoint ("left", frame2, "left")
menuButton:SetPoint ("right", frame2, "right")
DF:Fade (menuButton, 0)
DF:FadeFrame (menuButton, 0)
--> string length
local stringWidth = menuButton.leftText:GetStringWidth() + menuButton.rightText:GetStringWidth() + menuButton.leftIcon:GetWidth() + menuButton.rightIcon:GetWidth()
@@ -1048,7 +1048,7 @@ function DF:CreateCoolTip()
function CoolTip:ShowSub (index)
if (CoolTip.OptionsTable.IgnoreSubMenu) then
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
return
end
@@ -1114,7 +1114,7 @@ function DF:CreateCoolTip()
end
for i = CoolTip.IndexesSub [index] + 1, #frame2.Lines do
DF:Fade (frame2.Lines[i], 1)
DF:FadeFrame (frame2.Lines[i], 1)
end
local spacing = 0
@@ -1217,7 +1217,7 @@ function DF:CreateCoolTip()
frame2:SetWidth (frame2.w + 44)
end
DF:Fade (frame2, 0)
DF:FadeFrame (frame2, 0)
CoolTip:CheckOverlap()
@@ -1246,7 +1246,7 @@ function DF:CreateCoolTip()
end
function CoolTip:HideSub()
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
end
@@ -1259,7 +1259,7 @@ function DF:CreateCoolTip()
function CoolTip:monta_tooltip()
--> hide sub frame
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
--> hide select bar
CoolTip:HideSelectedTexture (frame1)
@@ -1393,7 +1393,7 @@ function DF:CreateCoolTip()
end
--> unhide frame
DF:Fade (frame1, 0)
DF:FadeFrame (frame1, 0)
CoolTip:SetMyPoint (host)
--> fix sparks
@@ -1442,12 +1442,12 @@ function DF:CreateCoolTip()
frame2.w = 0
frame2:SetHeight (6)
if (CoolTip.SelectedIndexMain and CoolTip.IndexesSub [CoolTip.SelectedIndexMain] and CoolTip.IndexesSub [CoolTip.SelectedIndexMain] > 0) then
DF:Fade (frame2, 0)
DF:FadeFrame (frame2, 0)
else
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
end
else
DF:Fade (frame2, 1)
DF:FadeFrame (frame2, 1)
end
CoolTip.active = true
@@ -1600,7 +1600,7 @@ function DF:CreateCoolTip()
frame1.frameWallpaper:Hide()
end
DF:Fade (frame1, 0)
DF:FadeFrame (frame1, 0)
for i = 1, CoolTip.Indexes do
if (CoolTip.SelectedIndexMain and CoolTip.SelectedIndexMain == i) then
@@ -2858,8 +2858,8 @@ function DF:CreateCoolTip()
function CoolTip:Close()
CoolTip.active = false
CoolTip.Host = nil
DF:Fade (frame1, 1)
DF:Fade (frame2, 1)
DF:FadeFrame (frame1, 1)
DF:FadeFrame (frame2, 1)
end
+20 -157
View File
@@ -1,5 +1,5 @@
local dversion = 11
local dversion = 12
local major, minor = "DetailsFramework-1.0", dversion
local DF, oldminor = LibStub:NewLibrary (major, minor)
@@ -103,6 +103,25 @@ function DF:GetFrameworkFolder()
return DF.folder
end
function DF:FadeFrame (frame, t)
if (t == 0) then
frame.hidden = false
frame.faded = false
frame.fading_out = false
frame.fading_in = false
frame:Show()
frame:SetAlpha (1)
elseif (t == 1) then
frame.hidden = true
frame.faded = true
frame.fading_out = false
frame.fading_in = false
frame:SetAlpha (0)
frame:Hide()
end
end
function DF.table.reverse (t)
local new = {}
local index = 1
@@ -317,162 +336,6 @@ function DF:CreateFlashAnimation (frame, onFinishFunc, onLoopFunc)
frame.Stop = stop
end
-----------------------------------------
local fade_IN_finished_func = function (frame)
if (frame.fading_in) then
frame.hidden = true
frame.faded = true
frame.fading_in = false
frame:Hide()
end
end
local fade_OUT_finished_func = function (frame)
if (frame:IsShown() and frame.fading_out) then
frame.hidden = false
frame.faded = false
frame.fading_out = false
else
frame:SetAlpha(0)
end
end
local just_fade_func = function (frame)
frame.hidden = false
frame.faded = true
frame.fading_in = false
end
local anim_OUT_alpha_func = function (frame)
frame.fading_out = false
end
local anim_IN_alpha_func = function (frame)
frame.fading_in = false
end
function DF:Fade (frame, tipo, velocidade, parametros)
if (_type (frame) == "table") then
if (frame.dframework) then
frame = frame.widget
end
end
velocidade = velocidade or 0.3
if (upper (tipo) == "IN") then
if (frame:GetAlpha() == 0 and frame.hidden and not frame.fading_out) then --> ja esta escondida
return
elseif (frame.fading_in) then --> ja esta com uma animação, se for true
return
end
if (frame.fading_out) then --> se tiver uma animação de aparecer em andamento se for true
frame.fading_out = false
end
UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), 0)
frame.fading_in = true
frame.fadeInfo.finishedFunc = fade_IN_finished_func
frame.fadeInfo.finishedArg1 = frame
elseif (upper (tipo) == "OUT") then --> aparecer
if (frame:GetAlpha() == 1 and not frame.hidden and not frame.fading_in) then --> ja esta na tela
return
elseif (frame.fading_out) then --> já ta com fading out
return
end
if (frame.fading_in) then --> se tiver uma animação de hidar em andamento se for true
frame.fading_in = false
end
frame:Show()
UIFrameFadeOut (frame, velocidade, frame:GetAlpha(), 1.0)
frame.fading_out = true
frame.fadeInfo.finishedFunc = fade_OUT_finished_func
frame.fadeInfo.finishedArg1 = frame
elseif (tipo == 0) then --> força o frame a ser mostrado
frame.hidden = false
frame.faded = false
frame.fading_out = false
frame.fading_in = false
frame:Show()
frame:SetAlpha (1)
elseif (tipo == 1) then --> força o frame a ser hidado
frame.hidden = true
frame.faded = true
frame.fading_out = false
frame.fading_in = false
frame:SetAlpha (0)
frame:Hide()
elseif (tipo == -1) then --> apenas da fade sem hidar
if (frame:GetAlpha() == 0 and frame.hidden and not frame.fading_out) then --> ja esta escondida
return
elseif (frame.fading_in) then --> ja esta com uma animação, se for true
return
end
if (frame.fading_out) then --> se tiver uma animação de aparecer em andamento se for true
frame.fading_out = false
end
UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), 0)
frame.fading_in = true
frame.fadeInfo.finishedFunc = just_fade_func
frame.fadeInfo.finishedArg1 = frame
elseif (upper (tipo) == "ALPHAANIM") then
local value = velocidade
local currentApha = frame:GetAlpha()
frame:Show()
if (currentApha < value) then
if (frame.fading_in) then --> se tiver uma animação de hidar em andamento se for true
frame.fading_in = false
frame.fadeInfo.finishedFunc = nil
end
UIFrameFadeOut (frame, 0.3, currentApha, value)
frame.fading_out = true
frame.fadeInfo.finishedFunc = anim_OUT_alpha_func
frame.fadeInfo.finishedArg1 = frame
else
if (frame.fading_out) then --> se tiver uma animação de hidar em andamento se for true
frame.fading_out = false
frame.fadeInfo.finishedFunc = nil
end
UIFrameFadeIn (frame, 0.3, currentApha, value)
frame.fading_in = true
frame.fadeInfo.finishedFunc = anim_IN_alpha_func
frame.fadeInfo.finishedArg1 = frame
end
elseif (upper (tipo) == "ALPHA") then --> setando um alpha determinado
if (frame.fading_in or frame.fading_out) then
frame.fadeInfo.finishedFunc = nil
UIFrameFadeIn (frame, velocidade, frame:GetAlpha(), frame:GetAlpha())
end
frame.hidden = false
frame.faded = false
frame.fading_in = false
frame.fading_out = false
frame:Show()
frame:SetAlpha (velocidade)
end
end
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--> points