movable frames
This commit is contained in:
parent
adb06d0c7f
commit
59da6f34c6
@ -1180,3 +1180,58 @@ function Gladdy:GetArenaTimer()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Gladdy.legacy = {
|
||||||
|
castBarPos = "LEFT",
|
||||||
|
buffsCooldownPos = "TOP",
|
||||||
|
buffsBuffsCooldownPos = "BOTTOM",
|
||||||
|
classIconPos = "LEFT",
|
||||||
|
ciAnchor = "healthBar",
|
||||||
|
ciPos = "TOP",
|
||||||
|
cooldownYPos = "TOP",
|
||||||
|
cooldownXPos = "LEFT",
|
||||||
|
drCooldownPos = "RIGHT",
|
||||||
|
racialAnchor = "trinket",
|
||||||
|
racialPos = "RIGHT",
|
||||||
|
trinketPos = "RIGHT",
|
||||||
|
padding = 1,
|
||||||
|
growUp = false,
|
||||||
|
}
|
||||||
|
|
||||||
|
Gladdy.newDefaults = {
|
||||||
|
["bottomMargin"] = 94.99996948242188,
|
||||||
|
["newLayout"] = true,
|
||||||
|
Pets = {
|
||||||
|
["petYOffset"] = -81.99993896484375,
|
||||||
|
["petXOffset"] = 181,
|
||||||
|
},
|
||||||
|
ClassIcon = {
|
||||||
|
["classIconXOffset"] = -74.90008544921875,
|
||||||
|
},
|
||||||
|
Racial = {
|
||||||
|
["racialXOffset"] = 255.9000244140625,
|
||||||
|
},
|
||||||
|
Trinket = {
|
||||||
|
["trinketXOffset"] = 182,
|
||||||
|
},
|
||||||
|
["Combat Indicator"] = {
|
||||||
|
["ciXOffset"] = 79.99993896484375,
|
||||||
|
["ciYOffset"] = -10.99993896484375,
|
||||||
|
},
|
||||||
|
Cooldowns = {
|
||||||
|
["cooldownYOffset"] = 31,
|
||||||
|
},
|
||||||
|
["Buffs and Debuffs"] = {
|
||||||
|
["buffsBuffsXOffset"] = 29,
|
||||||
|
["buffsBuffsYOffset"] = -82.99993896484375,
|
||||||
|
["buffsXOffset"] = 29,
|
||||||
|
["buffsYOffset"] = 62.00006103515625,
|
||||||
|
},
|
||||||
|
Diminishings = {
|
||||||
|
["drXOffset"] = 329.7999877929688,
|
||||||
|
["drYOffset"] = -22.5,
|
||||||
|
},
|
||||||
|
["Cast Bar"] = {
|
||||||
|
["castBarXOffset"] = -235.900146484375,
|
||||||
|
["castBarYOffset"] = -30.5,
|
||||||
|
},
|
||||||
|
}
|
271
Frame.lua
271
Frame.lua
@ -1,6 +1,9 @@
|
|||||||
local CreateFrame = CreateFrame
|
local CreateFrame = CreateFrame
|
||||||
local UIParent = UIParent
|
local UIParent = UIParent
|
||||||
local InCombatLockdown = InCombatLockdown
|
local InCombatLockdown = InCombatLockdown
|
||||||
|
local math_abs = math.abs
|
||||||
|
local pairs = pairs
|
||||||
|
local LibStub = LibStub
|
||||||
|
|
||||||
local Gladdy = LibStub("Gladdy")
|
local Gladdy = LibStub("Gladdy")
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
@ -45,7 +48,7 @@ function Gladdy:CreateFrame()
|
|||||||
self.frame:SetClampedToScreen(true)
|
self.frame:SetClampedToScreen(true)
|
||||||
self.frame:EnableMouse(false)
|
self.frame:EnableMouse(false)
|
||||||
self.frame:SetMovable(true)
|
self.frame:SetMovable(true)
|
||||||
self.frame:RegisterForDrag("LeftButton")
|
--self.frame:RegisterForDrag("LeftButton")
|
||||||
|
|
||||||
self.frame:SetScript("OnDragStart", function(f)
|
self.frame:SetScript("OnDragStart", function(f)
|
||||||
if (not InCombatLockdown() and not self.db.locked) then
|
if (not InCombatLockdown() and not self.db.locked) then
|
||||||
@ -126,72 +129,24 @@ function Gladdy:UpdateFrame()
|
|||||||
|
|
||||||
local highlightBorderSize = (self.db.highlightInset and 0 or self.db.highlightBorderSize * 2)
|
local highlightBorderSize = (self.db.highlightInset and 0 or self.db.highlightBorderSize * 2)
|
||||||
local powerBarHeight = self.db.powerBarEnabled and (self.db.powerBarHeight + 1) or 0
|
local powerBarHeight = self.db.powerBarEnabled and (self.db.powerBarHeight + 1) or 0
|
||||||
local leftSize = 0
|
|
||||||
local rightSize = 0
|
|
||||||
--Trinket + Racial
|
|
||||||
if self.db.trinketEnabled and self.db.trinketPos == "LEFT" then
|
|
||||||
leftSize = leftSize + self.db.trinketSize * self.db.trinketWidthFactor + self.db.padding
|
|
||||||
if self.db.racialEnabled and self.db.racialAnchor == "trinket" and self.db.racialPos == "LEFT" then
|
|
||||||
leftSize = leftSize + self.db.racialSize * self.db.racialWidthFactor + self.db.padding
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if self.db.trinketEnabled and self.db.trinketPos == "RIGHT" then
|
|
||||||
rightSize = rightSize + self.db.trinketSize * self.db.trinketWidthFactor + self.db.padding
|
|
||||||
if self.db.racialEnabled and self.db.racialAnchor == "trinket" and self.db.racialPos == "RIGHT" then
|
|
||||||
rightSize = rightSize + self.db.racialSize * self.db.racialWidthFactor + self.db.padding
|
|
||||||
end
|
|
||||||
end
|
|
||||||
--ClassIcon
|
|
||||||
if self.db.classIconPos == "LEFT" then
|
|
||||||
leftSize = leftSize + self.db.classIconSize * self.db.classIconWidthFactor + self.db.padding
|
|
||||||
else
|
|
||||||
rightSize = rightSize + self.db.classIconSize * self.db.classIconWidthFactor + self.db.padding
|
|
||||||
end
|
|
||||||
--Highlight
|
|
||||||
if not self.db.highlightInset then
|
|
||||||
leftSize = leftSize + self.db.highlightBorderSize
|
|
||||||
rightSize = rightSize + self.db.highlightBorderSize
|
|
||||||
end
|
|
||||||
|
|
||||||
local margin = powerBarHeight
|
local margin = powerBarHeight
|
||||||
local width = self.db.barWidth + leftSize + rightSize
|
|
||||||
local height = (self.db.healthBarHeight + powerBarHeight) * teamSize
|
local height = (self.db.healthBarHeight + powerBarHeight) * teamSize
|
||||||
+ (self.db.highlightInset and 0 or self.db.highlightBorderSize * 2 * teamSize)
|
+ (self.db.highlightInset and 0 or self.db.highlightBorderSize * 2 * teamSize)
|
||||||
+ self.db.bottomMargin * (teamSize - 1)
|
+ self.db.bottomMargin * (teamSize - 1)
|
||||||
|
|
||||||
-- Highlight
|
-- Highlight
|
||||||
margin = margin + highlightBorderSize
|
margin = margin + highlightBorderSize
|
||||||
|
margin, height = Gladdy:LegacyPositioning(margin, height, teamSize)
|
||||||
if (self.db.cooldownYPos == "TOP" or self.db.cooldownYPos == "BOTTOM") and self.db.cooldown then
|
|
||||||
margin = margin + self.db.cooldownSize
|
|
||||||
height = height + self.db.cooldownSize * (teamSize - 1)
|
|
||||||
end
|
|
||||||
if (self.db.buffsCooldownPos == "TOP" or self.db.buffsCooldownPos == "BOTTOM") and self.db.buffsEnabled then
|
|
||||||
margin = margin + self.db.buffsIconSize
|
|
||||||
height = height + self.db.buffsIconSize * (teamSize - 1)
|
|
||||||
end
|
|
||||||
if (self.db.buffsBuffsCooldownPos == "TOP" or self.db.buffsBuffsCooldownPos == "BOTTOM") and self.db.buffsEnabled then
|
|
||||||
margin = margin + self.db.buffsBuffsIconSize
|
|
||||||
height = height + self.db.buffsBuffsIconSize * (teamSize - 1)
|
|
||||||
end
|
|
||||||
if self.db.buffsCooldownPos == "TOP" and self.db.cooldownYPos == "TOP" and self.db.cooldown and self.db.buffsEnabled then
|
|
||||||
margin = margin + 1
|
|
||||||
height = height + (teamSize - 1)
|
|
||||||
end
|
|
||||||
if self.db.buffsCooldownPos == "BOTTOM" and self.db.cooldownYPos == "BOTTOM" and self.db.cooldown and self.db.buffsEnabled then
|
|
||||||
margin = margin + 1
|
|
||||||
height = height + (teamSize - 1)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- GrowDirection
|
-- GrowDirection
|
||||||
if (self.db.growDirection == "LEFT" or self.db.growDirection == "RIGHT") then
|
if (self.db.growDirection == "LEFT" or self.db.growDirection == "RIGHT") then
|
||||||
width = self.db.barWidth * teamSize + (leftSize + rightSize) * teamSize + self.db.bottomMargin * (teamSize - 1)
|
|
||||||
height = self.db.healthBarHeight + powerBarHeight
|
height = self.db.healthBarHeight + powerBarHeight
|
||||||
end
|
end
|
||||||
|
|
||||||
self.frame:SetScale(self.db.frameScale)
|
self.frame:SetScale(self.db.frameScale)
|
||||||
self:PixelPerfectScale(false)
|
self:PixelPerfectScale(false)
|
||||||
self.frame:SetWidth(width)
|
self.frame:SetWidth(self.db.barWidth + highlightBorderSize)
|
||||||
self.frame:SetHeight(height)
|
self.frame:SetHeight(height)
|
||||||
self.frame:ClearAllPoints()
|
self.frame:ClearAllPoints()
|
||||||
self.frame.background:SetBackdropColor(self.db.backgroundColor.r, self.db.backgroundColor.g, self.db.backgroundColor.b, self.db.backgroundColor.a)
|
self.frame.background:SetBackdropColor(self.db.backgroundColor.r, self.db.backgroundColor.g, self.db.backgroundColor.b, self.db.backgroundColor.a)
|
||||||
@ -209,14 +164,14 @@ function Gladdy:UpdateFrame()
|
|||||||
end
|
end
|
||||||
|
|
||||||
--Anchor
|
--Anchor
|
||||||
self.anchor:SetWidth(width)
|
self.anchor:SetWidth(self.db.barWidth * 2 + highlightBorderSize)
|
||||||
self.anchor:ClearAllPoints()
|
self.anchor:ClearAllPoints()
|
||||||
if (self.db.growDirection == "TOP") then
|
if (self.db.growDirection == "TOP") then
|
||||||
self.anchor:SetPoint("TOPLEFT", self.frame, "BOTTOMLEFT")
|
self.anchor:SetPoint("TOP", self.frame, "BOTTOM")
|
||||||
elseif self.growDirection == "BOTTOM" or self.growDirection == "RIGHT" then
|
elseif self.growDirection == "BOTTOM" or self.growDirection == "RIGHT" then
|
||||||
self.anchor:SetPoint("BOTTOMLEFT", self.frame, "TOPLEFT")
|
self.anchor:SetPoint("BOTTOM", self.frame, "TOP")
|
||||||
else
|
else
|
||||||
self.anchor:SetPoint("BOTTOMRIGHT", self.frame, "TOPRIGHT")
|
self.anchor:SetPoint("BOTTOM", self.frame, "TOP")
|
||||||
end
|
end
|
||||||
|
|
||||||
if (self.db.locked) then
|
if (self.db.locked) then
|
||||||
@ -236,7 +191,7 @@ function Gladdy:UpdateFrame()
|
|||||||
button.secure:ClearAllPoints()
|
button.secure:ClearAllPoints()
|
||||||
if (self.db.growDirection == "TOP") then
|
if (self.db.growDirection == "TOP") then
|
||||||
if (i == 1) then
|
if (i == 1) then
|
||||||
button:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", leftSize, powerBarHeight)
|
button:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", 0, powerBarHeight)
|
||||||
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
else
|
else
|
||||||
button:SetPoint("BOTTOMLEFT", self.buttons["arena" .. (i - 1)], "TOPLEFT", 0, margin + self.db.bottomMargin)
|
button:SetPoint("BOTTOMLEFT", self.buttons["arena" .. (i - 1)], "TOPLEFT", 0, margin + self.db.bottomMargin)
|
||||||
@ -244,7 +199,7 @@ function Gladdy:UpdateFrame()
|
|||||||
end
|
end
|
||||||
elseif (self.db.growDirection == "BOTTOM") then
|
elseif (self.db.growDirection == "BOTTOM") then
|
||||||
if (i == 1) then
|
if (i == 1) then
|
||||||
button:SetPoint("TOPLEFT", self.frame, "TOPLEFT", leftSize, 0)
|
button:SetPoint("TOPLEFT", self.frame, "TOPLEFT", 0, 0)
|
||||||
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
else
|
else
|
||||||
button:SetPoint("TOPLEFT", self.buttons["arena" .. (i - 1)], "BOTTOMLEFT", 0, -margin - self.db.bottomMargin)
|
button:SetPoint("TOPLEFT", self.buttons["arena" .. (i - 1)], "BOTTOMLEFT", 0, -margin - self.db.bottomMargin)
|
||||||
@ -252,18 +207,18 @@ function Gladdy:UpdateFrame()
|
|||||||
end
|
end
|
||||||
elseif (self.db.growDirection == "LEFT") then
|
elseif (self.db.growDirection == "LEFT") then
|
||||||
if (i == 1) then
|
if (i == 1) then
|
||||||
button:SetPoint("TOPRIGHT", self.frame, "TOPRIGHT", -rightSize, 0)
|
button:SetPoint("TOPRIGHT", self.frame, "TOPRIGHT", -0, 0)
|
||||||
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
else
|
else
|
||||||
button:SetPoint("TOPRIGHT", self.buttons["arena" .. (i - 1)], "TOPLEFT", -rightSize - leftSize - self.db.bottomMargin, 0)
|
button:SetPoint("TOPRIGHT", self.buttons["arena" .. (i - 1)], "TOPLEFT", - self.db.bottomMargin, 0)
|
||||||
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
end
|
end
|
||||||
elseif (self.db.growDirection == "RIGHT") then
|
elseif (self.db.growDirection == "RIGHT") then
|
||||||
if (i == 1) then
|
if (i == 1) then
|
||||||
button:SetPoint("TOPLEFT", self.frame, "TOPLEFT", leftSize, 0)
|
button:SetPoint("TOPLEFT", self.frame, "TOPLEFT", 0, 0)
|
||||||
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
else
|
else
|
||||||
button:SetPoint("TOPLEFT", self.buttons["arena" .. (i - 1)], "TOPRIGHT", leftSize + rightSize + self.db.bottomMargin, 0)
|
button:SetPoint("TOPLEFT", self.buttons["arena" .. (i - 1)], "TOPRIGHT", self.db.bottomMargin, 0)
|
||||||
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -287,6 +242,27 @@ function Gladdy:UpdateFrame()
|
|||||||
elseif Gladdy.db.hideBlizzard == "never" then
|
elseif Gladdy.db.hideBlizzard == "never" then
|
||||||
Gladdy:BlizzArenaSetAlpha(1)
|
Gladdy:BlizzArenaSetAlpha(1)
|
||||||
end
|
end
|
||||||
|
if (not Gladdy.db.newLayout) then
|
||||||
|
Gladdy.db.newLayout = true
|
||||||
|
--get margin
|
||||||
|
local arena1Bottom
|
||||||
|
local arena2Top
|
||||||
|
if (self.db.growDirection == "BOTTOM") then
|
||||||
|
arena1Bottom = self.buttons["arena1"].secure:GetBottom()
|
||||||
|
arena2Top = self.buttons["arena2"].secure:GetTop()
|
||||||
|
elseif (self.db.growDirection == "TOP") then
|
||||||
|
arena1Bottom = self.buttons["arena1"].secure:GetTop()
|
||||||
|
arena2Top = self.buttons["arena2"].secure:GetBottom()
|
||||||
|
elseif (self.db.growDirection == "LEFT") then
|
||||||
|
arena1Bottom = self.buttons["arena1"].secure:GetLeft()
|
||||||
|
arena2Top = self.buttons["arena2"].secure:GetRight()
|
||||||
|
elseif (self.db.growDirection == "RIGHT") then
|
||||||
|
arena1Bottom = self.buttons["arena1"].secure:GetRight()
|
||||||
|
arena2Top = self.buttons["arena2"].secure:GetLeft()
|
||||||
|
end
|
||||||
|
Gladdy.db.bottomMargin = math_abs(arena1Bottom - arena2Top)
|
||||||
|
Gladdy:UpdateFrame()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
function Gladdy:HideFrame()
|
function Gladdy:HideFrame()
|
||||||
@ -381,6 +357,179 @@ function Gladdy:CreateButton(i)
|
|||||||
self:ResetButton("arena" .. i)
|
self:ResetButton("arena" .. i)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
function Gladdy:SetPosition(frame, unit, xOffsetDB, yOffsetDB, newLayout, module)
|
||||||
|
local button = self.buttons[unit]
|
||||||
|
if not button or not frame or not xOffsetDB or not yOffsetDB then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if (not newLayout) then
|
||||||
|
--Gladdy:Debug("INFO", name, "old X/Y:", frame:GetCenter())
|
||||||
|
local xOffset, yOffset = frame:GetLeft(), frame:GetTop()
|
||||||
|
local x,y = button.healthBar:GetLeft(), button.healthBar:GetTop()
|
||||||
|
local newXOffset = math_abs(x - xOffset) * (x > xOffset and -1 or 1)
|
||||||
|
local newYOffset = math_abs(y - yOffset) * (y > yOffset and -1 or 1)
|
||||||
|
frame:ClearAllPoints()
|
||||||
|
frame:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT", newXOffset, newYOffset)
|
||||||
|
--Gladdy:Debug("INFO", name, "new X/Y:", frame:GetCenter())
|
||||||
|
if unit == "arena1" then
|
||||||
|
Gladdy.db[xOffsetDB] = newXOffset
|
||||||
|
Gladdy.db[yOffsetDB] = newYOffset
|
||||||
|
LibStub("AceConfigRegistry-3.0"):NotifyChange("Gladdy")
|
||||||
|
end
|
||||||
|
else
|
||||||
|
frame:ClearAllPoints()
|
||||||
|
frame:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT", Gladdy.db[xOffsetDB], Gladdy.db[yOffsetDB])
|
||||||
|
end
|
||||||
|
if (self.newDefaults[module.name]) then
|
||||||
|
for k,v in pairs(self.newDefaults[module.name]) do
|
||||||
|
module.defaults[k] = v
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function Gladdy:CreateMover(frame, xConfig, yConfig, name, points, width, height, xOffset, yOffset, activated)
|
||||||
|
if not frame.mover then
|
||||||
|
frame:EnableMouse(false)
|
||||||
|
frame:SetMovable(true)
|
||||||
|
frame.mover = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate")
|
||||||
|
frame.mover:SetFrameStrata("DIALOG")
|
||||||
|
frame.mover:SetPoint(points[1], frame, points[2], xOffset or 0, yOffset or 0)
|
||||||
|
frame.mover:SetHeight(height or frame:GetHeight())
|
||||||
|
frame.mover:SetWidth(width or frame:GetWidth())
|
||||||
|
|
||||||
|
local backdrop = {
|
||||||
|
bgFile = "Interface/Tooltips/UI-Tooltip-Background",
|
||||||
|
edgeFile = "",
|
||||||
|
tile = true, tileSize = 16, edgeSize = 10,
|
||||||
|
insets = {left = 0, right = 0, top = 0, bottom = 0}
|
||||||
|
}
|
||||||
|
frame.mover:SetBackdrop(backdrop)
|
||||||
|
frame.mover:SetBackdropColor(0,1,0,0.5)
|
||||||
|
frame.mover.border = CreateFrame("Frame", nil, frame.mover, BackdropTemplateMixin and "BackdropTemplate")
|
||||||
|
frame.mover.border:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = 2 })
|
||||||
|
frame.mover.border:SetAllPoints(frame.mover)
|
||||||
|
frame.mover.border:SetBackdropBorderColor(0,1,0,1)
|
||||||
|
|
||||||
|
frame.mover.text = frame.mover.border:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
|
||||||
|
frame.mover.text:SetText(name)
|
||||||
|
frame.mover.text:SetPoint("CENTER")
|
||||||
|
|
||||||
|
frame.mover:SetMovable(true)
|
||||||
|
frame.mover:EnableMouse(true)
|
||||||
|
|
||||||
|
frame.mover:SetScript("OnMouseDown", function(self)
|
||||||
|
self.point = { frame:GetPoint() }
|
||||||
|
self.start = { frame:GetCenter() }
|
||||||
|
frame:StartMoving()
|
||||||
|
self:StartMoving()
|
||||||
|
end)
|
||||||
|
frame.mover:SetScript("OnMouseUp", function(self)
|
||||||
|
frame:StopMovingOrSizing()
|
||||||
|
self:StopMovingOrSizing()
|
||||||
|
self.stop = { frame:GetCenter() }
|
||||||
|
local diffX = math_abs(self.start[1] - self.stop[1])
|
||||||
|
diffX = self.start[1] > self.stop[1] and -diffX or diffX
|
||||||
|
local diffY = math_abs(self.start[2] - self.stop[2])
|
||||||
|
diffY = self.start[2] > self.stop[2] and -diffY or diffY
|
||||||
|
frame:ClearAllPoints()
|
||||||
|
frame:SetPoint(self.point[1], self.point[2], self.point[3], self.point[4] + diffX, self.point[5] + diffY)
|
||||||
|
Gladdy.db[xConfig] = self.point[4] + diffX
|
||||||
|
Gladdy.db[yConfig] = self.point[5] + diffY
|
||||||
|
LibStub("AceConfigRegistry-3.0"):NotifyChange("Gladdy")
|
||||||
|
Gladdy:UpdateFrame()
|
||||||
|
end)
|
||||||
|
else
|
||||||
|
frame.mover:ClearAllPoints()
|
||||||
|
frame.mover:SetPoint(points[1], frame, points[2], xOffset or 0, yOffset or 0)
|
||||||
|
frame.mover:SetHeight(height or frame:GetHeight())
|
||||||
|
frame.mover:SetWidth(width or frame:GetWidth())
|
||||||
|
end
|
||||||
|
if self.frame and self.frame.testing and self.db.showMover then
|
||||||
|
frame.mover:Show()
|
||||||
|
else
|
||||||
|
frame.mover:Hide()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY SUPPORT
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Gladdy:LegacyPositioning(margin, height, teamSize)
|
||||||
|
if not Gladdy.db.newLayout then
|
||||||
|
for k,v in pairs(Gladdy.legacy) do
|
||||||
|
if Gladdy.db[k] == nil then
|
||||||
|
Gladdy:Debug("INFO", "Gladdy:LegacyPositioning write", k,v)
|
||||||
|
Gladdy.db[k] = v
|
||||||
|
else
|
||||||
|
Gladdy:Debug("INFO", "Gladdy:LegacyPositioning found", k,v)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (self.db.cooldownYPos == "TOP" or self.db.cooldownYPos == "BOTTOM") and self.db.cooldown then
|
||||||
|
margin = margin + self.db.cooldownSize
|
||||||
|
height = height + self.db.cooldownSize * (teamSize - 1)
|
||||||
|
end
|
||||||
|
if (self.db.buffsCooldownPos == "TOP" or self.db.buffsCooldownPos == "BOTTOM") and self.db.buffsEnabled then
|
||||||
|
margin = margin + self.db.buffsIconSize
|
||||||
|
height = height + self.db.buffsIconSize * (teamSize - 1)
|
||||||
|
end
|
||||||
|
if (self.db.buffsBuffsCooldownPos == "TOP" or self.db.buffsBuffsCooldownPos == "BOTTOM") and self.db.buffsEnabled then
|
||||||
|
margin = margin + self.db.buffsBuffsIconSize
|
||||||
|
height = height + self.db.buffsBuffsIconSize * (teamSize - 1)
|
||||||
|
end
|
||||||
|
if self.db.buffsCooldownPos == "TOP" and self.db.cooldownYPos == "TOP" and self.db.cooldown and self.db.buffsEnabled then
|
||||||
|
margin = margin + 1
|
||||||
|
height = height + (teamSize - 1)
|
||||||
|
end
|
||||||
|
if self.db.buffsCooldownPos == "BOTTOM" and self.db.cooldownYPos == "BOTTOM" and self.db.cooldown and self.db.buffsEnabled then
|
||||||
|
margin = margin + 1
|
||||||
|
height = height + (teamSize - 1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return margin, height
|
||||||
|
end
|
||||||
|
|
||||||
|
function Gladdy:PositionButton(button, i, leftSize, rightSize, powerBarHeight, margin)
|
||||||
|
if (self.db.growDirection == "TOP") then
|
||||||
|
if (i == 1) then
|
||||||
|
button:SetPoint("BOTTOMLEFT", self.frame, "BOTTOMLEFT", leftSize, powerBarHeight)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
else
|
||||||
|
button:SetPoint("BOTTOMLEFT", self.buttons["arena" .. (i - 1)], "TOPLEFT", 0, margin + self.db.bottomMargin)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
end
|
||||||
|
elseif (self.db.growDirection == "BOTTOM") then
|
||||||
|
if (i == 1) then
|
||||||
|
button:SetPoint("TOPLEFT", self.frame, "TOPLEFT", leftSize, 0)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
else
|
||||||
|
button:SetPoint("TOPLEFT", self.buttons["arena" .. (i - 1)], "BOTTOMLEFT", 0, -margin - self.db.bottomMargin)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
end
|
||||||
|
elseif (self.db.growDirection == "LEFT") then
|
||||||
|
if (i == 1) then
|
||||||
|
button:SetPoint("TOPRIGHT", self.frame, "TOPRIGHT", -rightSize, 0)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
else
|
||||||
|
button:SetPoint("TOPRIGHT", self.buttons["arena" .. (i - 1)], "TOPLEFT", -rightSize - leftSize - self.db.bottomMargin, 0)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
end
|
||||||
|
elseif (self.db.growDirection == "RIGHT") then
|
||||||
|
if (i == 1) then
|
||||||
|
button:SetPoint("TOPLEFT", self.frame, "TOPLEFT", leftSize, 0)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
else
|
||||||
|
button:SetPoint("TOPLEFT", self.buttons["arena" .. (i - 1)], "TOPRIGHT", leftSize + rightSize + self.db.bottomMargin, 0)
|
||||||
|
button.secure:SetPoint("TOPLEFT", button.healthBar, "TOPLEFT")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
function Gladdy:GetAnchor(unit, position)
|
function Gladdy:GetAnchor(unit, position)
|
||||||
local anchor = "healthBar"
|
local anchor = "healthBar"
|
||||||
if Gladdy.db.classIconPos == position then
|
if Gladdy.db.classIconPos == position then
|
||||||
|
88
Gladdy.lua
88
Gladdy.lua
@ -6,7 +6,6 @@ local pairs = pairs
|
|||||||
local tinsert = table.insert
|
local tinsert = table.insert
|
||||||
local tsort = table.sort
|
local tsort = table.sort
|
||||||
local str_lower = string.lower
|
local str_lower = string.lower
|
||||||
local math_abs = math.abs
|
|
||||||
local GetTime = GetTime
|
local GetTime = GetTime
|
||||||
local GetPhysicalScreenSize = GetPhysicalScreenSize
|
local GetPhysicalScreenSize = GetPhysicalScreenSize
|
||||||
local InCombatLockdown = InCombatLockdown
|
local InCombatLockdown = InCombatLockdown
|
||||||
@ -97,6 +96,7 @@ end
|
|||||||
Gladdy.events = CreateFrame("Frame")
|
Gladdy.events = CreateFrame("Frame")
|
||||||
Gladdy.events.registered = {}
|
Gladdy.events.registered = {}
|
||||||
Gladdy.events:RegisterEvent("PLAYER_LOGIN")
|
Gladdy.events:RegisterEvent("PLAYER_LOGIN")
|
||||||
|
Gladdy.events:RegisterEvent("PLAYER_LOGOUT")
|
||||||
Gladdy.events:RegisterEvent("CVAR_UPDATE")
|
Gladdy.events:RegisterEvent("CVAR_UPDATE")
|
||||||
hooksecurefunc("VideoOptionsFrameOkay_OnClick", function(self, button, down, apply)
|
hooksecurefunc("VideoOptionsFrameOkay_OnClick", function(self, button, down, apply)
|
||||||
if (self:GetName() == "VideoOptionsFrameApply") then
|
if (self:GetName() == "VideoOptionsFrameApply") then
|
||||||
@ -111,6 +111,8 @@ Gladdy.events:SetScript("OnEvent", function(self, event, ...)
|
|||||||
if (str_lower(select(1, ...)) == "uiscale") then
|
if (str_lower(select(1, ...)) == "uiscale") then
|
||||||
Gladdy:PixelPerfectScale(true)
|
Gladdy:PixelPerfectScale(true)
|
||||||
end
|
end
|
||||||
|
elseif (event == "PLAYER_LOGOUT") then
|
||||||
|
Gladdy:DeleteUnknownOptions(Gladdy.db, Gladdy.defaults.profile)
|
||||||
else
|
else
|
||||||
local func = self.registered[event]
|
local func = self.registered[event]
|
||||||
|
|
||||||
@ -202,68 +204,6 @@ function Gladdy:NewModule(name, priority, defaults)
|
|||||||
return module
|
return module
|
||||||
end
|
end
|
||||||
|
|
||||||
function Gladdy:CreateMover(frame, xConfig, yConfig, name, points, width, height, xOffset, yOffset)
|
|
||||||
if not frame.mover then
|
|
||||||
frame.mover = CreateFrame("Frame", nil, frame, BackdropTemplateMixin and "BackdropTemplate")
|
|
||||||
frame.mover:SetFrameStrata("DIALOG")
|
|
||||||
frame.mover:SetPoint(points[1], frame, points[2], xOffset or 0, yOffset or 0)
|
|
||||||
frame.mover:SetHeight(height or frame:GetHeight())
|
|
||||||
frame.mover:SetWidth(width or frame:GetWidth())
|
|
||||||
|
|
||||||
local backdrop = {
|
|
||||||
bgFile = "Interface/Tooltips/UI-Tooltip-Background",
|
|
||||||
edgeFile = "",
|
|
||||||
tile = true, tileSize = 16, edgeSize = 10,
|
|
||||||
insets = {left = 0, right = 0, top = 0, bottom = 0}
|
|
||||||
}
|
|
||||||
frame.mover:SetBackdrop(backdrop)
|
|
||||||
frame.mover:SetBackdropColor(0,1,0,0.5)
|
|
||||||
frame.mover.border = CreateFrame("Frame", nil, frame.mover, BackdropTemplateMixin and "BackdropTemplate")
|
|
||||||
frame.mover.border:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "highlightBorderStyle"), edgeSize = 2 })
|
|
||||||
frame.mover.border:SetAllPoints(frame.mover)
|
|
||||||
frame.mover.border:SetBackdropBorderColor(0,1,0,1)
|
|
||||||
|
|
||||||
frame.mover.text = frame.mover.border:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
|
|
||||||
frame.mover.text:SetText(name)
|
|
||||||
frame.mover.text:SetPoint("CENTER")
|
|
||||||
|
|
||||||
frame.mover:SetMovable(true)
|
|
||||||
frame.mover:EnableMouse(true)
|
|
||||||
|
|
||||||
frame.mover:SetScript("OnMouseDown", function(self)
|
|
||||||
self.point = { frame:GetPoint() }
|
|
||||||
self.start = { frame:GetCenter() }
|
|
||||||
frame:StartMoving()
|
|
||||||
self:StartMoving()
|
|
||||||
end)
|
|
||||||
frame.mover:SetScript("OnMouseUp", function(self)
|
|
||||||
frame:StopMovingOrSizing()
|
|
||||||
self:StopMovingOrSizing()
|
|
||||||
self.stop = { frame:GetCenter() }
|
|
||||||
local diffX = math_abs(self.start[1] - self.stop[1])
|
|
||||||
diffX = self.start[1] > self.stop[1] and -diffX or diffX
|
|
||||||
local diffY = math_abs(self.start[2] - self.stop[2])
|
|
||||||
diffY = self.start[2] > self.stop[2] and -diffY or diffY
|
|
||||||
frame:ClearAllPoints()
|
|
||||||
frame:SetPoint(self.point[1], self.point[2], self.point[3], self.point[4] + diffX, self.point[5] + diffY)
|
|
||||||
Gladdy.db[xConfig] = self.point[4] + diffX
|
|
||||||
Gladdy.db[yConfig] = self.point[5] + diffY
|
|
||||||
LibStub("AceConfigRegistry-3.0"):NotifyChange("Gladdy")
|
|
||||||
Gladdy:UpdateFrame()
|
|
||||||
end)
|
|
||||||
else
|
|
||||||
frame.mover:ClearAllPoints()
|
|
||||||
frame.mover:SetPoint(points[1], frame, points[2], xOffset or 0, yOffset or 0)
|
|
||||||
frame.mover:SetHeight(height or frame:GetHeight())
|
|
||||||
frame.mover:SetWidth(width or frame:GetWidth())
|
|
||||||
end
|
|
||||||
if self.frame and self.frame.testing then
|
|
||||||
frame.mover:Show()
|
|
||||||
else
|
|
||||||
frame.mover:Hide()
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
-- INIT
|
-- INIT
|
||||||
@ -310,7 +250,7 @@ function Gladdy:OnInitialize()
|
|||||||
self.dbi = LibStub("AceDB-3.0"):New("GladdyXZ", self.defaults)
|
self.dbi = LibStub("AceDB-3.0"):New("GladdyXZ", self.defaults)
|
||||||
self.dbi.RegisterCallback(self, "OnProfileChanged", "OnProfileChanged")
|
self.dbi.RegisterCallback(self, "OnProfileChanged", "OnProfileChanged")
|
||||||
self.dbi.RegisterCallback(self, "OnProfileCopied", "OnProfileChanged")
|
self.dbi.RegisterCallback(self, "OnProfileCopied", "OnProfileChanged")
|
||||||
self.dbi.RegisterCallback(self, "OnProfileReset", "OnProfileChanged")
|
self.dbi.RegisterCallback(self, "OnProfileReset", "OnProfileReset")
|
||||||
self.db = self.dbi.profile
|
self.db = self.dbi.profile
|
||||||
|
|
||||||
self.LSM = LibStub("LibSharedMedia-3.0")
|
self.LSM = LibStub("LibSharedMedia-3.0")
|
||||||
@ -347,18 +287,32 @@ function Gladdy:OnInitialize()
|
|||||||
for _, module in self:IterModules() do
|
for _, module in self:IterModules() do
|
||||||
self:Call(module, "Initialize") -- B.E > A.E :D
|
self:Call(module, "Initialize") -- B.E > A.E :D
|
||||||
end
|
end
|
||||||
self:DeleteUnknownOptions(self.db, self.defaults.profile)
|
|
||||||
if Gladdy.db.hideBlizzard == "always" then
|
if Gladdy.db.hideBlizzard == "always" then
|
||||||
Gladdy:BlizzArenaSetAlpha(0)
|
Gladdy:BlizzArenaSetAlpha(0)
|
||||||
end
|
end
|
||||||
|
if not self.db.newLayout then
|
||||||
|
self:ToggleFrame(3)
|
||||||
|
self:HideFrame()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function Gladdy:OnProfileReset()
|
||||||
|
self.db = self.dbi.profile
|
||||||
|
Gladdy:Debug("INFO", "OnProfileReset")
|
||||||
|
self:HideFrame()
|
||||||
|
self:ToggleFrame(3)
|
||||||
|
Gladdy.options.args.lock.name = Gladdy.db.locked and L["Unlock frame"] or L["Lock frame"]
|
||||||
|
Gladdy.options.args.showMover.name = Gladdy.db.showMover and L["Hide Mover"] or L["Show Mover"]
|
||||||
|
LibStub("AceConfigRegistry-3.0"):NotifyChange("Gladdy")
|
||||||
end
|
end
|
||||||
|
|
||||||
function Gladdy:OnProfileChanged()
|
function Gladdy:OnProfileChanged()
|
||||||
self.db = self.dbi.profile
|
self.db = self.dbi.profile
|
||||||
self:DeleteUnknownOptions(self.db, self.defaults.profile)
|
|
||||||
|
|
||||||
self:HideFrame()
|
self:HideFrame()
|
||||||
self:ToggleFrame(3)
|
self:ToggleFrame(3)
|
||||||
|
Gladdy.options.args.lock.name = Gladdy.db.locked and L["Unlock frame"] or L["Lock frame"]
|
||||||
|
Gladdy.options.args.showMover.name = Gladdy.db.showMover and L["Hide Mover"] or L["Show Mover"]
|
||||||
|
LibStub("AceConfigRegistry-3.0"):NotifyChange("Gladdy")
|
||||||
end
|
end
|
||||||
|
|
||||||
function Gladdy:OnEnable()
|
function Gladdy:OnEnable()
|
||||||
|
@ -31,11 +31,9 @@ local BuffsDebuffs = Gladdy:NewModule("Buffs and Debuffs", nil, {
|
|||||||
buffsFontScale = 1,
|
buffsFontScale = 1,
|
||||||
buffsFontColor = {r = 1, g = 1, b = 0, a = 1},
|
buffsFontColor = {r = 1, g = 1, b = 0, a = 1},
|
||||||
buffsDynamicColor = true,
|
buffsDynamicColor = true,
|
||||||
buffsCooldownPos = "TOP",
|
|
||||||
buffsCooldownGrowDirection = "RIGHT",
|
buffsCooldownGrowDirection = "RIGHT",
|
||||||
buffsXOffset = 0,
|
buffsXOffset = 0,
|
||||||
buffsYOffset = 0,
|
buffsYOffset = 0,
|
||||||
buffsBuffsCooldownPos = "BOTTOM",
|
|
||||||
buffsBuffsCooldownGrowDirection = "RIGHT",
|
buffsBuffsCooldownGrowDirection = "RIGHT",
|
||||||
buffsBuffsXOffset = 0,
|
buffsBuffsXOffset = 0,
|
||||||
buffsBuffsYOffset = 0,
|
buffsBuffsYOffset = 0,
|
||||||
@ -51,7 +49,7 @@ local BuffsDebuffs = Gladdy:NewModule("Buffs and Debuffs", nil, {
|
|||||||
buffsBorderColorImmune = Gladdy:GetAuraTypeColor()["immune"],
|
buffsBorderColorImmune = Gladdy:GetAuraTypeColor()["immune"],
|
||||||
buffsBorderColorDisease = Gladdy:GetAuraTypeColor()["disease"],
|
buffsBorderColorDisease = Gladdy:GetAuraTypeColor()["disease"],
|
||||||
buffsBorderColorForm = Gladdy:GetAuraTypeColor()["form"],
|
buffsBorderColorForm = Gladdy:GetAuraTypeColor()["form"],
|
||||||
buffsBorderColorAura = Gladdy:GetAuraTypeColor()["aura"]
|
buffsBorderColorAura = Gladdy:GetAuraTypeColor()["aura"],
|
||||||
})
|
})
|
||||||
|
|
||||||
local spellSchoolToOptionValueTable
|
local spellSchoolToOptionValueTable
|
||||||
@ -233,18 +231,15 @@ end
|
|||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
function BuffsDebuffs:CreateFrame(unit)
|
function BuffsDebuffs:CreateFrame(unit)
|
||||||
local verticalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
|
||||||
local debuffFrame = CreateFrame("Frame", "GladdyDebuffs" .. unit, Gladdy.buttons[unit])
|
local debuffFrame = CreateFrame("Frame", "GladdyDebuffs" .. unit, Gladdy.buttons[unit])
|
||||||
debuffFrame:SetMovable(true)
|
debuffFrame:SetMovable(true)
|
||||||
debuffFrame:SetHeight(Gladdy.db.buffsIconSize)
|
debuffFrame:SetHeight(Gladdy.db.buffsIconSize)
|
||||||
debuffFrame:SetWidth(1)
|
debuffFrame:SetWidth(1)
|
||||||
debuffFrame:SetPoint("BOTTOMLEFT", Gladdy.buttons[unit].healthBar, "TOPLEFT", 0, verticalMargin)
|
|
||||||
debuffFrame.unit = unit
|
debuffFrame.unit = unit
|
||||||
local buffFrame = CreateFrame("Frame", "GladdyBuffs" .. unit, Gladdy.buttons[unit])
|
local buffFrame = CreateFrame("Frame", "GladdyBuffs" .. unit, Gladdy.buttons[unit])
|
||||||
buffFrame:SetMovable(true)
|
buffFrame:SetMovable(true)
|
||||||
buffFrame:SetHeight(Gladdy.db.buffsIconSize)
|
buffFrame:SetHeight(Gladdy.db.buffsIconSize)
|
||||||
buffFrame:SetWidth(1)
|
buffFrame:SetWidth(1)
|
||||||
buffFrame:SetPoint("BOTTOMLEFT", Gladdy.buttons[unit].healthBar, "TOPLEFT", 0, verticalMargin)
|
|
||||||
buffFrame.unit = unit
|
buffFrame.unit = unit
|
||||||
self.frames[unit] = {}
|
self.frames[unit] = {}
|
||||||
self.frames[unit].buffFrame = buffFrame
|
self.frames[unit].buffFrame = buffFrame
|
||||||
@ -285,156 +280,30 @@ local function styleIcon(aura, auraType)
|
|||||||
end
|
end
|
||||||
|
|
||||||
function BuffsDebuffs:UpdateFrame(unit)
|
function BuffsDebuffs:UpdateFrame(unit)
|
||||||
self.frames[unit].debuffFrame:SetHeight(Gladdy.db.buffsIconSize)
|
|
||||||
self.frames[unit].debuffFrame:ClearAllPoints()
|
|
||||||
|
|
||||||
--DEBUFFS
|
--DEBUFFS
|
||||||
local powerBarHeight = Gladdy.db.powerBarEnabled and (Gladdy.db.powerBarHeight + 1) or 0
|
self.frames[unit].debuffFrame:SetHeight(Gladdy.db.buffsIconSize)
|
||||||
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize)
|
Gladdy:SetPosition(self.frames[unit].debuffFrame, unit, "buffsXOffset", "buffsYOffset", BuffsDebuffs:LegacySetPositionDebuffs(unit), BuffsDebuffs)
|
||||||
local verticalMargin = -(Gladdy.db.powerBarHeight)/2
|
|
||||||
if Gladdy.db.buffsCooldownPos == "TOP" then
|
|
||||||
verticalMargin = horizontalMargin + 1
|
|
||||||
if Gladdy.db.cooldownYPos == "TOP" and Gladdy.db.cooldown then
|
|
||||||
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
|
||||||
end
|
|
||||||
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("BOTTOMLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset + verticalMargin)
|
|
||||||
else
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("BOTTOMRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset + verticalMargin)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.buffsCooldownPos == "BOTTOM" then
|
|
||||||
verticalMargin = horizontalMargin + 1
|
|
||||||
if Gladdy.db.cooldownYPos == "BOTTOM" and Gladdy.db.cooldown then
|
|
||||||
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
|
||||||
end
|
|
||||||
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "BOTTOMRIGHT", Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset -verticalMargin - powerBarHeight)
|
|
||||||
else
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "BOTTOMLEFT", Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset -verticalMargin - powerBarHeight)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.buffsCooldownPos == "LEFT" then
|
|
||||||
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin + Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset)
|
|
||||||
else
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset)
|
|
||||||
end
|
|
||||||
|
|
||||||
elseif Gladdy.db.buffsCooldownPos == "RIGHT" then
|
|
||||||
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset)
|
|
||||||
else
|
|
||||||
self.frames[unit].debuffFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.buffsXOffset, Gladdy.db.buffsYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (unit == "arena1") then
|
if (unit == "arena1") then
|
||||||
Gladdy:CreateMover(self.frames[unit].debuffFrame, "buffsXOffset", "buffsYOffset", L["Debuffs"],
|
Gladdy:CreateMover(self.frames[unit].debuffFrame, "buffsXOffset", "buffsYOffset", L["Debuffs"],
|
||||||
Gladdy.db.buffsCooldownGrowDirection == "LEFT" and {"TOPRIGHT", "TOPRIGHT"} or {"TOPLEFT", "TOPLEFT"},
|
{"TOPRIGHT", "TOPRIGHT"},
|
||||||
Gladdy.db.buffsIconSize * Gladdy.db.buffsWidthFactor,
|
Gladdy.db.buffsIconSize * Gladdy.db.buffsWidthFactor,
|
||||||
Gladdy.db.buffsIconSize, Gladdy.db.buffsCooldownGrowDirection == "LEFT"and -1 or 1, 0)
|
Gladdy.db.buffsIconSize, 0, 0)
|
||||||
|
if not Gladdy.db.buffsEnabled then
|
||||||
|
self.frames[unit].debuffFrame.mover:Hide()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--BUFFS
|
--BUFFS
|
||||||
self.frames[unit].buffFrame:SetHeight(Gladdy.db.buffsBuffsIconSize)
|
self.frames[unit].buffFrame:SetHeight(Gladdy.db.buffsBuffsIconSize)
|
||||||
self.frames[unit].buffFrame:ClearAllPoints()
|
Gladdy:SetPosition(self.frames[unit].buffFrame, unit, "buffsBuffsXOffset", "buffsBuffsYOffset", BuffsDebuffs:LegacySetPositionBuffs(unit), BuffsDebuffs)
|
||||||
horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize)
|
|
||||||
verticalMargin = -(Gladdy.db.powerBarHeight)/2
|
|
||||||
if Gladdy.db.buffsBuffsCooldownPos == "TOP" then
|
|
||||||
verticalMargin = horizontalMargin + 1
|
|
||||||
if Gladdy.db.cooldownYPos == "TOP" and Gladdy.db.cooldown then
|
|
||||||
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
|
||||||
end
|
|
||||||
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
|
||||||
self.frames[unit].buffFrame:SetPoint("BOTTOMLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", Gladdy.db.buffsXOffset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
|
||||||
else
|
|
||||||
self.frames[unit].buffFrame:SetPoint("BOTTOMRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", Gladdy.db.buffsXOffset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.buffsBuffsCooldownPos == "BOTTOM" then
|
|
||||||
verticalMargin = horizontalMargin + 1
|
|
||||||
if Gladdy.db.cooldownYPos == "BOTTOM" and Gladdy.db.cooldown then
|
|
||||||
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
|
||||||
end
|
|
||||||
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
|
||||||
self.frames[unit].buffFrame:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "BOTTOMRIGHT", Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset -verticalMargin - powerBarHeight)
|
|
||||||
else
|
|
||||||
self.frames[unit].buffFrame:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "BOTTOMLEFT", Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset -verticalMargin - powerBarHeight)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.buffsBuffsCooldownPos == "LEFT" then
|
|
||||||
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.trinketPos == "LEFT" and Gladdy.db.trinketEnabled) then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.classIconPos == "LEFT") then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
|
||||||
end
|
|
||||||
elseif (Gladdy.db.classIconPos == "LEFT") then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.trinketPos == "LEFT" and Gladdy.db.trinketEnabled) then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (Gladdy.db.drCooldownPos == "LEFT" and Gladdy.db.drEnabled) then
|
|
||||||
verticalMargin = verticalMargin + Gladdy.db.drIconSize/2 + Gladdy.db.padding/2
|
|
||||||
end
|
|
||||||
if (Gladdy.db.castBarPos == "LEFT") then
|
|
||||||
verticalMargin = verticalMargin -
|
|
||||||
(((Gladdy.db.castBarHeight < Gladdy.db.castBarIconSize) and Gladdy.db.castBarIconSize
|
|
||||||
or Gladdy.db.castBarHeight)/2 + Gladdy.db.padding/2)
|
|
||||||
end
|
|
||||||
if (Gladdy.db.cooldownYPos == "LEFT" and Gladdy.db.cooldown) then
|
|
||||||
verticalMargin = verticalMargin + (Gladdy.db.buffsBuffsIconSize/2 + Gladdy.db.padding/2)
|
|
||||||
end
|
|
||||||
--self.frames[unit].buffFrame:SetPoint("RIGHT", Gladdy.buttons[unit].healthBar, "LEFT", -horizontalMargin + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
|
||||||
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
|
||||||
horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) - 1 + Gladdy.db.padding
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
self.frames[unit].buffFrame:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset)
|
|
||||||
else
|
|
||||||
self.frames[unit].buffFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset)
|
|
||||||
end
|
|
||||||
|
|
||||||
elseif Gladdy.db.buffsBuffsCooldownPos == "RIGHT" then
|
|
||||||
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.trinketPos == "RIGHT" and Gladdy.db.trinketEnabled) then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.classIconPos == "RIGHT") then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
|
||||||
end
|
|
||||||
elseif (Gladdy.db.classIconPos == "RIGHT") then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.trinketPos == "RIGHT" and Gladdy.db.trinketEnabled) then
|
|
||||||
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (Gladdy.db.drCooldownPos == "RIGHT" and Gladdy.db.drEnabled) then
|
|
||||||
verticalMargin = verticalMargin + Gladdy.db.drIconSize/2 + Gladdy.db.padding/2
|
|
||||||
end
|
|
||||||
if (Gladdy.db.castBarPos == "RIGHT") then
|
|
||||||
verticalMargin = verticalMargin -
|
|
||||||
(((Gladdy.db.castBarHeight < Gladdy.db.castBarIconSize) and Gladdy.db.castBarIconSize
|
|
||||||
or Gladdy.db.castBarHeight)/2 + Gladdy.db.padding/2)
|
|
||||||
end
|
|
||||||
if (Gladdy.db.cooldownYPos == "RIGHT" and Gladdy.db.cooldown) then
|
|
||||||
verticalMargin = verticalMargin + (Gladdy.db.buffsBuffsIconSize/2 + Gladdy.db.padding/2)
|
|
||||||
end
|
|
||||||
--self.frames[unit].buffFrame:SetPoint("LEFT", Gladdy.buttons[unit].healthBar, "RIGHT", horizontalMargin + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
|
||||||
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
|
||||||
horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) - 1 + Gladdy.db.padding
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
self.frames[unit].buffFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset)
|
|
||||||
else
|
|
||||||
self.frames[unit].buffFrame:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (unit == "arena1") then
|
if (unit == "arena1") then
|
||||||
Gladdy:CreateMover(self.frames[unit].buffFrame, "buffsBuffsXOffset", "buffsBuffsYOffset", L["Buffs"],
|
Gladdy:CreateMover(self.frames[unit].buffFrame, "buffsBuffsXOffset", "buffsBuffsYOffset", L["Buffs"],
|
||||||
Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" and {"TOPRIGHT", "TOPRIGHT"} or {"TOPLEFT", "TOPLEFT"},
|
{"TOPRIGHT", "TOPRIGHT"},
|
||||||
Gladdy.db.buffsBuffsIconSize * Gladdy.db.buffsBuffsWidthFactor,
|
Gladdy.db.buffsBuffsIconSize * Gladdy.db.buffsBuffsWidthFactor,
|
||||||
Gladdy.db.buffsBuffsIconSize, Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT"and -1 or 1, 0)
|
Gladdy.db.buffsBuffsIconSize, 0, 0)
|
||||||
|
if not Gladdy.db.buffsEnabled then
|
||||||
|
self.frames[unit].buffFrame.mover:Hide()
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
for i=1, #self.frames[unit].auras[AURA_TYPE_BUFF] do
|
for i=1, #self.frames[unit].auras[AURA_TYPE_BUFF] do
|
||||||
@ -456,13 +325,8 @@ end
|
|||||||
function BuffsDebuffs:UpdateAurasOnUnit(unit)
|
function BuffsDebuffs:UpdateAurasOnUnit(unit)
|
||||||
for i=1, #self.frames[unit].auras[AURA_TYPE_BUFF] do
|
for i=1, #self.frames[unit].auras[AURA_TYPE_BUFF] do
|
||||||
if i == 1 then
|
if i == 1 then
|
||||||
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
self.frames[unit].auras[AURA_TYPE_BUFF][i]:ClearAllPoints()
|
||||||
self.frames[unit].auras[AURA_TYPE_BUFF][i]:ClearAllPoints()
|
self.frames[unit].auras[AURA_TYPE_BUFF][i]:SetPoint("RIGHT", self.frames[unit].buffFrame, "LEFT")
|
||||||
self.frames[unit].auras[AURA_TYPE_BUFF][i]:SetPoint("RIGHT", self.frames[unit].buffFrame, "LEFT")
|
|
||||||
else
|
|
||||||
self.frames[unit].auras[AURA_TYPE_BUFF][i]:ClearAllPoints()
|
|
||||||
self.frames[unit].auras[AURA_TYPE_BUFF][i]:SetPoint("LEFT", self.frames[unit].buffFrame, "RIGHT")
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
||||||
self.frames[unit].auras[AURA_TYPE_BUFF][i]:ClearAllPoints()
|
self.frames[unit].auras[AURA_TYPE_BUFF][i]:ClearAllPoints()
|
||||||
@ -475,13 +339,8 @@ function BuffsDebuffs:UpdateAurasOnUnit(unit)
|
|||||||
end
|
end
|
||||||
for i=1, #self.frames[unit].auras[AURA_TYPE_DEBUFF] do
|
for i=1, #self.frames[unit].auras[AURA_TYPE_DEBUFF] do
|
||||||
if i == 1 then
|
if i == 1 then
|
||||||
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:ClearAllPoints()
|
||||||
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:ClearAllPoints()
|
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:SetPoint("RIGHT", self.frames[unit].debuffFrame, "LEFT")
|
||||||
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:SetPoint("RIGHT", self.frames[unit].debuffFrame, "LEFT")
|
|
||||||
else
|
|
||||||
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:ClearAllPoints()
|
|
||||||
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:SetPoint("LEFT", self.frames[unit].debuffFrame, "RIGHT")
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
||||||
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:ClearAllPoints()
|
self.frames[unit].auras[AURA_TYPE_DEBUFF][i]:ClearAllPoints()
|
||||||
@ -602,36 +461,6 @@ end
|
|||||||
-- OPTIONS
|
-- OPTIONS
|
||||||
------------
|
------------
|
||||||
|
|
||||||
local function option(params)
|
|
||||||
local defaults = {
|
|
||||||
get = function(info)
|
|
||||||
local key = info.arg or info[#info]
|
|
||||||
return Gladdy.dbi.profile[key]
|
|
||||||
end,
|
|
||||||
set = function(info, value)
|
|
||||||
local key = info.arg or info[#info]
|
|
||||||
Gladdy.dbi.profile[key] = value
|
|
||||||
if Gladdy.db.buffsCooldownPos == "LEFT" then
|
|
||||||
Gladdy.db.buffsCooldownGrowDirection = "LEFT"
|
|
||||||
elseif Gladdy.db.buffsCooldownPos == "RIGHT" then
|
|
||||||
Gladdy.db.buffsCooldownGrowDirection = "RIGHT"
|
|
||||||
end
|
|
||||||
if Gladdy.db.buffsBuffsCooldownPos == "LEFT" then
|
|
||||||
Gladdy.db.buffsBuffsCooldownGrowDirection = "LEFT"
|
|
||||||
elseif Gladdy.db.buffsBuffsCooldownPos == "RIGHT" then
|
|
||||||
Gladdy.db.buffsBuffsCooldownGrowDirection = "RIGHT"
|
|
||||||
end
|
|
||||||
Gladdy:UpdateFrame()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
for k, v in pairs(params) do
|
|
||||||
defaults[k] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
return defaults
|
|
||||||
end
|
|
||||||
|
|
||||||
function BuffsDebuffs:GetOptions()
|
function BuffsDebuffs:GetOptions()
|
||||||
return {
|
return {
|
||||||
headerBuffs = {
|
headerBuffs = {
|
||||||
@ -714,18 +543,6 @@ function BuffsDebuffs:GetOptions()
|
|||||||
name = L["Position"],
|
name = L["Position"],
|
||||||
order = 5,
|
order = 5,
|
||||||
},
|
},
|
||||||
buffsBuffsCooldownPos = option({
|
|
||||||
type = "select",
|
|
||||||
name = L["Aura Position"],
|
|
||||||
desc = L["Position of the aura icons"],
|
|
||||||
order = 21,
|
|
||||||
values = {
|
|
||||||
["TOP"] = L["Top"],
|
|
||||||
["BOTTOM"] = L["Bottom"],
|
|
||||||
["LEFT"] = L["Left"],
|
|
||||||
["RIGHT"] = L["Right"],
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
buffsBuffsCooldownGrowDirection = Gladdy:option({
|
buffsBuffsCooldownGrowDirection = Gladdy:option({
|
||||||
type = "select",
|
type = "select",
|
||||||
name = L["Grow Direction"],
|
name = L["Grow Direction"],
|
||||||
@ -836,18 +653,6 @@ function BuffsDebuffs:GetOptions()
|
|||||||
name = L["Position"],
|
name = L["Position"],
|
||||||
order = 5,
|
order = 5,
|
||||||
},
|
},
|
||||||
buffsCooldownPos = option({
|
|
||||||
type = "select",
|
|
||||||
name = L["Aura Position"],
|
|
||||||
desc = L["Position of the aura icons"],
|
|
||||||
order = 21,
|
|
||||||
values = {
|
|
||||||
["TOP"] = L["Top"],
|
|
||||||
["BOTTOM"] = L["Bottom"],
|
|
||||||
["LEFT"] = L["Left"],
|
|
||||||
["RIGHT"] = L["Right"],
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
buffsCooldownGrowDirection = Gladdy:option({
|
buffsCooldownGrowDirection = Gladdy:option({
|
||||||
type = "select",
|
type = "select",
|
||||||
name = L["Grow Direction"],
|
name = L["Grow Direction"],
|
||||||
@ -1108,3 +913,168 @@ function BuffsDebuffs:GetOptions()
|
|||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function BuffsDebuffs:LegacySetPositionDebuffs(unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
self.frames[unit].debuffFrame:ClearAllPoints()
|
||||||
|
local powerBarHeight = Gladdy.db.powerBarEnabled and (Gladdy.db.powerBarHeight + 1) or 0
|
||||||
|
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize)
|
||||||
|
local verticalMargin = -(Gladdy.db.powerBarHeight)/2
|
||||||
|
local offset = 0
|
||||||
|
if (Gladdy.db.buffsCooldownGrowDirection == "RIGHT") then
|
||||||
|
offset = Gladdy.db.buffsIconSize * Gladdy.db.buffsWidthFactor
|
||||||
|
end
|
||||||
|
local pos = Gladdy.db.buffsCooldownPos
|
||||||
|
|
||||||
|
if pos == "TOP" then
|
||||||
|
verticalMargin = horizontalMargin + 1
|
||||||
|
if Gladdy.db.cooldownYPos == "TOP" and Gladdy.db.cooldown then
|
||||||
|
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
||||||
|
end
|
||||||
|
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("BOTTOMLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset + verticalMargin)
|
||||||
|
else
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("BOTTOMRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset + verticalMargin)
|
||||||
|
end
|
||||||
|
elseif pos == "BOTTOM" then
|
||||||
|
verticalMargin = horizontalMargin + 1
|
||||||
|
if Gladdy.db.cooldownYPos == "BOTTOM" and Gladdy.db.cooldown then
|
||||||
|
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
||||||
|
end
|
||||||
|
if Gladdy.db.buffsCooldownGrowDirection == "LEFT" then
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "BOTTOMRIGHT", Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset -verticalMargin - powerBarHeight)
|
||||||
|
else
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "BOTTOMLEFT", Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset -verticalMargin - powerBarHeight)
|
||||||
|
end
|
||||||
|
elseif pos == "LEFT" then
|
||||||
|
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin + Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset)
|
||||||
|
else
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset)
|
||||||
|
end
|
||||||
|
elseif pos == "RIGHT" then
|
||||||
|
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset)
|
||||||
|
else
|
||||||
|
self.frames[unit].debuffFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
|
||||||
|
function BuffsDebuffs:LegacySetPositionBuffs(unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
self.frames[unit].buffFrame:ClearAllPoints()
|
||||||
|
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize)
|
||||||
|
local verticalMargin = -(Gladdy.db.powerBarHeight)/2
|
||||||
|
local powerBarHeight = Gladdy.db.powerBarEnabled and (Gladdy.db.powerBarHeight + 1) or 0
|
||||||
|
local offset = 0
|
||||||
|
if (Gladdy.db.buffsBuffsCooldownGrowDirection == "RIGHT") then
|
||||||
|
offset = Gladdy.db.buffsBuffsIconSize * Gladdy.db.buffsBuffsWidthFactor
|
||||||
|
end
|
||||||
|
|
||||||
|
local pos = Gladdy.db.buffsBuffsCooldownPos
|
||||||
|
|
||||||
|
if pos == "TOP" then
|
||||||
|
verticalMargin = horizontalMargin + 1
|
||||||
|
if Gladdy.db.cooldownYPos == "TOP" and Gladdy.db.cooldown then
|
||||||
|
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
||||||
|
end
|
||||||
|
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
||||||
|
self.frames[unit].buffFrame:SetPoint("BOTTOMLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
||||||
|
else
|
||||||
|
self.frames[unit].buffFrame:SetPoint("BOTTOMRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", Gladdy.db.buffsXOffset + offset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
||||||
|
end
|
||||||
|
elseif pos == "BOTTOM" then
|
||||||
|
verticalMargin = horizontalMargin + 1
|
||||||
|
if Gladdy.db.cooldownYPos == "BOTTOM" and Gladdy.db.cooldown then
|
||||||
|
verticalMargin = verticalMargin + Gladdy.db.cooldownSize
|
||||||
|
end
|
||||||
|
if Gladdy.db.buffsBuffsCooldownGrowDirection == "LEFT" then
|
||||||
|
self.frames[unit].buffFrame:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "BOTTOMRIGHT", Gladdy.db.buffsBuffsXOffset + offset, Gladdy.db.buffsBuffsYOffset -verticalMargin - powerBarHeight)
|
||||||
|
else
|
||||||
|
self.frames[unit].buffFrame:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "BOTTOMLEFT", Gladdy.db.buffsBuffsXOffset + offset, Gladdy.db.buffsBuffsYOffset -verticalMargin - powerBarHeight)
|
||||||
|
end
|
||||||
|
elseif pos == "LEFT" then
|
||||||
|
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.trinketPos == "LEFT" and Gladdy.db.trinketEnabled) then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.classIconPos == "LEFT") then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
||||||
|
end
|
||||||
|
elseif (Gladdy.db.classIconPos == "LEFT") then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.trinketPos == "LEFT" and Gladdy.db.trinketEnabled) then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (Gladdy.db.drCooldownPos == "LEFT" and Gladdy.db.drEnabled) then
|
||||||
|
verticalMargin = verticalMargin + Gladdy.db.drIconSize/2 + Gladdy.db.padding/2
|
||||||
|
end
|
||||||
|
if (Gladdy.db.castBarPos == "LEFT") then
|
||||||
|
verticalMargin = verticalMargin -
|
||||||
|
(((Gladdy.db.castBarHeight < Gladdy.db.castBarIconSize) and Gladdy.db.castBarIconSize
|
||||||
|
or Gladdy.db.castBarHeight)/2 + Gladdy.db.padding/2)
|
||||||
|
end
|
||||||
|
if (Gladdy.db.cooldownYPos == "LEFT" and Gladdy.db.cooldown) then
|
||||||
|
verticalMargin = verticalMargin + (Gladdy.db.buffsBuffsIconSize/2 + Gladdy.db.padding/2)
|
||||||
|
end
|
||||||
|
--self.frames[unit].buffFrame:SetPoint("RIGHT", Gladdy.buttons[unit].healthBar, "LEFT", -horizontalMargin + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
||||||
|
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
||||||
|
horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) - 1 + Gladdy.db.padding
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
self.frames[unit].buffFrame:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin + Gladdy.db.buffsBuffsXOffset + offset, Gladdy.db.buffsBuffsYOffset)
|
||||||
|
else
|
||||||
|
self.frames[unit].buffFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.buffsBuffsXOffset + offset, Gladdy.db.buffsBuffsYOffset)
|
||||||
|
end
|
||||||
|
|
||||||
|
elseif pos == "RIGHT" then
|
||||||
|
horizontalMargin = horizontalMargin - 1 + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.trinketPos == "RIGHT" and Gladdy.db.trinketEnabled) then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.classIconPos == "RIGHT") then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
||||||
|
end
|
||||||
|
elseif (Gladdy.db.classIconPos == "RIGHT") then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.trinketPos == "RIGHT" and Gladdy.db.trinketEnabled) then
|
||||||
|
horizontalMargin = horizontalMargin + (Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor) + Gladdy.db.padding
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (Gladdy.db.drCooldownPos == "RIGHT" and Gladdy.db.drEnabled) then
|
||||||
|
verticalMargin = verticalMargin + Gladdy.db.drIconSize/2 + Gladdy.db.padding/2
|
||||||
|
end
|
||||||
|
if (Gladdy.db.castBarPos == "RIGHT") then
|
||||||
|
verticalMargin = verticalMargin -
|
||||||
|
(((Gladdy.db.castBarHeight < Gladdy.db.castBarIconSize) and Gladdy.db.castBarIconSize
|
||||||
|
or Gladdy.db.castBarHeight)/2 + Gladdy.db.padding/2)
|
||||||
|
end
|
||||||
|
if (Gladdy.db.cooldownYPos == "RIGHT" and Gladdy.db.cooldown) then
|
||||||
|
verticalMargin = verticalMargin + (Gladdy.db.buffsBuffsIconSize/2 + Gladdy.db.padding/2)
|
||||||
|
end
|
||||||
|
--self.frames[unit].buffFrame:SetPoint("LEFT", Gladdy.buttons[unit].healthBar, "RIGHT", horizontalMargin + Gladdy.db.buffsBuffsXOffset, Gladdy.db.buffsBuffsYOffset + verticalMargin)
|
||||||
|
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
||||||
|
horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) - 1 + Gladdy.db.padding
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
self.frames[unit].buffFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.buffsBuffsXOffset + offset, Gladdy.db.buffsBuffsYOffset)
|
||||||
|
else
|
||||||
|
self.frames[unit].buffFrame:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + Gladdy.db.buffsBuffsXOffset + offset, Gladdy.db.buffsBuffsYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -34,7 +34,6 @@ local Castbar = Gladdy:NewModule("Cast Bar", 70, {
|
|||||||
castBarBorderColor = { r = 0, g = 0, b = 0, a = 1 },
|
castBarBorderColor = { r = 0, g = 0, b = 0, a = 1 },
|
||||||
castBarFontColor = { r = 1, g = 1, b = 1, a = 1 },
|
castBarFontColor = { r = 1, g = 1, b = 1, a = 1 },
|
||||||
castBarGuesses = true,
|
castBarGuesses = true,
|
||||||
castBarPos = "LEFT",
|
|
||||||
castBarXOffset = 0,
|
castBarXOffset = 0,
|
||||||
castBarYOffset = 0,
|
castBarYOffset = 0,
|
||||||
castBarIconPos = "LEFT",
|
castBarIconPos = "LEFT",
|
||||||
@ -57,15 +56,17 @@ end
|
|||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
function Castbar:CreateFrame(unit)
|
function Castbar:CreateFrame(unit)
|
||||||
local castBar = CreateFrame("Frame", nil, Gladdy.buttons[unit], BackdropTemplateMixin and "BackdropTemplate")
|
local castBar = CreateFrame("Frame", nil, Gladdy.buttons[unit])
|
||||||
castBar:EnableMouse(false)
|
castBar:EnableMouse(false)
|
||||||
castBar:SetMovable(true)
|
castBar:SetMovable(true)
|
||||||
castBar.unit = unit
|
castBar.unit = unit
|
||||||
|
|
||||||
castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "castBarBorderStyle"),
|
castBar.backdrop = CreateFrame("Frame", nil, castBar, BackdropTemplateMixin and "BackdropTemplate")
|
||||||
|
castBar.backdrop:SetAllPoints(castBar)
|
||||||
|
castBar.backdrop:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "castBarBorderStyle"),
|
||||||
edgeSize = Gladdy.db.castBarBorderSize })
|
edgeSize = Gladdy.db.castBarBorderSize })
|
||||||
castBar:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a)
|
castBar.backdrop:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a)
|
||||||
castBar:SetFrameLevel(1)
|
castBar.backdrop:SetFrameLevel(1)
|
||||||
|
|
||||||
castBar.bar = CreateFrame("StatusBar", nil, castBar)
|
castBar.bar = CreateFrame("StatusBar", nil, castBar)
|
||||||
castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "castBarTexture"))
|
castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "castBarTexture"))
|
||||||
@ -130,9 +131,9 @@ function Castbar:UpdateFrame(unit)
|
|||||||
|
|
||||||
castBar:SetWidth(Gladdy.db.castBarWidth)
|
castBar:SetWidth(Gladdy.db.castBarWidth)
|
||||||
castBar:SetHeight(Gladdy.db.castBarHeight)
|
castBar:SetHeight(Gladdy.db.castBarHeight)
|
||||||
castBar:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "castBarBorderStyle"),
|
castBar.backdrop:SetBackdrop({ edgeFile = Gladdy:SMFetch("border", "castBarBorderStyle"),
|
||||||
edgeSize = Gladdy.db.castBarBorderSize })
|
edgeSize = Gladdy.db.castBarBorderSize })
|
||||||
castBar:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a)
|
castBar.backdrop:SetBackdropBorderColor(Gladdy.db.castBarBorderColor.r, Gladdy.db.castBarBorderColor.g, Gladdy.db.castBarBorderColor.b, Gladdy.db.castBarBorderColor.a)
|
||||||
|
|
||||||
castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "castBarTexture"))
|
castBar.bar:SetStatusBarTexture(Gladdy:SMFetch("statusbar", "castBarTexture"))
|
||||||
castBar.bar:ClearAllPoints()
|
castBar.bar:ClearAllPoints()
|
||||||
@ -165,24 +166,7 @@ function Castbar:UpdateFrame(unit)
|
|||||||
leftMargin = Gladdy.db.castBarIconSize + 1
|
leftMargin = Gladdy.db.castBarIconSize + 1
|
||||||
end
|
end
|
||||||
|
|
||||||
castBar:ClearAllPoints()
|
Gladdy:SetPosition(castBar, unit, "castBarXOffset", "castBarYOffset", Castbar:LegacySetPosition(castBar, unit, leftMargin, rightMargin), Castbar)
|
||||||
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.castBarPos == "LEFT") then
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
castBar:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin - leftMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
|
||||||
else
|
|
||||||
castBar:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding - leftMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (Gladdy.db.castBarPos == "RIGHT") then
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
castBar:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + rightMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
|
||||||
else
|
|
||||||
castBar:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + rightMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
castBar.spellText:SetFont(Gladdy:SMFetch("font", "castBarFont"), Gladdy.db.castBarFontSize)
|
castBar.spellText:SetFont(Gladdy:SMFetch("font", "castBarFont"), Gladdy.db.castBarFontSize)
|
||||||
castBar.spellText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a)
|
castBar.spellText:SetTextColor(Gladdy.db.castBarFontColor.r, Gladdy.db.castBarFontColor.g, Gladdy.db.castBarFontColor.b, Gladdy.db.castBarFontColor.a)
|
||||||
@ -410,7 +394,10 @@ function Castbar:CAST_START(unit, spell, icon, value, maxValue, test)
|
|||||||
castBar.spellText:SetText(spell)
|
castBar.spellText:SetText(spell)
|
||||||
castBar.timeText:SetText(maxValue)
|
castBar.timeText:SetText(maxValue)
|
||||||
castBar.bg:Show()
|
castBar.bg:Show()
|
||||||
castBar:Show()
|
castBar.backdrop:Show()
|
||||||
|
if Gladdy.db.castBarSparkEnabled then
|
||||||
|
castBar.spark:Show()
|
||||||
|
end
|
||||||
castBar:SetAlpha(1)
|
castBar:SetAlpha(1)
|
||||||
castBar.icon:Show()
|
castBar.icon:Show()
|
||||||
end
|
end
|
||||||
@ -430,7 +417,8 @@ function Castbar:CAST_STOP(unit, ...)
|
|||||||
castBar.timeText:SetText("")
|
castBar.timeText:SetText("")
|
||||||
castBar.bar:SetValue(0)
|
castBar.bar:SetValue(0)
|
||||||
castBar.bg:Hide()
|
castBar.bg:Hide()
|
||||||
castBar:Hide()
|
castBar.backdrop:Hide()
|
||||||
|
castBar.spark:Hide()
|
||||||
castBar.icon:Hide()
|
castBar.icon:Hide()
|
||||||
else
|
else
|
||||||
castBar.bar:SetStatusBarColor(...)
|
castBar.bar:SetStatusBarColor(...)
|
||||||
@ -771,15 +759,6 @@ function Castbar:GetOptions()
|
|||||||
name = L["Position"],
|
name = L["Position"],
|
||||||
order = 1,
|
order = 1,
|
||||||
},
|
},
|
||||||
castBarPos = option({
|
|
||||||
type = "select",
|
|
||||||
name = L["Castbar position"],
|
|
||||||
order = 2,
|
|
||||||
values = {
|
|
||||||
["LEFT"] = L["Left"],
|
|
||||||
["RIGHT"] = L["Right"],
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
castBarIconPos = option( {
|
castBarIconPos = option( {
|
||||||
type = "select",
|
type = "select",
|
||||||
name = L["Icon position"],
|
name = L["Icon position"],
|
||||||
@ -818,3 +797,34 @@ function Castbar:GetOptions()
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Castbar:LegacySetPosition(castBar, unit, leftMargin, rightMargin)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
castBar:ClearAllPoints()
|
||||||
|
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.castBarPos == "LEFT") then
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
castBar:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin - leftMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
||||||
|
else
|
||||||
|
castBar:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding - leftMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (Gladdy.db.castBarPos == "RIGHT") then
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
castBar:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + rightMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
||||||
|
else
|
||||||
|
castBar:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + rightMargin + Gladdy.db.castBarXOffset, Gladdy.db.castBarYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -4,13 +4,14 @@ local Gladdy = LibStub("Gladdy")
|
|||||||
local CreateFrame = CreateFrame
|
local CreateFrame = CreateFrame
|
||||||
local GetSpellInfo = GetSpellInfo
|
local GetSpellInfo = GetSpellInfo
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
local Classicon = Gladdy:NewModule("Class Icon", 80, {
|
local Classicon = Gladdy:NewModule("Class Icon", 81, {
|
||||||
classIconPos = "LEFT",
|
|
||||||
classIconSize = 60 + 20 + 1,
|
classIconSize = 60 + 20 + 1,
|
||||||
classIconWidthFactor = 0.9,
|
classIconWidthFactor = 0.9,
|
||||||
classIconBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
classIconBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
||||||
classIconBorderColor = { r = 0, g = 0, b = 0, a = 1 },
|
classIconBorderColor = { r = 0, g = 0, b = 0, a = 1 },
|
||||||
classIconSpecIcon = false,
|
classIconSpecIcon = false,
|
||||||
|
classIconXOffset = 0,
|
||||||
|
classIconYOffset = 0,
|
||||||
})
|
})
|
||||||
|
|
||||||
local classIconPath = "Interface\\Addons\\Gladdy\\Images\\Classes\\"
|
local classIconPath = "Interface\\Addons\\Gladdy\\Images\\Classes\\"
|
||||||
@ -99,13 +100,6 @@ function Classicon:CreateFrame(unit)
|
|||||||
classIcon:SetFrameStrata("MEDIUM")
|
classIcon:SetFrameStrata("MEDIUM")
|
||||||
classIcon:SetFrameLevel(2)
|
classIcon:SetFrameLevel(2)
|
||||||
|
|
||||||
classIcon:ClearAllPoints()
|
|
||||||
if (Gladdy.db.classIconPos == "RIGHT") then
|
|
||||||
classIcon:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", 2, 2)
|
|
||||||
else
|
|
||||||
classIcon:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", -2, 2)
|
|
||||||
end
|
|
||||||
|
|
||||||
Gladdy.buttons[unit].classIcon = classIcon
|
Gladdy.buttons[unit].classIcon = classIcon
|
||||||
self.frames[unit] = classIcon
|
self.frames[unit] = classIcon
|
||||||
end
|
end
|
||||||
@ -119,12 +113,15 @@ function Classicon:UpdateFrame(unit)
|
|||||||
classIcon:SetWidth(Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor)
|
classIcon:SetWidth(Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor)
|
||||||
classIcon:SetHeight(Gladdy.db.classIconSize)
|
classIcon:SetHeight(Gladdy.db.classIconSize)
|
||||||
|
|
||||||
classIcon:ClearAllPoints()
|
Gladdy:SetPosition(classIcon, unit, "classIconXOffset", "classIconYOffset", Classicon:LegacySetPosition(classIcon, unit), Classicon)
|
||||||
local margin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.classIconPos == "LEFT") then
|
if (unit == "arena1") then
|
||||||
classIcon:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", -margin, 0)
|
Gladdy:CreateMover(classIcon, "classIconXOffset", "classIconYOffset", L["Class Icon"],
|
||||||
else
|
{"TOPLEFT", "TOPLEFT"},
|
||||||
classIcon:SetPoint("TOPLEFT", Gladdy.buttons[unit], "TOPRIGHT", margin, 0)
|
Gladdy.db.classIconSize * Gladdy.db.classIconWidthFactor,
|
||||||
|
Gladdy.db.classIconSize,
|
||||||
|
0,
|
||||||
|
0)
|
||||||
end
|
end
|
||||||
|
|
||||||
classIcon.texture:ClearAllPoints()
|
classIcon.texture:ClearAllPoints()
|
||||||
@ -279,3 +276,22 @@ function Classicon:GetOptions()
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Classicon:LegacySetPosition(classIcon, unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
classIcon:ClearAllPoints()
|
||||||
|
local margin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.classIconPos == "LEFT") then
|
||||||
|
classIcon:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", -margin, 0)
|
||||||
|
else
|
||||||
|
classIcon:SetPoint("TOPLEFT", Gladdy.buttons[unit], "TOPRIGHT", margin, 0)
|
||||||
|
end
|
||||||
|
end
|
@ -1,7 +1,6 @@
|
|||||||
local select = select
|
local select = select
|
||||||
local UnitExists, UnitAffectingCombat, GetSpellInfo = UnitExists, UnitAffectingCombat, GetSpellInfo
|
local UnitExists, UnitAffectingCombat, GetSpellInfo = UnitExists, UnitAffectingCombat, GetSpellInfo
|
||||||
local CreateFrame = CreateFrame
|
local CreateFrame = CreateFrame
|
||||||
local ANCHORS = { ["LEFT"] = "RIGHT", ["RIGHT"] = "LEFT", ["BOTTOM"] = "TOP", ["TOP"] = "BOTTOM"}
|
|
||||||
|
|
||||||
local Gladdy = LibStub("Gladdy")
|
local Gladdy = LibStub("Gladdy")
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
@ -11,8 +10,6 @@ local CombatIndicator = Gladdy:NewModule("Combat Indicator", nil, {
|
|||||||
ciSize = 20,
|
ciSize = 20,
|
||||||
ciAlpha = 1,
|
ciAlpha = 1,
|
||||||
ciWidthFactor = 1,
|
ciWidthFactor = 1,
|
||||||
ciAnchor = "healthBar",
|
|
||||||
ciPos = "TOP",
|
|
||||||
ciXOffset = 0,
|
ciXOffset = 0,
|
||||||
ciYOffset = -31,
|
ciYOffset = -31,
|
||||||
ciBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
ciBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
||||||
@ -68,8 +65,7 @@ function CombatIndicator:UpdateFrame(unit)
|
|||||||
ciFrame.border:SetTexture(Gladdy.db.ciBorderStyle)
|
ciFrame.border:SetTexture(Gladdy.db.ciBorderStyle)
|
||||||
ciFrame.border:SetVertexColor(Gladdy.db.ciBorderColor.r, Gladdy.db.ciBorderColor.g, Gladdy.db.ciBorderColor.b, Gladdy.db.ciBorderColor.a)
|
ciFrame.border:SetVertexColor(Gladdy.db.ciBorderColor.r, Gladdy.db.ciBorderColor.g, Gladdy.db.ciBorderColor.b, Gladdy.db.ciBorderColor.a)
|
||||||
|
|
||||||
ciFrame:ClearAllPoints()
|
Gladdy:SetPosition(ciFrame, unit, "ciXOffset", "ciYOffset", CombatIndicator:LegacySetPosition(ciFrame, unit), CombatIndicator)
|
||||||
ciFrame:SetPoint(ANCHORS[Gladdy.db.ciPos], Gladdy.buttons[unit][Gladdy.db.ciAnchor], Gladdy.db.ciPos, Gladdy.db.ciXOffset, Gladdy.db.ciYOffset)
|
|
||||||
|
|
||||||
ciFrame:SetAlpha(Gladdy.db.ciAlpha)
|
ciFrame:SetAlpha(Gladdy.db.ciAlpha)
|
||||||
|
|
||||||
@ -177,30 +173,6 @@ function CombatIndicator:GetOptions()
|
|||||||
name = L["Position"],
|
name = L["Position"],
|
||||||
order = 4,
|
order = 4,
|
||||||
},
|
},
|
||||||
ciAnchor = Gladdy:option({
|
|
||||||
type = "select",
|
|
||||||
name = L["Anchor"],
|
|
||||||
desc = L["This changes the anchor of the ci icon"],
|
|
||||||
order = 20,
|
|
||||||
values = {
|
|
||||||
["trinket"] = L["Trinket"],
|
|
||||||
["classIcon"] = L["Class Icon"],
|
|
||||||
["healthBar"] = L["Health Bar"],
|
|
||||||
["powerBar"] = L["Power Bar"],
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
ciPos = Gladdy:option({
|
|
||||||
type = "select",
|
|
||||||
name = L["Position"],
|
|
||||||
desc = L["This changes position relative to its anchor of the ci icon"],
|
|
||||||
order = 21,
|
|
||||||
values = {
|
|
||||||
["LEFT"] = L["Left"],
|
|
||||||
["RIGHT"] = L["Right"],
|
|
||||||
["TOP"] = L["Top"],
|
|
||||||
["BOTTOM"] = L["Bottom"],
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
ciXOffset = Gladdy:option({
|
ciXOffset = Gladdy:option({
|
||||||
type = "range",
|
type = "range",
|
||||||
name = L["Horizontal offset"],
|
name = L["Horizontal offset"],
|
||||||
@ -250,3 +222,23 @@ function CombatIndicator:GetOptions()
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function CombatIndicator:LegacySetPosition(ciFrame, unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
-- LEGACY options
|
||||||
|
local ANCHORS = { ["LEFT"] = "RIGHT", ["RIGHT"] = "LEFT", ["BOTTOM"] = "TOP", ["TOP"] = "BOTTOM"}
|
||||||
|
local ciAnchor = Gladdy.db.ciAnchor or Gladdy.legacy.ciAnchor
|
||||||
|
local ciPos = Gladdy.db.ciPos
|
||||||
|
|
||||||
|
ciFrame:ClearAllPoints()
|
||||||
|
ciFrame:SetPoint(ANCHORS[ciPos], Gladdy.buttons[unit][ciAnchor], ciPos, Gladdy.db.ciXOffset, Gladdy.db.ciYOffset)
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -1,4 +1,4 @@
|
|||||||
local type, pairs, ceil, tonumber, mod, tostring, upper, select = type, pairs, ceil, tonumber, mod, tostring, string.upper, select
|
local type, pairs, ipairs, ceil, tonumber, mod, tostring, upper, select = type, pairs, ipairs, ceil, tonumber, mod, tostring, string.upper, select
|
||||||
local GetTime = GetTime
|
local GetTime = GetTime
|
||||||
local CreateFrame = CreateFrame
|
local CreateFrame = CreateFrame
|
||||||
local RACE_ICON_TCOORDS = {
|
local RACE_ICON_TCOORDS = {
|
||||||
@ -54,8 +54,8 @@ local Cooldowns = Gladdy:NewModule("Cooldowns", nil, {
|
|||||||
cooldownFontScale = 1,
|
cooldownFontScale = 1,
|
||||||
cooldownFontColor = { r = 1, g = 1, b = 0, a = 1 },
|
cooldownFontColor = { r = 1, g = 1, b = 0, a = 1 },
|
||||||
cooldown = true,
|
cooldown = true,
|
||||||
cooldownYPos = "TOP",
|
cooldownYGrowDirection = "UP",
|
||||||
cooldownXPos = "LEFT",
|
cooldownXGrowDirection = "RIGHT",
|
||||||
cooldownYOffset = 0,
|
cooldownYOffset = 0,
|
||||||
cooldownXOffset = 0,
|
cooldownXOffset = 0,
|
||||||
cooldownSize = 30,
|
cooldownSize = 30,
|
||||||
@ -66,7 +66,7 @@ local Cooldowns = Gladdy:NewModule("Cooldowns", nil, {
|
|||||||
cooldownBorderColor = { r = 1, g = 1, b = 1, a = 1 },
|
cooldownBorderColor = { r = 1, g = 1, b = 1, a = 1 },
|
||||||
cooldownDisableCircle = false,
|
cooldownDisableCircle = false,
|
||||||
cooldownCooldownAlpha = 1,
|
cooldownCooldownAlpha = 1,
|
||||||
cooldownCooldowns = getDefaultCooldown()
|
cooldownCooldowns = getDefaultCooldown(),
|
||||||
})
|
})
|
||||||
|
|
||||||
function Cooldowns:Initialize()
|
function Cooldowns:Initialize()
|
||||||
@ -134,42 +134,15 @@ function Cooldowns:UpdateFrame(unit)
|
|||||||
local button = Gladdy.buttons[unit]
|
local button = Gladdy.buttons[unit]
|
||||||
-- Cooldown frame
|
-- Cooldown frame
|
||||||
if (Gladdy.db.cooldown) then
|
if (Gladdy.db.cooldown) then
|
||||||
button.spellCooldownFrame:ClearAllPoints()
|
|
||||||
local powerBarHeight = Gladdy.db.powerBarEnabled and (Gladdy.db.powerBarHeight + 1) or 0
|
|
||||||
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize)
|
|
||||||
if Gladdy.db.cooldownYPos == "TOP" then
|
|
||||||
if Gladdy.db.cooldownXPos == "RIGHT" then
|
|
||||||
button.spellCooldownFrame:SetPoint("BOTTOMRIGHT", button.healthBar, "TOPRIGHT", Gladdy.db.cooldownXOffset, horizontalMargin + Gladdy.db.cooldownYOffset)
|
|
||||||
else
|
|
||||||
button.spellCooldownFrame:SetPoint("BOTTOMLEFT", button.healthBar, "TOPLEFT", Gladdy.db.cooldownXOffset, horizontalMargin + Gladdy.db.cooldownYOffset)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.cooldownYPos == "BOTTOM" then
|
|
||||||
if Gladdy.db.cooldownXPos == "RIGHT" then
|
|
||||||
button.spellCooldownFrame:SetPoint("TOPRIGHT", button.healthBar, "BOTTOMRIGHT", Gladdy.db.cooldownXOffset, -horizontalMargin + Gladdy.db.cooldownYOffset - powerBarHeight)
|
|
||||||
else
|
|
||||||
button.spellCooldownFrame:SetPoint("TOPLEFT", button.healthBar, "BOTTOMLEFT", Gladdy.db.cooldownXOffset, -horizontalMargin + Gladdy.db.cooldownYOffset - powerBarHeight)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.cooldownYPos == "LEFT" then
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
button.spellCooldownFrame:SetPoint("RIGHT", anchor, "LEFT", -(horizontalMargin + Gladdy.db.padding) + Gladdy.db.cooldownXOffset, Gladdy.db.cooldownYOffset)
|
|
||||||
else
|
|
||||||
button.spellCooldownFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.cooldownXOffset, Gladdy.db.cooldownYOffset)
|
|
||||||
end
|
|
||||||
elseif Gladdy.db.cooldownYPos == "RIGHT" then
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
button.spellCooldownFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.padding + Gladdy.db.cooldownXOffset, Gladdy.db.cooldownYOffset)
|
|
||||||
else
|
|
||||||
button.spellCooldownFrame:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + Gladdy.db.cooldownXOffset, Gladdy.db.cooldownYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
button.spellCooldownFrame:SetHeight(Gladdy.db.cooldownSize)
|
button.spellCooldownFrame:SetHeight(Gladdy.db.cooldownSize)
|
||||||
button.spellCooldownFrame:SetWidth(1)
|
button.spellCooldownFrame:SetWidth(1)
|
||||||
button.spellCooldownFrame:Show()
|
button.spellCooldownFrame:Show()
|
||||||
|
|
||||||
|
Gladdy:SetPosition(button.spellCooldownFrame, unit, "cooldownXOffset", "cooldownYOffset", Cooldowns:LegacySetPosition(button, unit), Cooldowns)
|
||||||
|
|
||||||
if (unit == "arena1") then
|
if (unit == "arena1") then
|
||||||
Gladdy:CreateMover(button.spellCooldownFrame, "cooldownXOffset", "cooldownYOffset", L["Cooldown"],
|
Gladdy:CreateMover(button.spellCooldownFrame,"cooldownXOffset", "cooldownYOffset", L["Cooldown"],
|
||||||
Gladdy.db.cooldownXPos == "RIGHT" and {"TOPRIGHT", "TOPRIGHT"} or {"TOPLEFT", "TOPLEFT"},
|
{"TOPLEFT", "TOPLEFT"},
|
||||||
Gladdy.db.cooldownSize * Gladdy.db.cooldownWidthFactor, Gladdy.db.cooldownSize)
|
Gladdy.db.cooldownSize * Gladdy.db.cooldownWidthFactor, Gladdy.db.cooldownSize)
|
||||||
end
|
end
|
||||||
-- Update each cooldown icon
|
-- Update each cooldown icon
|
||||||
@ -181,11 +154,11 @@ function Cooldowns:UpdateFrame(unit)
|
|||||||
icon.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE")
|
icon.cooldownFont:SetFont(Gladdy:SMFetch("font", "cooldownFont"), Gladdy.db.cooldownSize / 2 * Gladdy.db.cooldownFontScale, "OUTLINE")
|
||||||
icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a)
|
icon.cooldownFont:SetTextColor(Gladdy.db.cooldownFontColor.r, Gladdy.db.cooldownFontColor.g, Gladdy.db.cooldownFontColor.b, Gladdy.db.cooldownFontColor.a)
|
||||||
icon:ClearAllPoints()
|
icon:ClearAllPoints()
|
||||||
if (Gladdy.db.cooldownXPos == "RIGHT") then
|
if (Gladdy.db.cooldownXGrowDirection == "LEFT") then
|
||||||
if (j == 1) then
|
if (j == 1) then
|
||||||
icon:SetPoint("RIGHT", button.spellCooldownFrame, "RIGHT", 0, 0)
|
icon:SetPoint("LEFT", button.spellCooldownFrame, "LEFT", 0, 0)
|
||||||
elseif (mod(j-1,Gladdy.db.cooldownMaxIconsPerLine) == 0) then
|
elseif (mod(j-1,Gladdy.db.cooldownMaxIconsPerLine) == 0) then
|
||||||
if (Gladdy.db.cooldownYPos == "BOTTOM" or Gladdy.db.cooldownYPos == "LEFT" or Gladdy.db.cooldownYPos == "RIGHT") then
|
if (Gladdy.db.cooldownYGrowDirection == "DOWN") then
|
||||||
icon:SetPoint("TOP", button.spellCooldownFrame["icon" .. o], "BOTTOM", 0, -Gladdy.db.cooldownIconPadding)
|
icon:SetPoint("TOP", button.spellCooldownFrame["icon" .. o], "BOTTOM", 0, -Gladdy.db.cooldownIconPadding)
|
||||||
else
|
else
|
||||||
icon:SetPoint("BOTTOM", button.spellCooldownFrame["icon" .. o], "TOP", 0, Gladdy.db.cooldownIconPadding)
|
icon:SetPoint("BOTTOM", button.spellCooldownFrame["icon" .. o], "TOP", 0, Gladdy.db.cooldownIconPadding)
|
||||||
@ -195,11 +168,11 @@ function Cooldowns:UpdateFrame(unit)
|
|||||||
icon:SetPoint("RIGHT", button.spellCooldownFrame["icon" .. j - 1], "LEFT", -Gladdy.db.cooldownIconPadding, 0)
|
icon:SetPoint("RIGHT", button.spellCooldownFrame["icon" .. j - 1], "LEFT", -Gladdy.db.cooldownIconPadding, 0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
if (Gladdy.db.cooldownXPos == "LEFT") then
|
if (Gladdy.db.cooldownXGrowDirection == "RIGHT") then
|
||||||
if (j == 1) then
|
if (j == 1) then
|
||||||
icon:SetPoint("LEFT", button.spellCooldownFrame, "LEFT", 0, 0)
|
icon:SetPoint("LEFT", button.spellCooldownFrame, "LEFT", 0, 0)
|
||||||
elseif (mod(j-1,Gladdy.db.cooldownMaxIconsPerLine) == 0) then
|
elseif (mod(j-1,Gladdy.db.cooldownMaxIconsPerLine) == 0) then
|
||||||
if (Gladdy.db.cooldownYPos == "BOTTOM" or Gladdy.db.cooldownYPos == "LEFT" or Gladdy.db.cooldownYPos == "RIGHT") then
|
if (Gladdy.db.cooldownYGrowDirection == "DOWN") then
|
||||||
icon:SetPoint("TOP", button.spellCooldownFrame["icon" .. o], "BOTTOM", 0, -Gladdy.db.cooldownIconPadding)
|
icon:SetPoint("TOP", button.spellCooldownFrame["icon" .. o], "BOTTOM", 0, -Gladdy.db.cooldownIconPadding)
|
||||||
else
|
else
|
||||||
icon:SetPoint("BOTTOM", button.spellCooldownFrame["icon" .. o], "TOP", 0, Gladdy.db.cooldownIconPadding)
|
icon:SetPoint("BOTTOM", button.spellCooldownFrame["icon" .. o], "TOP", 0, Gladdy.db.cooldownIconPadding)
|
||||||
@ -561,31 +534,6 @@ function Cooldowns:CooldownUsed(unit, unitClass, spellId, expirationTimeInSecond
|
|||||||
end ]]
|
end ]]
|
||||||
end
|
end
|
||||||
|
|
||||||
local function option(params)
|
|
||||||
local defaults = {
|
|
||||||
get = function(info)
|
|
||||||
local key = info.arg or info[#info]
|
|
||||||
return Gladdy.dbi.profile[key]
|
|
||||||
end,
|
|
||||||
set = function(info, value)
|
|
||||||
local key = info.arg or info[#info]
|
|
||||||
Gladdy.dbi.profile[key] = value
|
|
||||||
if Gladdy.db.cooldownYPos == "LEFT" then
|
|
||||||
Gladdy.db.cooldownXPos = "RIGHT"
|
|
||||||
elseif Gladdy.db.cooldownYPos == "RIGHT" then
|
|
||||||
Gladdy.db.cooldownXPos = "LEFT"
|
|
||||||
end
|
|
||||||
Gladdy:UpdateFrame()
|
|
||||||
end,
|
|
||||||
}
|
|
||||||
|
|
||||||
for k, v in pairs(params) do
|
|
||||||
defaults[k] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
return defaults
|
|
||||||
end
|
|
||||||
|
|
||||||
function Cooldowns:GetOptions()
|
function Cooldowns:GetOptions()
|
||||||
return {
|
return {
|
||||||
headerCooldown = {
|
headerCooldown = {
|
||||||
@ -644,15 +592,6 @@ function Cooldowns:GetOptions()
|
|||||||
step = 0.1,
|
step = 0.1,
|
||||||
width = "full",
|
width = "full",
|
||||||
}),
|
}),
|
||||||
cooldownMaxIconsPerLine = Gladdy:option({
|
|
||||||
type = "range",
|
|
||||||
name = L["Max Icons per row"],
|
|
||||||
order = 7,
|
|
||||||
min = 3,
|
|
||||||
max = 14,
|
|
||||||
step = 1,
|
|
||||||
width = "full",
|
|
||||||
}),
|
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
cooldown = {
|
cooldown = {
|
||||||
@ -745,37 +684,44 @@ function Cooldowns:GetOptions()
|
|||||||
name = L["Position"],
|
name = L["Position"],
|
||||||
order = 2,
|
order = 2,
|
||||||
},
|
},
|
||||||
cooldownYPos = option({
|
cooldownYGrowDirection = Gladdy:option({
|
||||||
type = "select",
|
type = "select",
|
||||||
name = L["Anchor"],
|
name = L["Vertical Grow Direction"],
|
||||||
desc = L["Anchor of the cooldown icons"],
|
desc = L["Vertical Grow Direction of the cooldown icons"],
|
||||||
order = 3,
|
order = 3,
|
||||||
values = {
|
values = {
|
||||||
["TOP"] = L["Top"],
|
["UP"] = L["Up"],
|
||||||
["BOTTOM"] = L["Bottom"],
|
["DOWN"] = L["Down"],
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
cooldownXGrowDirection = Gladdy:option({
|
||||||
|
type = "select",
|
||||||
|
name = L["Horizontal Grow Direction"],
|
||||||
|
desc = L["Horizontal Grow Direction of the cooldown icons"],
|
||||||
|
order = 4,
|
||||||
|
values = {
|
||||||
["LEFT"] = L["Left"],
|
["LEFT"] = L["Left"],
|
||||||
["RIGHT"] = L["Right"],
|
["RIGHT"] = L["Right"],
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
cooldownXPos = Gladdy:option({
|
cooldownMaxIconsPerLine = Gladdy:option({
|
||||||
type = "select",
|
type = "range",
|
||||||
name = L["Grow Direction"],
|
name = L["Max Icons per row"],
|
||||||
desc = L["Grow Direction of the cooldown icons"],
|
order = 5,
|
||||||
order = 4,
|
min = 3,
|
||||||
values = {
|
max = 14,
|
||||||
["LEFT"] = L["Right"],
|
step = 1,
|
||||||
["RIGHT"] = L["Left"],
|
width = "full",
|
||||||
},
|
|
||||||
}),
|
}),
|
||||||
headerOffset = {
|
headerOffset = {
|
||||||
type = "header",
|
type = "header",
|
||||||
name = L["Offset"],
|
name = L["Offset"],
|
||||||
order = 5,
|
order = 10,
|
||||||
},
|
},
|
||||||
cooldownXOffset = Gladdy:option({
|
cooldownXOffset = Gladdy:option({
|
||||||
type = "range",
|
type = "range",
|
||||||
name = L["Horizontal offset"],
|
name = L["Horizontal offset"],
|
||||||
order = 6,
|
order = 11,
|
||||||
min = -400,
|
min = -400,
|
||||||
max = 400,
|
max = 400,
|
||||||
step = 0.1,
|
step = 0.1,
|
||||||
@ -784,7 +730,7 @@ function Cooldowns:GetOptions()
|
|||||||
cooldownYOffset = Gladdy:option({
|
cooldownYOffset = Gladdy:option({
|
||||||
type = "range",
|
type = "range",
|
||||||
name = L["Vertical offset"],
|
name = L["Vertical offset"],
|
||||||
order = 7,
|
order = 12,
|
||||||
min = -400,
|
min = -400,
|
||||||
max = 400,
|
max = 400,
|
||||||
step = 0.1,
|
step = 0.1,
|
||||||
@ -914,3 +860,66 @@ function Gladdy:UpdateTestCooldowns(i)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Cooldowns:LegacySetPosition(button, unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
button.spellCooldownFrame:ClearAllPoints()
|
||||||
|
local powerBarHeight = Gladdy.db.powerBarEnabled and (Gladdy.db.powerBarHeight + 1) or 0
|
||||||
|
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize)
|
||||||
|
|
||||||
|
local offset = 0
|
||||||
|
if (Gladdy.db.cooldownXPos == "RIGHT") then
|
||||||
|
offset = -(Gladdy.db.cooldownSize * Gladdy.db.cooldownWidthFactor)
|
||||||
|
end
|
||||||
|
|
||||||
|
if Gladdy.db.cooldownYPos == "TOP" then
|
||||||
|
Gladdy.db.cooldownYGrowDirection = "UP"
|
||||||
|
if Gladdy.db.cooldownXPos == "RIGHT" then
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "LEFT"
|
||||||
|
button.spellCooldownFrame:SetPoint("BOTTOMRIGHT", button.healthBar, "TOPRIGHT", Gladdy.db.cooldownXOffset + offset, horizontalMargin + Gladdy.db.cooldownYOffset)
|
||||||
|
else
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "RIGHT"
|
||||||
|
button.spellCooldownFrame:SetPoint("BOTTOMLEFT", button.healthBar, "TOPLEFT", Gladdy.db.cooldownXOffset + offset, horizontalMargin + Gladdy.db.cooldownYOffset)
|
||||||
|
end
|
||||||
|
elseif Gladdy.db.cooldownYPos == "BOTTOM" then
|
||||||
|
Gladdy.db.cooldownYGrowDirection = "DOWN"
|
||||||
|
if Gladdy.db.cooldownXPos == "RIGHT" then
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "LEFT"
|
||||||
|
button.spellCooldownFrame:SetPoint("TOPRIGHT", button.healthBar, "BOTTOMRIGHT", Gladdy.db.cooldownXOffset + offset, -horizontalMargin + Gladdy.db.cooldownYOffset - powerBarHeight)
|
||||||
|
else
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "RIGHT"
|
||||||
|
button.spellCooldownFrame:SetPoint("TOPLEFT", button.healthBar, "BOTTOMLEFT", Gladdy.db.cooldownXOffset + offset, -horizontalMargin + Gladdy.db.cooldownYOffset - powerBarHeight)
|
||||||
|
end
|
||||||
|
elseif Gladdy.db.cooldownYPos == "LEFT" then
|
||||||
|
Gladdy.db.cooldownYGrowDirection = "DOWN"
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "LEFT"
|
||||||
|
button.spellCooldownFrame:SetPoint("RIGHT", anchor, "LEFT", -(horizontalMargin + Gladdy.db.padding) + Gladdy.db.cooldownXOffset + offset, Gladdy.db.cooldownYOffset)
|
||||||
|
else
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "LEFT"
|
||||||
|
button.spellCooldownFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.cooldownXOffset + offset, Gladdy.db.cooldownYOffset)
|
||||||
|
end
|
||||||
|
elseif Gladdy.db.cooldownYPos == "RIGHT" then
|
||||||
|
Gladdy.db.cooldownYGrowDirection = "DOWN"
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "RIGHT"
|
||||||
|
button.spellCooldownFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.padding + Gladdy.db.cooldownXOffset + offset, Gladdy.db.cooldownYOffset)
|
||||||
|
else
|
||||||
|
Gladdy.db.cooldownXGrowDirection = "RIGHT"
|
||||||
|
button.spellCooldownFrame:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + Gladdy.db.cooldownXOffset + offset, Gladdy.db.cooldownYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
LibStub("AceConfigRegistry-3.0"):NotifyChange("Gladdy")
|
||||||
|
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -30,7 +30,7 @@ local Diminishings = Gladdy:NewModule("Diminishings", nil, {
|
|||||||
drFont = "DorisPP",
|
drFont = "DorisPP",
|
||||||
drFontColor = { r = 1, g = 1, b = 0, a = 1 },
|
drFontColor = { r = 1, g = 1, b = 0, a = 1 },
|
||||||
drFontScale = 1,
|
drFontScale = 1,
|
||||||
drCooldownPos = "RIGHT",
|
drGrowDirection = "RIGHT",
|
||||||
drXOffset = 0,
|
drXOffset = 0,
|
||||||
drYOffset = 0,
|
drYOffset = 0,
|
||||||
drIconSize = 36,
|
drIconSize = 36,
|
||||||
@ -49,7 +49,7 @@ local Diminishings = Gladdy:NewModule("Diminishings", nil, {
|
|||||||
drLevelTextFontScale = 1,
|
drLevelTextFontScale = 1,
|
||||||
drWidthFactor = 1,
|
drWidthFactor = 1,
|
||||||
drCategories = defaultCategories(),
|
drCategories = defaultCategories(),
|
||||||
drDuration = 18
|
drDuration = 18,
|
||||||
})
|
})
|
||||||
|
|
||||||
local function getDiminishColor(dr)
|
local function getDiminishColor(dr)
|
||||||
@ -179,34 +179,18 @@ function Diminishings:UpdateFrame(unit)
|
|||||||
drFrame:Show()
|
drFrame:Show()
|
||||||
end
|
end
|
||||||
|
|
||||||
drFrame:ClearAllPoints()
|
drFrame:SetWidth(Gladdy.db.drIconSize)
|
||||||
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.drCooldownPos == "LEFT") then
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
drFrame:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
|
||||||
else
|
|
||||||
drFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
if (Gladdy.db.drCooldownPos == "RIGHT") then
|
|
||||||
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
|
||||||
if anchor == Gladdy.buttons[unit].healthBar then
|
|
||||||
drFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
|
||||||
else
|
|
||||||
drFrame:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
drFrame:SetWidth(Gladdy.db.drIconSize * 16)
|
|
||||||
drFrame:SetHeight(Gladdy.db.drIconSize)
|
drFrame:SetHeight(Gladdy.db.drIconSize)
|
||||||
|
|
||||||
|
Gladdy:SetPosition(drFrame, unit, "drXOffset", "drYOffset", Diminishings:LegacySetPosition(drFrame, unit), Diminishings)
|
||||||
|
|
||||||
if (unit == "arena1") then
|
if (unit == "arena1") then
|
||||||
Gladdy:CreateMover(drFrame, "drXOffset", "drYOffset", L["Diminishings"],
|
Gladdy:CreateMover(drFrame,"drXOffset", "drYOffset", L["Diminishings"],
|
||||||
Gladdy.db.drCooldownPos == "RIGHT" and {"TOPLEFT", "TOPLEFT"} or {"TOPRIGHT", "TOPRIGHT"}, --point
|
Gladdy.db.drGrowDirection == "RIGHT" and {"TOPLEFT", "TOPLEFT"} or {"TOPRIGHT", "TOPRIGHT"},
|
||||||
Gladdy.db.drIconSize * Gladdy.db.drWidthFactor, -- width
|
Gladdy.db.drIconSize * Gladdy.db.drWidthFactor,
|
||||||
Gladdy.db.drIconSize,
|
Gladdy.db.drIconSize,
|
||||||
0, --xoffset
|
0,
|
||||||
0) --yoffset
|
0)
|
||||||
end
|
end
|
||||||
|
|
||||||
for i = 1, 16 do
|
for i = 1, 16 do
|
||||||
@ -245,15 +229,15 @@ function Diminishings:UpdateFrame(unit)
|
|||||||
end
|
end
|
||||||
|
|
||||||
icon:ClearAllPoints()
|
icon:ClearAllPoints()
|
||||||
if (Gladdy.db.drCooldownPos == "LEFT") then
|
if (Gladdy.db.drGrowDirection == "LEFT") then
|
||||||
if (i == 1) then
|
if (i == 1) then
|
||||||
icon:SetPoint("TOPRIGHT")
|
icon:SetPoint("TOPRIGHT", drFrame, "TOPRIGHT")
|
||||||
else
|
else
|
||||||
icon:SetPoint("RIGHT", drFrame["icon" .. (i - 1)], "LEFT", -Gladdy.db.drIconPadding, 0)
|
icon:SetPoint("RIGHT", drFrame["icon" .. (i - 1)], "LEFT", -Gladdy.db.drIconPadding, 0)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if (i == 1) then
|
if (i == 1) then
|
||||||
icon:SetPoint("TOPLEFT")
|
icon:SetPoint("TOPLEFT", drFrame, "TOPLEFT")
|
||||||
else
|
else
|
||||||
icon:SetPoint("LEFT", drFrame["icon" .. (i - 1)], "RIGHT", Gladdy.db.drIconPadding, 0)
|
icon:SetPoint("LEFT", drFrame["icon" .. (i - 1)], "RIGHT", Gladdy.db.drIconPadding, 0)
|
||||||
end
|
end
|
||||||
@ -383,13 +367,15 @@ function Diminishings:Positionate(unit)
|
|||||||
|
|
||||||
if (icon.active) then
|
if (icon.active) then
|
||||||
icon:ClearAllPoints()
|
icon:ClearAllPoints()
|
||||||
if (Gladdy.db.drCooldownPos == "LEFT") then
|
if (Gladdy.db.newLayout and Gladdy.db.drGrowDirection == "LEFT"
|
||||||
|
or not Gladdy.db.newLayout and Gladdy.db.drCooldownPos == "LEFT") then
|
||||||
if (not lastIcon) then
|
if (not lastIcon) then
|
||||||
icon:SetPoint("TOPRIGHT")
|
icon:SetPoint("TOPRIGHT")
|
||||||
else
|
else
|
||||||
icon:SetPoint("RIGHT", lastIcon, "LEFT", -Gladdy.db.drIconPadding, 0)
|
icon:SetPoint("RIGHT", lastIcon, "LEFT", -Gladdy.db.drIconPadding, 0)
|
||||||
end
|
end
|
||||||
else
|
elseif (Gladdy.db.newLayout and Gladdy.db.drGrowDirection == "RIGHT"
|
||||||
|
or not Gladdy.db.newLayout and Gladdy.db.drCooldownPos == "RIGHT") then
|
||||||
if (not lastIcon) then
|
if (not lastIcon) then
|
||||||
icon:SetPoint("TOPLEFT")
|
icon:SetPoint("TOPLEFT")
|
||||||
else
|
else
|
||||||
@ -562,21 +548,16 @@ function Diminishings:GetOptions()
|
|||||||
name = L["Position"],
|
name = L["Position"],
|
||||||
order = 20,
|
order = 20,
|
||||||
},
|
},
|
||||||
drCooldownPos = Gladdy:option({
|
drGrowDirection = Gladdy:option({
|
||||||
type = "select",
|
type = "select",
|
||||||
name = L["DR Cooldown position"],
|
name = L["DR Grow Direction"],
|
||||||
desc = L["Position of the cooldown icons"],
|
desc = L["Grow Direction of the dr icons"],
|
||||||
order = 21,
|
order = 21,
|
||||||
values = {
|
values = {
|
||||||
["LEFT"] = L["Left"],
|
["LEFT"] = L["Left"],
|
||||||
["RIGHT"] = L["Right"],
|
["RIGHT"] = L["Right"],
|
||||||
},
|
},
|
||||||
}),
|
}),
|
||||||
headerOffset = {
|
|
||||||
type = "header",
|
|
||||||
name = L["Offset"],
|
|
||||||
order = 22,
|
|
||||||
},
|
|
||||||
drXOffset = Gladdy:option({
|
drXOffset = Gladdy:option({
|
||||||
type = "range",
|
type = "range",
|
||||||
name = L["Horizontal offset"],
|
name = L["Horizontal offset"],
|
||||||
@ -791,3 +772,36 @@ function Diminishings:GetDRIcons(category)
|
|||||||
end
|
end
|
||||||
return icons
|
return icons
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Diminishings:LegacySetPosition(drFrame, unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
drFrame:ClearAllPoints()
|
||||||
|
local horizontalMargin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.drCooldownPos == "LEFT") then
|
||||||
|
Gladdy.db.drGrowDirection = "LEFT"
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "LEFT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
drFrame:SetPoint("RIGHT", anchor, "LEFT", -horizontalMargin + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
||||||
|
else
|
||||||
|
drFrame:SetPoint("RIGHT", anchor, "LEFT", -Gladdy.db.padding + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
if (Gladdy.db.drCooldownPos == "RIGHT") then
|
||||||
|
Gladdy.db.drGrowDirection = "RIGHT"
|
||||||
|
local anchor = Gladdy:GetAnchor(unit, "RIGHT")
|
||||||
|
if anchor == Gladdy.buttons[unit].healthBar then
|
||||||
|
drFrame:SetPoint("LEFT", anchor, "RIGHT", horizontalMargin + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
||||||
|
else
|
||||||
|
drFrame:SetPoint("LEFT", anchor, "RIGHT", Gladdy.db.padding + Gladdy.db.drXOffset, Gladdy.db.drYOffset)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -95,7 +95,21 @@ local deletedOptions = { -- backwards compatibility
|
|||||||
impconc = true,
|
impconc = true,
|
||||||
dragonsbreath = true,
|
dragonsbreath = true,
|
||||||
freezetrap = true,
|
freezetrap = true,
|
||||||
repentance = true
|
--deleted db options
|
||||||
|
castBarPos = true,
|
||||||
|
buffsCooldownPos = true,
|
||||||
|
buffsBuffsCooldownPos = true,
|
||||||
|
classIconPos = true,
|
||||||
|
ciAnchor = true,
|
||||||
|
ciPos = true,
|
||||||
|
cooldownYPos = true,
|
||||||
|
cooldownXPos = true,
|
||||||
|
drCooldownPos = true,
|
||||||
|
racialAnchor = true,
|
||||||
|
racialPos = true,
|
||||||
|
trinketPos = true,
|
||||||
|
padding = true,
|
||||||
|
growUp = true,
|
||||||
}
|
}
|
||||||
|
|
||||||
local function checkIsDeletedOption(k, str, msg, errorFound, errorMsg)
|
local function checkIsDeletedOption(k, str, msg, errorFound, errorMsg)
|
||||||
@ -208,6 +222,9 @@ end
|
|||||||
function ExportImport:ApplyImport(t, table, str)
|
function ExportImport:ApplyImport(t, table, str)
|
||||||
if str == nil then
|
if str == nil then
|
||||||
str = "Gladdy.db"
|
str = "Gladdy.db"
|
||||||
|
if (not t.newLayout) then
|
||||||
|
table.newLayout = false
|
||||||
|
end
|
||||||
end
|
end
|
||||||
for k,v in pairs(t) do
|
for k,v in pairs(t) do
|
||||||
if type(v) == "table" then
|
if type(v) == "table" then
|
||||||
|
@ -253,10 +253,13 @@ function Pets:UpdateFrame(unitId)
|
|||||||
|
|
||||||
self.frames[unit]:SetWidth(Gladdy.db.petWidth)
|
self.frames[unit]:SetWidth(Gladdy.db.petWidth)
|
||||||
self.frames[unit]:SetHeight(Gladdy.db.petHeight)
|
self.frames[unit]:SetHeight(Gladdy.db.petHeight)
|
||||||
self.frames[unit]:SetPoint("LEFT", Gladdy.buttons[unitId].healthBar, "RIGHT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
|
||||||
|
Gladdy:SetPosition(self.frames[unit], unitId, "petXOffset", "petYOffset", Pets:LegacySetPosition(unit, unitId), Pets)
|
||||||
|
|
||||||
if (Gladdy.db.petGroup) then
|
if (Gladdy.db.petGroup) then
|
||||||
if (unit == "arenapet1") then
|
if (unit == "arenapet1") then
|
||||||
self.frames[unit]:SetPoint("LEFT", Gladdy.buttons[unitId].healthBar, "RIGHT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
self.frames[unit]:ClearAllPoints()
|
||||||
|
self.frames[unit]:SetPoint("TOPLEFT", Gladdy.buttons[unitId].healthBar, "TOPLEFT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
||||||
else
|
else
|
||||||
local previousPet = "arenapet" .. string_gsub(unit, "arenapet", "") - 1
|
local previousPet = "arenapet" .. string_gsub(unit, "arenapet", "") - 1
|
||||||
self.frames[unit]:ClearAllPoints()
|
self.frames[unit]:ClearAllPoints()
|
||||||
@ -264,7 +267,7 @@ function Pets:UpdateFrame(unitId)
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
self.frames[unit]:ClearAllPoints()
|
self.frames[unit]:ClearAllPoints()
|
||||||
self.frames[unit]:SetPoint("LEFT", Gladdy.buttons[unitId].healthBar, "RIGHT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
self.frames[unit]:SetPoint("TOPLEFT", Gladdy.buttons[unitId].healthBar, "TOPLEFT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
||||||
end
|
end
|
||||||
|
|
||||||
healthBar.portrait:SetHeight(Gladdy.db.petHeight)
|
healthBar.portrait:SetHeight(Gladdy.db.petHeight)
|
||||||
@ -588,3 +591,30 @@ function Pets:GetOptions()
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Pets:LegacySetPosition(unit, unitId)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
self.frames[unit]:ClearAllPoints()
|
||||||
|
self.frames[unit]:SetPoint("LEFT", Gladdy.buttons[unitId].healthBar, "RIGHT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
||||||
|
if (Gladdy.db.petGroup) then
|
||||||
|
if (unit == "arenapet1") then
|
||||||
|
self.frames[unit]:SetPoint("LEFT", Gladdy.buttons[unitId].healthBar, "RIGHT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
||||||
|
else
|
||||||
|
local previousPet = "arenapet" .. string_gsub(unit, "arenapet", "") - 1
|
||||||
|
self.frames[unit]:ClearAllPoints()
|
||||||
|
self.frames[unit]:SetPoint("TOPLEFT", self.frames[previousPet], "BOTTOMLEFT", 0, - Gladdy.db.petMargin)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
self.frames[unit]:ClearAllPoints()
|
||||||
|
self.frames[unit]:SetPoint("LEFT", Gladdy.buttons[unitId].healthBar, "RIGHT", Gladdy.db.petXOffset, Gladdy.db.petYOffset)
|
||||||
|
end
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -5,14 +5,12 @@ local GetTime = GetTime
|
|||||||
|
|
||||||
local Gladdy = LibStub("Gladdy")
|
local Gladdy = LibStub("Gladdy")
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
local Racial = Gladdy:NewModule("Racial", nil, {
|
local Racial = Gladdy:NewModule("Racial", 79, {
|
||||||
racialFont = "DorisPP",
|
racialFont = "DorisPP",
|
||||||
racialFontScale = 1,
|
racialFontScale = 1,
|
||||||
racialEnabled = true,
|
racialEnabled = true,
|
||||||
racialSize = 60 + 20 + 1,
|
racialSize = 60 + 20 + 1,
|
||||||
racialWidthFactor = 0.9,
|
racialWidthFactor = 0.9,
|
||||||
racialAnchor = "trinket",
|
|
||||||
racialPos = "RIGHT",
|
|
||||||
racialXOffset = 0,
|
racialXOffset = 0,
|
||||||
racialYOffset = 0,
|
racialYOffset = 0,
|
||||||
racialBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
racialBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
||||||
@ -22,7 +20,6 @@ local Racial = Gladdy:NewModule("Racial", nil, {
|
|||||||
racialCooldownNumberAlpha = 1,
|
racialCooldownNumberAlpha = 1,
|
||||||
})
|
})
|
||||||
|
|
||||||
local ANCHORS = { ["LEFT"] = "RIGHT", ["RIGHT"] = "LEFT", ["BOTTOM"] = "TOP", ["TOP"] = "BOTTOM"}
|
|
||||||
|
|
||||||
function Racial:Initialize()
|
function Racial:Initialize()
|
||||||
self.frames = {}
|
self.frames = {}
|
||||||
@ -121,16 +118,15 @@ function Racial:UpdateFrame(unit)
|
|||||||
racial.texture.overlay:SetTexture(Gladdy.db.racialBorderStyle)
|
racial.texture.overlay:SetTexture(Gladdy.db.racialBorderStyle)
|
||||||
racial.texture.overlay:SetVertexColor(Gladdy.db.racialBorderColor.r, Gladdy.db.racialBorderColor.g, Gladdy.db.racialBorderColor.b, Gladdy.db.racialBorderColor.a)
|
racial.texture.overlay:SetVertexColor(Gladdy.db.racialBorderColor.r, Gladdy.db.racialBorderColor.g, Gladdy.db.racialBorderColor.b, Gladdy.db.racialBorderColor.a)
|
||||||
|
|
||||||
racial:ClearAllPoints()
|
Gladdy:SetPosition(racial, unit, "racialXOffset", "racialYOffset", Racial:LegacySetPosition(racial, unit), Racial)
|
||||||
local parent = Gladdy.buttons[unit][Gladdy.db.racialAnchor]
|
|
||||||
if (Gladdy.db.racialPos == "RIGHT") then
|
if (unit == "arena1") then
|
||||||
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.padding + Gladdy.db.racialXOffset, Gladdy.db.racialYOffset)
|
Gladdy:CreateMover(racial,"racialXOffset", "racialYOffset", L["Racial"],
|
||||||
elseif (Gladdy.db.racialPos == "LEFT") then
|
{"TOPLEFT", "TOPLEFT"},
|
||||||
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, -Gladdy.db.padding + Gladdy.db.racialXOffset, Gladdy.db.racialYOffset)
|
Gladdy.db.racialSize * Gladdy.db.racialWidthFactor,
|
||||||
elseif (Gladdy.db.racialPos == "TOP") then
|
Gladdy.db.racialSize,
|
||||||
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.racialXOffset, Gladdy.db.padding + Gladdy.db.racialYOffset)
|
0,
|
||||||
elseif (Gladdy.db.racialPos == "BOTTOM") then
|
0)
|
||||||
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.racialXOffset, -Gladdy.db.padding + Gladdy.db.racialYOffset)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if (Gladdy.db.racialEnabled == false) then
|
if (Gladdy.db.racialEnabled == false) then
|
||||||
@ -395,3 +391,29 @@ function Racial:GetOptions()
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Racial:LegacySetPosition(racial, unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
|
||||||
|
local ANCHORS = { ["LEFT"] = "RIGHT", ["RIGHT"] = "LEFT", ["BOTTOM"] = "TOP", ["TOP"] = "BOTTOM"}
|
||||||
|
racial:ClearAllPoints()
|
||||||
|
local parent = Gladdy.buttons[unit][Gladdy.db.racialAnchor]
|
||||||
|
if (Gladdy.db.racialPos == "RIGHT") then
|
||||||
|
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.padding + Gladdy.db.racialXOffset, Gladdy.db.racialYOffset)
|
||||||
|
elseif (Gladdy.db.racialPos == "LEFT") then
|
||||||
|
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, -Gladdy.db.padding + Gladdy.db.racialXOffset, Gladdy.db.racialYOffset)
|
||||||
|
elseif (Gladdy.db.racialPos == "TOP") then
|
||||||
|
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.racialXOffset, Gladdy.db.padding + Gladdy.db.racialYOffset)
|
||||||
|
elseif (Gladdy.db.racialPos == "BOTTOM") then
|
||||||
|
racial:SetPoint(ANCHORS[Gladdy.db.racialPos], parent, Gladdy.db.racialPos, Gladdy.db.racialXOffset, -Gladdy.db.padding + Gladdy.db.racialYOffset)
|
||||||
|
end
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
@ -6,18 +6,19 @@ local GetTime = GetTime
|
|||||||
|
|
||||||
local Gladdy = LibStub("Gladdy")
|
local Gladdy = LibStub("Gladdy")
|
||||||
local L = Gladdy.L
|
local L = Gladdy.L
|
||||||
local Trinket = Gladdy:NewModule("Trinket", nil, {
|
local Trinket = Gladdy:NewModule("Trinket", 80, {
|
||||||
trinketFont = "DorisPP",
|
trinketFont = "DorisPP",
|
||||||
trinketFontScale = 1,
|
trinketFontScale = 1,
|
||||||
trinketEnabled = true,
|
trinketEnabled = true,
|
||||||
trinketSize = 60 + 20 + 1,
|
trinketSize = 60 + 20 + 1,
|
||||||
trinketWidthFactor = 0.9,
|
trinketWidthFactor = 0.9,
|
||||||
trinketPos = "RIGHT",
|
|
||||||
trinketBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
trinketBorderStyle = "Interface\\AddOns\\Gladdy\\Images\\Border_rounded_blp",
|
||||||
trinketBorderColor = { r = 0, g = 0, b = 0, a = 1 },
|
trinketBorderColor = { r = 0, g = 0, b = 0, a = 1 },
|
||||||
trinketDisableCircle = false,
|
trinketDisableCircle = false,
|
||||||
trinketCooldownAlpha = 1,
|
trinketCooldownAlpha = 1,
|
||||||
trinketCooldownNumberAlpha = 1,
|
trinketCooldownNumberAlpha = 1,
|
||||||
|
trinketXOffset = 0,
|
||||||
|
trinketYOffset = 0,
|
||||||
})
|
})
|
||||||
LibStub("AceComm-3.0"):Embed(Trinket)
|
LibStub("AceComm-3.0"):Embed(Trinket)
|
||||||
|
|
||||||
@ -119,20 +120,15 @@ function Trinket:UpdateFrame(unit)
|
|||||||
trinket.texture.overlay:SetTexture(Gladdy.db.trinketBorderStyle)
|
trinket.texture.overlay:SetTexture(Gladdy.db.trinketBorderStyle)
|
||||||
trinket.texture.overlay:SetVertexColor(Gladdy.db.trinketBorderColor.r, Gladdy.db.trinketBorderColor.g, Gladdy.db.trinketBorderColor.b, Gladdy.db.trinketBorderColor.a)
|
trinket.texture.overlay:SetVertexColor(Gladdy.db.trinketBorderColor.r, Gladdy.db.trinketBorderColor.g, Gladdy.db.trinketBorderColor.b, Gladdy.db.trinketBorderColor.a)
|
||||||
|
|
||||||
trinket:ClearAllPoints()
|
Gladdy:SetPosition(trinket, unit, "trinketXOffset", "trinketYOffset", Trinket:LegacySetPosition(trinket, unit), Trinket)
|
||||||
local margin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
|
||||||
if (Gladdy.db.classIconPos == "LEFT") then
|
if (unit == "arena1") then
|
||||||
if (Gladdy.db.trinketPos == "RIGHT") then
|
Gladdy:CreateMover(trinket,"trinketXOffset", "trinketYOffset", L["Trinket"],
|
||||||
trinket:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", margin, 0)
|
{"TOPLEFT", "TOPLEFT"},
|
||||||
else
|
Gladdy.db.trinketSize * Gladdy.db.trinketWidthFactor,
|
||||||
trinket:SetPoint("TOPRIGHT", Gladdy.buttons[unit].classIcon, "TOPLEFT", -Gladdy.db.padding, 0)
|
Gladdy.db.trinketSize,
|
||||||
end
|
0,
|
||||||
else
|
0)
|
||||||
if (Gladdy.db.trinketPos == "RIGHT") then
|
|
||||||
trinket:SetPoint("TOPLEFT", Gladdy.buttons[unit].classIcon, "TOPRIGHT", Gladdy.db.padding, 0)
|
|
||||||
else
|
|
||||||
trinket:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", -margin, 0)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
if (Gladdy.db.trinketEnabled == false) then
|
if (Gladdy.db.trinketEnabled == false) then
|
||||||
@ -369,3 +365,30 @@ function Trinket:GetOptions()
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
-- LAGACY HANDLER
|
||||||
|
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
function Trinket:LegacySetPosition(trinket, unit)
|
||||||
|
if Gladdy.db.newLayout then
|
||||||
|
return Gladdy.db.newLayout
|
||||||
|
end
|
||||||
|
trinket:ClearAllPoints()
|
||||||
|
local margin = (Gladdy.db.highlightInset and 0 or Gladdy.db.highlightBorderSize) + Gladdy.db.padding
|
||||||
|
if (Gladdy.db.classIconPos == "LEFT") then
|
||||||
|
if (Gladdy.db.trinketPos == "RIGHT") then
|
||||||
|
trinket:SetPoint("TOPLEFT", Gladdy.buttons[unit].healthBar, "TOPRIGHT", margin, 0)
|
||||||
|
else
|
||||||
|
trinket:SetPoint("TOPRIGHT", Gladdy.buttons[unit].classIcon, "TOPLEFT", -Gladdy.db.padding, 0)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if (Gladdy.db.trinketPos == "RIGHT") then
|
||||||
|
trinket:SetPoint("TOPLEFT", Gladdy.buttons[unit].classIcon, "TOPRIGHT", Gladdy.db.padding, 0)
|
||||||
|
else
|
||||||
|
trinket:SetPoint("TOPRIGHT", Gladdy.buttons[unit].healthBar, "TOPLEFT", -margin, 0)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
54
Options.lua
54
Options.lua
@ -47,16 +47,16 @@ Gladdy.defaults = {
|
|||||||
hideBlizzard = "arena",
|
hideBlizzard = "arena",
|
||||||
x = 0,
|
x = 0,
|
||||||
y = 0,
|
y = 0,
|
||||||
growUp = false,
|
|
||||||
growDirection = "BOTTOM",
|
growDirection = "BOTTOM",
|
||||||
frameScale = 1,
|
frameScale = 1,
|
||||||
pixelPerfect = false,
|
pixelPerfect = false,
|
||||||
padding = 1,
|
|
||||||
barWidth = 180,
|
barWidth = 180,
|
||||||
bottomMargin = 2,
|
bottomMargin = 2,
|
||||||
statusbarBorderOffset = 6,
|
statusbarBorderOffset = 6,
|
||||||
timerFormat = Gladdy.TIMER_FORMAT.tenths,
|
timerFormat = Gladdy.TIMER_FORMAT.tenths,
|
||||||
backgroundColor = {r = 0, g = 0, b = 0, a = 0},
|
backgroundColor = {r = 0, g = 0, b = 0, a = 0},
|
||||||
|
newLayout = false,
|
||||||
|
showMover = true,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,19 +215,45 @@ function Gladdy:SetupOptions()
|
|||||||
get = getOpt,
|
get = getOpt,
|
||||||
set = setOpt,
|
set = setOpt,
|
||||||
args = {
|
args = {
|
||||||
test = {
|
lock = {
|
||||||
order = 1,
|
order = 1,
|
||||||
width = 0.7,
|
width = 0.7,
|
||||||
|
name = Gladdy.db.locked and L["Unlock frame"] or L["Lock frame"],
|
||||||
|
desc = L["Toggle if frame can be moved"],
|
||||||
|
type = "execute",
|
||||||
|
func = function()
|
||||||
|
Gladdy.db.locked = not Gladdy.db.locked
|
||||||
|
Gladdy:UpdateFrame()
|
||||||
|
self.options.args.lock.name = Gladdy.db.locked and L["Unlock frame"] or L["Lock frame"]
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
showMover = {
|
||||||
|
order = 2,
|
||||||
|
width = 0.7,
|
||||||
|
name = Gladdy.db.showMover and L["Hide Mover"] or L["Show Mover"],
|
||||||
|
desc = L["Toggle to show Mover Frames"],
|
||||||
|
type = "execute",
|
||||||
|
func = function()
|
||||||
|
Gladdy.db.showMover = not Gladdy.db.showMover
|
||||||
|
Gladdy:UpdateFrame()
|
||||||
|
self.options.args.showMover.name = Gladdy.db.showMover and L["Hide Mover"] or L["Show Mover"]
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
test = {
|
||||||
|
order = 2,
|
||||||
|
width = 0.7,
|
||||||
name = L["Test"],
|
name = L["Test"],
|
||||||
|
desc = L["Show Test frames"],
|
||||||
type = "execute",
|
type = "execute",
|
||||||
func = function()
|
func = function()
|
||||||
Gladdy:ToggleFrame(3)
|
Gladdy:ToggleFrame(3)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
hide = {
|
hide = {
|
||||||
order = 2,
|
order = 3,
|
||||||
width = 0.7,
|
width = 0.7,
|
||||||
name = L["Hide"],
|
name = L["Hide"],
|
||||||
|
desc = L["Hide frames"],
|
||||||
type = "execute",
|
type = "execute",
|
||||||
func = function()
|
func = function()
|
||||||
Gladdy:Reset()
|
Gladdy:Reset()
|
||||||
@ -235,16 +261,17 @@ function Gladdy:SetupOptions()
|
|||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
reload = {
|
reload = {
|
||||||
order = 3,
|
order = 4,
|
||||||
width = 0.7,
|
width = 0.7,
|
||||||
name = L["ReloadUI"],
|
name = L["ReloadUI"],
|
||||||
|
desc = L["Reloads the UI"],
|
||||||
type = "execute",
|
type = "execute",
|
||||||
func = function()
|
func = function()
|
||||||
ReloadUI()
|
ReloadUI()
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
version = {
|
version = {
|
||||||
order = 4,
|
order = 5,
|
||||||
width = 1,
|
width = 1,
|
||||||
type = "description",
|
type = "description",
|
||||||
name = " Gladdy v" .. Gladdy.version_num .. "-" .. Gladdy.version_releaseType
|
name = " Gladdy v" .. Gladdy.version_num .. "-" .. Gladdy.version_releaseType
|
||||||
@ -256,12 +283,6 @@ function Gladdy:SetupOptions()
|
|||||||
childGroups = "tab",
|
childGroups = "tab",
|
||||||
order = 5,
|
order = 5,
|
||||||
args = {
|
args = {
|
||||||
locked = {
|
|
||||||
type = "toggle",
|
|
||||||
name = L["Lock frame"],
|
|
||||||
desc = L["Toggle if frame can be moved"],
|
|
||||||
order = 1,
|
|
||||||
},
|
|
||||||
growDirection = {
|
growDirection = {
|
||||||
type = "select",
|
type = "select",
|
||||||
name = L["Grow Direction"],
|
name = L["Grow Direction"],
|
||||||
@ -315,15 +336,6 @@ function Gladdy:SetupOptions()
|
|||||||
max = 2,
|
max = 2,
|
||||||
step = .01,
|
step = .01,
|
||||||
},
|
},
|
||||||
padding = {
|
|
||||||
type = "range",
|
|
||||||
name = L["Frame padding"],
|
|
||||||
desc = L["Padding of the frame"],
|
|
||||||
order = 6,
|
|
||||||
min = 0,
|
|
||||||
max = 20,
|
|
||||||
step = 1,
|
|
||||||
},
|
|
||||||
barWidth = {
|
barWidth = {
|
||||||
type = "range",
|
type = "range",
|
||||||
name = L["Frame width"],
|
name = L["Frame width"],
|
||||||
|
Loading…
Reference in New Issue
Block a user