Add WorldFrame and UIParent to the list of frames to snap to and tweak sticky code

This commit is contained in:
Hendrik Leppkes
2008-09-05 11:10:17 +02:00
parent 93ad42385c
commit b457d056bb
2 changed files with 11 additions and 8 deletions
+9 -7
View File
@@ -25,12 +25,7 @@ local defaults = {
}
local Sticky = LibStub("LibSimpleSticky-1.0")
local barregistry = {}
Bartender4.Bar = {}
Bartender4.Bar.defaults = defaults
Bartender4.Bar.prototype = Bar
Bartender4.Bar.barregistry = barregistry
local snapBars = { WorldFrame, UIParent }
local barOnEnter, barOnLeave, barOnDragStart, barOnDragStop, barOnClick, barOnUpdateFunc
do
@@ -45,7 +40,7 @@ do
function barOnDragStart(self)
local parent = self:GetParent()
local offset = 8 - (parent.config.padding or 0)
Sticky:StartMoving(parent, barregistry, offset, offset, offset, offset)
Sticky:StartMoving(parent, snapBars, offset, offset, offset, offset)
self:SetBackdropBorderColor(0, 0, 0, 0)
parent.isMoving = true
end
@@ -73,12 +68,19 @@ do
end
end
local barregistry = {}
Bartender4.Bar = {}
Bartender4.Bar.defaults = defaults
Bartender4.Bar.prototype = Bar
Bartender4.Bar.barregistry = barregistry
function Bartender4.Bar:Create(id, config, name)
id = tostring(id)
assert(not barregistry[id], "duplicated entry in barregistry.")
local bar = setmetatable(CreateFrame("Frame", ("BT4Bar%s"):format(id), UIParent, "SecureHandlerStateTemplate"), Bar_MT)
barregistry[id] = bar
table_insert(snapBars, bar)
bar.id = id
bar.name = name or id
bar:SetMovable(true)
+2 -1
View File
@@ -134,7 +134,8 @@ function StickyFrames:GetUpdateFunc(frame, frameList, xoffset, yoffset, left, to
frame:SetPoint("CENTER", UIParent, "BOTTOMLEFT", x+xoffset, y+yoffset)
StickyFrames.sticky[frame] = nil
for k,v in pairs(frameList) do
for i = 1, #frameList do
local v = frameList[i]
if frame ~= v and not IsShiftKeyDown() and v:IsVisible() then
if self:SnapFrame(frame, v, left, top, right, bottom) then
StickyFrames.sticky[frame] = v