rendered paste bodyidActionBar:RegisterDB('idActionBarDB')
idActionBar:RegisterDefaults('profile', {
Position = {
Mainbar = {
p1 = 'BOTTOM',
pr = UIParent,
p2 = 'BOTTOM',
x = 0,
y = 0
},
}
})
...
function idBar.prototype:Enable()
self.Width = 0
self.Height = 0
self.x = 0
self.y = 0
self.DBName = self.DBName or ''
self:savePosition(
idActionBar.db.profile.Position[self.DBName].p1,
idActionBar.db.profile.Position[self.DBName].pr,
idActionBar.db.profile.Position[self.DBName].p2,
idActionBar.db.profile.Position[self.DBName].px,
idActionBar.db.profile.Position[self.DBName].py)
self.Background = CreateFrame('Frame')
self.Background:EnableMouse(true)
self.Background:SetMovable(true)
self.Background:RegisterForDrag('LeftButton')
self.Background:SetScript('OnDragStart', function() if IsAltKeyDown() then self.Background:StartMoving() end end)
self.Background:SetScript('OnDragStop', function()
self.Background:StopMovingOrSizing()
self:savePosition('BOTTOMLEFT', UIParent, 'BOTTOMLEFT', self.Background:GetLeft(), self.Background:GetBottom())
end)
self:resetButtons()
self:resetBackground()
self:Hook('ActionButton_HideGrid', 'HideGrid')
end
...
function idBar.prototype:savePosition(p1, pr, p2, x, y)
self.p1 = p1 or self.p1
self.pr = pr or self.pr
self.p2 = p2 or self.p2
self.x = x or self.x
self.y = y or self.y
idActionBar.db.profile.Position[self.DBName].p1 = self.p1
idActionBar.db.profile.Position[self.DBName].pr = self.pr
idActionBar.db.profile.Position[self.DBName].p2 = self.p2
idActionBar.db.profile.Position[self.DBName].x = self.x
idActionBar.db.profile.Position[self.DBName].y = self.y
end
function idBar.prototype:loadPosition()
self.Background:SetPoint(self.p1, self.pr, self.p2, self.x, self.y)
end