- Release for 7.0.3 patch.

- Major Framework update.
- Nick-Tag library upodate.
This commit is contained in:
Tercio
2016-07-19 12:09:43 -03:00
parent 8bfd6369d7
commit 08117fcc15
54 changed files with 2233 additions and 1154 deletions
+83 -90
View File
@@ -15,9 +15,20 @@ local _math_floor = math.floor --> lua locals
local SharedMedia = LibStub:GetLibrary ("LibSharedMedia-3.0")
local cleanfunction = function() end
local BarMetaFunctions = {}
local APIBarFunctions
do
local metaPrototype = {
WidgetType = "normal_bar",
SetHook = DF.SetHook,
RunHooksForWidget = DF.RunHooksForWidget,
}
_G [DF.GlobalWidgetControlNames ["normal_bar"]] = _G [DF.GlobalWidgetControlNames ["normal_bar"]] or metaPrototype
end
local BarMetaFunctions = _G [DF.GlobalWidgetControlNames ["normal_bar"]]
------------------------------------------------------------------------------------------------------------
--> metatables
@@ -111,28 +122,27 @@ local APIBarFunctions
return _object.textleft:GetTextColor()
end
local get_members_function_index = {
["tooltip"] = gmember_tooltip,
["shown"] = gmember_shown,
["width"] = gmember_width,
["height"] = gmember_height,
["value"] = gmember_value,
["lefttext"] = gmember_ltext,
["righttext"] = gmember_rtext,
["color"] = gmember_color,
["icon"] = gmember_icon,
["texture"] = gmember_texture,
["fontsize"] = gmember_textsize,
["fontface"] = gmember_textfont,
["fontcolor"] = gmember_textcolor,
["textsize"] = gmember_textsize, --alias
["textfont"] = gmember_textfont, --alias
["textcolor"] = gmember_textcolor --alias
}
BarMetaFunctions.GetMembers = BarMetaFunctions.GetMembers or {}
BarMetaFunctions.GetMembers ["tooltip"] = gmember_tooltip
BarMetaFunctions.GetMembers ["shown"] = gmember_shown
BarMetaFunctions.GetMembers ["width"] = gmember_width
BarMetaFunctions.GetMembers ["height"] = gmember_height
BarMetaFunctions.GetMembers ["value"] = gmember_value
BarMetaFunctions.GetMembers ["lefttext"] = gmember_ltext
BarMetaFunctions.GetMembers ["righttext"] = gmember_rtext
BarMetaFunctions.GetMembers ["color"] = gmember_color
BarMetaFunctions.GetMembers ["icon"] = gmember_icon
BarMetaFunctions.GetMembers ["texture"] = gmember_texture
BarMetaFunctions.GetMembers ["fontsize"] = gmember_textsize
BarMetaFunctions.GetMembers ["fontface"] = gmember_textfont
BarMetaFunctions.GetMembers ["fontcolor"] = gmember_textcolor
BarMetaFunctions.GetMembers ["textsize"] = gmember_textsize --alias
BarMetaFunctions.GetMembers ["textfont"] = gmember_textfont --alias
BarMetaFunctions.GetMembers ["textcolor"] = gmember_textcolor --alias
BarMetaFunctions.__index = function (_table, _member_requested)
local func = get_members_function_index [_member_requested]
local func = BarMetaFunctions.GetMembers [_member_requested]
if (func) then
return func (_table, _member_requested)
end
@@ -267,30 +277,29 @@ local APIBarFunctions
return DF:SetFontOutline (_object.textright, _value)
end
local set_members_function_index = {
["tooltip"] = smember_tooltip,
["shown"] = smember_shown,
["width"] = smember_width,
["height"] = smember_height,
["value"] = smember_value,
["righttext"] = smember_rtext,
["lefttext"] = smember_ltext,
["color"] = smember_color,
["icon"] = smember_icon,
["texture"] = smember_texture,
["fontsize"] = smember_textsize,
["fontface"] = smember_textfont,
["fontcolor"] = smember_textcolor,
["textsize"] = smember_textsize, --alias
["textfont"] = smember_textfont, --alias
["textcolor"] = smember_textcolor, --alias
["shadow"] = smember_outline,
["outline"] = smember_outline, --alias
}
BarMetaFunctions.SetMembers = BarMetaFunctions.SetMembers or {}
BarMetaFunctions.SetMembers["tooltip"] = smember_tooltip
BarMetaFunctions.SetMembers["shown"] = smember_shown
BarMetaFunctions.SetMembers["width"] = smember_width
BarMetaFunctions.SetMembers["height"] = smember_height
BarMetaFunctions.SetMembers["value"] = smember_value
BarMetaFunctions.SetMembers["righttext"] = smember_rtext
BarMetaFunctions.SetMembers["lefttext"] = smember_ltext
BarMetaFunctions.SetMembers["color"] = smember_color
BarMetaFunctions.SetMembers["icon"] = smember_icon
BarMetaFunctions.SetMembers["texture"] = smember_texture
BarMetaFunctions.SetMembers["fontsize"] = smember_textsize
BarMetaFunctions.SetMembers["fontface"] = smember_textfont
BarMetaFunctions.SetMembers["fontcolor"] = smember_textcolor
BarMetaFunctions.SetMembers["textsize"] = smember_textsize --alias
BarMetaFunctions.SetMembers["textfont"] = smember_textfont --alias
BarMetaFunctions.SetMembers["textcolor"] = smember_textcolor --alias
BarMetaFunctions.SetMembers["shadow"] = smember_outline
BarMetaFunctions.SetMembers["outline"] = smember_outline --alias
BarMetaFunctions.__newindex = function (_table, _key, _value)
local func = set_members_function_index [_key]
local func = BarMetaFunctions.SetMembers [_key]
if (func) then
return func (_table, _value)
else
@@ -420,24 +429,14 @@ local APIBarFunctions
self.container = container
end
--> hooks
function BarMetaFunctions:SetHook (hookType, func)
if (func) then
_rawset (self, hookType.."Hook", func)
else
_rawset (self, hookType.."Hook", nil)
end
end
------------------------------------------------------------------------------------------------------------
--> scripts
local OnEnter = function (frame)
if (frame.MyObject.OnEnterHook) then
local interrupt = frame.MyObject.OnEnterHook (frame, frame.MyObject)
if (interrupt) then
return
end
local capsule = frame.MyObject
local kill = capsule:RunHooksForWidget ("OnEnter", frame, capsule)
if (kill) then
return
end
frame.MyObject.background:Show()
@@ -451,11 +450,10 @@ local APIBarFunctions
end
local OnLeave = function (frame)
if (frame.MyObject.OnLeaveHook) then
local interrupt = frame.MyObject.OnLeaveHook (frame)
if (interrupt) then
return
end
local capsule = frame.MyObject
local kill = capsule:RunHooksForWidget ("OnLeave", frame, capsule)
if (kill) then
return
end
if (frame.MyObject.have_tooltip) then
@@ -464,29 +462,26 @@ local APIBarFunctions
end
local OnHide = function (frame)
if (frame.MyObject.OnHideHook) then
local interrupt = frame.MyObject.OnHideHook (frame)
if (interrupt) then
return
end
local capsule = frame.MyObject
local kill = capsule:RunHooksForWidget ("OnHide", frame, capsule)
if (kill) then
return
end
end
local OnShow = function (frame)
if (frame.MyObject.OnShowHook) then
local interrupt = frame.MyObject.OnShowHook (frame)
if (interrupt) then
return
end
local capsule = frame.MyObject
local kill = capsule:RunHooksForWidget ("OnShow", frame, capsule)
if (kill) then
return
end
end
local OnMouseDown = function (frame, button)
if (frame.MyObject.OnMouseDownHook) then
local interrupt = frame.MyObject.OnMouseDownHook (frame, button)
if (interrupt) then
return
end
local capsule = frame.MyObject
local kill = capsule:RunHooksForWidget ("OnMouseDown", frame, button, capsule)
if (kill) then
return
end
if (not frame.MyObject.container.isLocked and frame.MyObject.container:IsMovable()) then
@@ -498,11 +493,10 @@ local APIBarFunctions
end
local OnMouseUp = function (frame, button)
if (frame.MyObject.OnMouseUpHook) then
local interrupt = frame.MyObject.OnMouseUpHook (frame, button)
if (interrupt) then
return
end
local capsule = frame.MyObject
local kill = capsule:RunHooksForWidget ("OnMouseUp", frame, button, capsule)
if (kill) then
return
end
if (frame.MyObject.container.isMoving) then
@@ -674,18 +668,8 @@ function DF:NewBar (parent, container, name, member, w, h, value, texture_name)
h = h or 14
--> default members:
--> hooks
BarObject.OnEnterHook = nil
BarObject.OnLeaveHook = nil
BarObject.OnHideHook = nil
BarObject.OnShowHook = nil
BarObject.OnMouseDownHook = nil
BarObject.OnMouseUpHook = nil
BarObject.OnTimerEndHook = nil
--> misc
BarObject.tooltip = nil
BarObject.locked = false
BarObject.have_tooltip = nil
BarObject.container = container
@@ -729,6 +713,15 @@ function DF:NewBar (parent, container, name, member, w, h, value, texture_name)
BarObject.div_timer = _G [name .. "_sparkTimer"]
--> hooks
BarObject.HookList = {
OnEnter = {},
OnLeave = {},
OnHide = {},
OnShow = {},
OnMouseDown = {},
OnMouseUp = {},
}
BarObject.statusbar:SetScript ("OnEnter", OnEnter)
BarObject.statusbar:SetScript ("OnLeave", OnLeave)
BarObject.statusbar:SetScript ("OnHide", OnHide)