Skip to content

Commit bbfb548

Browse files
committed
Add Options for Width/Height for Cast Bar
1 parent f39952e commit bbfb548

3 files changed

Lines changed: 38 additions & 1 deletion

File tree

Core/Defaults.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ UUF.Defaults = {
7878
Enabled = true,
7979
Height = 24,
8080
Width = 244,
81+
MatchFrameWidth = true,
8182
XPosition = 0,
8283
YPosition = -1,
8384
AnchorFrom = "TOP",
@@ -237,6 +238,7 @@ UUF.Defaults = {
237238
Frame = {
238239
Width = 244,
239240
Height = 42,
241+
MatchFrameWidth = true,
240242
XPosition = 425.1,
241243
YPosition = -275.1,
242244
AnchorFrom = "CENTER",
@@ -705,6 +707,7 @@ UUF.Defaults = {
705707
Enabled = true,
706708
Height = 24,
707709
Width = 244,
710+
MatchFrameWidth = true,
708711
XPosition = 0,
709712
YPosition = -1,
710713
AnchorFrom = "TOP",

Core/GUI.lua

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1136,6 +1136,13 @@ local function CreateCastBarSettings(containerParent, unit)
11361136
EnableCheckBox:SetCallback("OnValueChanged", function(_, _, value) CastBarDB.Enabled = value if unit == "boss" then UUF:UpdateAllBossFrames() else UUF:UpdateUnitFrame(unit) end DeepDisable(Wrapper, not value, EnableCheckBox) end)
11371137
TogglesContainer:AddChild(EnableCheckBox)
11381138

1139+
local MatchFrameWidthCheckBox = AG:Create("CheckBox")
1140+
MatchFrameWidthCheckBox:SetLabel("Match Frame Width")
1141+
MatchFrameWidthCheckBox:SetValue(CastBarDB.MatchFrameWidth)
1142+
MatchFrameWidthCheckBox:SetRelativeWidth(0.5)
1143+
MatchFrameWidthCheckBox:SetCallback("OnValueChanged", function(_, _, value) CastBarDB.MatchFrameWidth = value if unit == "boss" then UUF:UpdateAllBossFrames() else UUF:UpdateUnitFrame(unit) end WidthSlider:SetDisabled(value) end)
1144+
TogglesContainer:AddChild(MatchFrameWidthCheckBox)
1145+
11391146
local ColoursContainer = CreateInlineGroup(ScrollFrame, "Colours")
11401147
local FGColourPicker = AG:Create("ColorPicker")
11411148
FGColourPicker:SetLabel("Foreground Colour")
@@ -1154,7 +1161,7 @@ local function CreateCastBarSettings(containerParent, unit)
11541161
ColoursContainer:AddChild(BGColourPicker)
11551162

11561163
local NotInterruptibleColourPicker = AG:Create("ColorPicker")
1157-
NotInterruptibleColourPicker:SetLabel("Not Interruptible Colour")
1164+
NotInterruptibleColourPicker:SetLabel("Not Interruptible Colour\n|cFFFF4040Not Yet Implemented|r")
11581165
NotInterruptibleColourPicker:SetColor(unpack(CastBarDB.NotInterruptibleColour))
11591166
NotInterruptibleColourPicker:SetHasAlpha(true)
11601167
NotInterruptibleColourPicker:SetRelativeWidth(0.33)
@@ -1194,6 +1201,22 @@ local function CreateCastBarSettings(containerParent, unit)
11941201
YPositionSlider:SetRelativeWidth(0.5)
11951202
LayoutContainer:AddChild(YPositionSlider)
11961203

1204+
WidthSlider = AG:Create("Slider")
1205+
WidthSlider:SetLabel("Width")
1206+
WidthSlider:SetValue(CastBarDB.Width)
1207+
WidthSlider:SetSliderValues(50, 2000, 1)
1208+
WidthSlider:SetCallback("OnValueChanged", function(_, _, value) CastBarDB.Width = value if unit == "boss" then UUF:UpdateAllBossFrames() else UUF:UpdateUnitFrame(unit) end end)
1209+
WidthSlider:SetRelativeWidth(0.5)
1210+
LayoutContainer:AddChild(WidthSlider)
1211+
1212+
local HeightSlider = AG:Create("Slider")
1213+
HeightSlider:SetLabel("Height")
1214+
HeightSlider:SetValue(CastBarDB.Height)
1215+
HeightSlider:SetSliderValues(5, 500, 1)
1216+
HeightSlider:SetCallback("OnValueChanged", function(_, _, value) CastBarDB.Height = value if unit == "boss" then UUF:UpdateAllBossFrames() else UUF:UpdateUnitFrame(unit) end end)
1217+
HeightSlider:SetRelativeWidth(0.5)
1218+
LayoutContainer:AddChild(HeightSlider)
1219+
11971220
local SpellNameContainer = CreateInlineGroup(ScrollFrame, "Spell Name")
11981221
local ShowSpellNameCheckBox = AG:Create("CheckBox")
11991222
ShowSpellNameCheckBox:SetLabel("Show Spell Name")
@@ -1325,6 +1348,9 @@ local function CreateCastBarSettings(containerParent, unit)
13251348

13261349
DeepDisable(Wrapper, not CastBarDB.Enabled, EnableCheckBox)
13271350

1351+
WidthSlider:SetDisabled(CastBarDB.MatchFrameWidth)
1352+
NotInterruptibleColourPicker:SetDisabled(true)
1353+
13281354
ScrollFrame:DoLayout()
13291355

13301356
return ScrollFrame

Modules/Factory.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1238,6 +1238,8 @@ local function CreateCastBar(self, unit)
12381238
if not self.CastBarContainer then
12391239
self.CastBarContainer = CreateFrame("Frame", ResolveFrameName(unit).."_CastBarContainer", unitContainer, "BackdropTemplate")
12401240
self.CastBarContainer:SetPoint(CastBarDB.AnchorFrom, unitContainer, CastBarDB.AnchorTo, CastBarDB.XPosition, CastBarDB.YPosition)
1241+
local isMatchingFrameWidth = CastBarDB.MatchFrameWidth
1242+
if isMatchingFrameWidth then CastBarDB.Width = UUFDB[normalizedUnit].Frame.Width else CastBarDB.Width = CastBarDB.Width end
12411243
self.CastBarContainer:SetSize(CastBarDB.Width, CastBarDB.Height)
12421244
self.CastBarContainer:SetBackdrop(UUF.BackdropTemplate)
12431245
self.CastBarContainer:SetBackdropColor(CastBarDB.BGColour[1], CastBarDB.BGColour[2], CastBarDB.BGColour[3], CastBarDB.BGColour[4])
@@ -1250,6 +1252,8 @@ local function CreateCastBar(self, unit)
12501252
self.CastBar = CreateFrame("StatusBar", ResolveFrameName(unit).."_CastBar", unitContainer)
12511253
self.CastBar:SetPoint("TOPLEFT", self.CastBarContainer, "TOPLEFT", 1, -1)
12521254
self.CastBar:SetPoint("BOTTOMRIGHT", self.CastBarContainer, "BOTTOMRIGHT", -1, 1)
1255+
local isMatchingFrameWidth = CastBarDB.MatchFrameWidth
1256+
if isMatchingFrameWidth then CastBarDB.Width = UUFDB[normalizedUnit].Frame.Width else CastBarDB.Width = CastBarDB.Width end
12531257
self.CastBar:SetSize(CastBarDB.Width, CastBarDB.Height)
12541258
self.CastBar:SetStatusBarTexture(UUF.Media.ForegroundTexture)
12551259
self.CastBar:SetStatusBarColor(CastBarDB.FGColour[1], CastBarDB.FGColour[2], CastBarDB.FGColour[3], CastBarDB.FGColour[4])
@@ -1311,6 +1315,8 @@ local function UpdateCastBar(self, unit)
13111315
if self.CastBarContainer then
13121316
self.CastBarContainer:ClearAllPoints()
13131317
self.CastBarContainer:SetPoint(CastBarDB.AnchorFrom, unitContainer, CastBarDB.AnchorTo, CastBarDB.XPosition, CastBarDB.YPosition)
1318+
local isMatchingFrameWidth = CastBarDB.MatchFrameWidth
1319+
if isMatchingFrameWidth then CastBarDB.Width = UUFDB[normalizedUnit].Frame.Width else CastBarDB.Width = CastBarDB.Width end
13141320
self.CastBarContainer:SetSize(CastBarDB.Width, CastBarDB.Height)
13151321
self.CastBarContainer:SetBackdropColor(CastBarDB.BGColour[1], CastBarDB.BGColour[2], CastBarDB.BGColour[3], CastBarDB.BGColour[4])
13161322
self.CastBarContainer:Hide()
@@ -1320,6 +1326,8 @@ local function UpdateCastBar(self, unit)
13201326
self.CastBar:ClearAllPoints()
13211327
self.CastBar:SetPoint("TOPLEFT", self.CastBarContainer, "TOPLEFT", 1, -1)
13221328
self.CastBar:SetPoint("BOTTOMRIGHT", self.CastBarContainer, "BOTTOMRIGHT", -1, 1)
1329+
local isMatchingFrameWidth = CastBarDB.MatchFrameWidth
1330+
if isMatchingFrameWidth then CastBarDB.Width = UUFDB[normalizedUnit].Frame.Width else CastBarDB.Width = CastBarDB.Width end
13231331
self.CastBar:SetSize(CastBarDB.Width, CastBarDB.Height)
13241332
self.CastBar:SetStatusBarTexture(UUF.Media.ForegroundTexture)
13251333
self.CastBar:SetStatusBarColor(CastBarDB.FGColour[1], CastBarDB.FGColour[2], CastBarDB.FGColour[3], CastBarDB.FGColour[4])

0 commit comments

Comments
 (0)