Color the boxes so the modules are easily told apart

This commit is contained in:
2025-01-07 00:44:32 +01:00
parent 9fef1da261
commit de57b4c8a8

View File

@@ -312,8 +312,8 @@ local configFrame = StaticGridFrame.new("HeimdallConfig",
40, 12, 40, 12,
{ w = 1024 + 512, h = 1024 }) { w = 1024 + 512, h = 1024 })
configFrame:MakeMovable() configFrame:MakeMovable()
local oldAdd = configFrame.Add local oldAdd = configFrame.Add
configFrame.Add = function(self, frame, rowspan, colspan) configFrame.Add = function(self, frame, rowspan, colspan)
print("Adding", frame, rowspan, colspan) print("Adding", frame, rowspan, colspan)
oldAdd(self, frame, rowspan, colspan) oldAdd(self, frame, rowspan, colspan)
end end
@@ -323,7 +323,8 @@ end
-- end -- end
--end) --end)
local colors = { local colorIndex = 1
local colors = {
{ 1, 0, 0, 1 }, { 1, 0, 0, 1 },
{ 0, 1, 0, 1 }, { 0, 1, 0, 1 },
{ 0, 0, 1, 1 }, { 0, 0, 1, 1 },
@@ -350,16 +351,34 @@ local colors = {
--configFrame:Add(HeimdallTestFrame, 20, 12) --configFrame:Add(HeimdallTestFrame, 20, 12)
---@diagnostic disable-next-line: missing-fields ---@diagnostic disable-next-line: missing-fields
shared.Config = {} shared.Config = {}
function shared.Config.Init() function shared.Config.Init()
local buttonColors = { local buttonColors = {
enabled = { 0, 1, 0, 1 }, enabled = { 0, 1, 0, 1 },
disabled = { 1, 0, 0, 1 } disabled = { 1, 0, 0, 1 }
} }
local function CreateFancyText(name, parent, text, color)
local r, g, b, a = unpack(color)
local textFrame = CreateFrame("Frame", name .. "TextFrame", parent)
local textElement = textFrame:CreateFontString(nil, "ARTWORK", "GameFontNormal")
textElement:SetText(text)
textElement:SetTextColor(r, g, b, a)
textElement:SetPoint("CENTER", textFrame, "CENTER", 0, 0)
textFrame:SetBackdrop({
bgFile = "Interface/Tooltips/UI-Tooltip-Background",
edgeFile = "Interface/Tooltips/UI-Tooltip-Border",
tile = true,
tileSize = 2,
edgeSize = 12,
})
textFrame:SetBackdropColor(r, g, b, 0.3)
textFrame:SetBackdropBorderColor(r, g, b, 0.5)
return textFrame
end
---@param name string ---@param name string
---@param parent Frame ---@param parent Frame
---@param onClick fun(): boolean ---@param onClick fun(): boolean
local function BasicButton(name, parent, text, onClick) local function CreateBasicButton(name, parent, text, onClick)
local button = CreateFrame("Frame", name, parent) local button = CreateFrame("Frame", name, parent)
button:SetScript("OnMouseDown", function() button:SetScript("OnMouseDown", function()
local res = onClick() local res = onClick()
@@ -483,15 +502,17 @@ function shared.Config.Init()
configFrame:Add(title, 1, 12) configFrame:Add(title, 1, 12)
do do
local r, g, b, a = unpack(colors[colorIndex])
colorIndex = colorIndex + 1
local spotterConfigFrame = GridFrame.new("HeimdallSpotterConfig", local spotterConfigFrame = GridFrame.new("HeimdallSpotterConfig",
UIParent, 12, 20) UIParent, 12, 20)
spotterConfigFrame.frame:SetBackdropColor(r, g, b, 0.3)
configFrame:Add(spotterConfigFrame, 5, 3) configFrame:Add(spotterConfigFrame, 5, 3)
local title = spotterConfigFrame.frame:CreateFontString(nil, "ARTWORK", "GameFontNormal") local title = CreateFancyText("HeimdallSpotterConfigTitle", spotterConfigFrame.frame, "Spotter", { r, g, b, a })
title:SetText("Spotter")
spotterConfigFrame:Add(title, 1, 12) spotterConfigFrame:Add(title, 1, 12)
local enableButton = BasicButton("HeimdallSpotterConfigEnableButton", local enableButton = CreateBasicButton("HeimdallSpotterConfigEnableButton",
spotterConfigFrame.frame, "Enabled", function() spotterConfigFrame.frame, "Enabled", function()
Heimdall_Data.config.spotter.enabled = not Heimdall_Data.config.spotter.enabled Heimdall_Data.config.spotter.enabled = not Heimdall_Data.config.spotter.enabled
return Heimdall_Data.config.spotter.enabled return Heimdall_Data.config.spotter.enabled
@@ -499,7 +520,7 @@ function shared.Config.Init()
enableButton:UpdateColor(Heimdall_Data.config.spotter.enabled) enableButton:UpdateColor(Heimdall_Data.config.spotter.enabled)
spotterConfigFrame:Add(enableButton, 1, 6) spotterConfigFrame:Add(enableButton, 1, 6)
local everyoneButton = BasicButton("HeimdallSpotterConfigEveryoneButton", local everyoneButton = CreateBasicButton("HeimdallSpotterConfigEveryoneButton",
spotterConfigFrame.frame, "Everyone", function() spotterConfigFrame.frame, "Everyone", function()
Heimdall_Data.config.spotter.everyone = not Heimdall_Data.config.spotter.everyone Heimdall_Data.config.spotter.everyone = not Heimdall_Data.config.spotter.everyone
return Heimdall_Data.config.spotter.everyone return Heimdall_Data.config.spotter.everyone
@@ -507,7 +528,7 @@ function shared.Config.Init()
everyoneButton:UpdateColor(Heimdall_Data.config.spotter.everyone) everyoneButton:UpdateColor(Heimdall_Data.config.spotter.everyone)
spotterConfigFrame:Add(everyoneButton, 1, 6) spotterConfigFrame:Add(everyoneButton, 1, 6)
local hostileButton = BasicButton("HeimdallSpotterConfigHostileButton", local hostileButton = CreateBasicButton("HeimdallSpotterConfigHostileButton",
spotterConfigFrame.frame, "Hostile", function() spotterConfigFrame.frame, "Hostile", function()
Heimdall_Data.config.spotter.hostile = not Heimdall_Data.config.spotter.hostile Heimdall_Data.config.spotter.hostile = not Heimdall_Data.config.spotter.hostile
return Heimdall_Data.config.spotter.hostile return Heimdall_Data.config.spotter.hostile
@@ -515,7 +536,7 @@ function shared.Config.Init()
hostileButton:UpdateColor(Heimdall_Data.config.spotter.hostile) hostileButton:UpdateColor(Heimdall_Data.config.spotter.hostile)
spotterConfigFrame:Add(hostileButton, 1, 4) spotterConfigFrame:Add(hostileButton, 1, 4)
local allianceButton = BasicButton("HeimdallSpotterConfigAllianceButton", local allianceButton = CreateBasicButton("HeimdallSpotterConfigAllianceButton",
spotterConfigFrame.frame, "Alliance", function() spotterConfigFrame.frame, "Alliance", function()
Heimdall_Data.config.spotter.alliance = not Heimdall_Data.config.spotter.alliance Heimdall_Data.config.spotter.alliance = not Heimdall_Data.config.spotter.alliance
return Heimdall_Data.config.spotter.alliance return Heimdall_Data.config.spotter.alliance
@@ -523,7 +544,7 @@ function shared.Config.Init()
allianceButton:UpdateColor(Heimdall_Data.config.spotter.alliance) allianceButton:UpdateColor(Heimdall_Data.config.spotter.alliance)
spotterConfigFrame:Add(allianceButton, 1, 4) spotterConfigFrame:Add(allianceButton, 1, 4)
local stinkyButton = BasicButton("HeimdallSpotterConfigStinkyButton", local stinkyButton = CreateBasicButton("HeimdallSpotterConfigStinkyButton",
spotterConfigFrame.frame, "Stinky", function() spotterConfigFrame.frame, "Stinky", function()
Heimdall_Data.config.spotter.stinky = not Heimdall_Data.config.spotter.stinky Heimdall_Data.config.spotter.stinky = not Heimdall_Data.config.spotter.stinky
return Heimdall_Data.config.spotter.stinky return Heimdall_Data.config.spotter.stinky
@@ -577,15 +598,17 @@ function shared.Config.Init()
end end
do do
local r, g, b, a = unpack(colors[colorIndex])
colorIndex = colorIndex + 1
local whoerConfigFrame = GridFrame.new("HeimdallWhoerConfig", local whoerConfigFrame = GridFrame.new("HeimdallWhoerConfig",
UIParent, 12, 20) UIParent, 12, 20)
whoerConfigFrame.frame:SetBackdropColor(r, g, b, 0.3)
configFrame:Add(whoerConfigFrame, 9, 3) configFrame:Add(whoerConfigFrame, 9, 3)
local title = whoerConfigFrame.frame:CreateFontString(nil, "ARTWORK", "GameFontNormal") local title = CreateFancyText("HeimdallWhoerConfigTitle", whoerConfigFrame.frame, "Whoer", { r, g, b, a })
title:SetText("Whoer")
whoerConfigFrame:Add(title, 1, 12) whoerConfigFrame:Add(title, 1, 12)
local enableButton = BasicButton("HeimdallWhoerConfigEnableButton", local enableButton = CreateBasicButton("HeimdallWhoerConfigEnableButton",
whoerConfigFrame.frame, "Enabled", function() whoerConfigFrame.frame, "Enabled", function()
Heimdall_Data.config.who.enabled = not Heimdall_Data.config.who.enabled Heimdall_Data.config.who.enabled = not Heimdall_Data.config.who.enabled
return Heimdall_Data.config.who.enabled return Heimdall_Data.config.who.enabled
@@ -593,7 +616,7 @@ function shared.Config.Init()
enableButton:UpdateColor(Heimdall_Data.config.who.enabled) enableButton:UpdateColor(Heimdall_Data.config.who.enabled)
whoerConfigFrame:Add(enableButton, 1, 6) whoerConfigFrame:Add(enableButton, 1, 6)
local doWhisperButton = BasicButton("HeimdallWhoerConfigDoWhisperButton", local doWhisperButton = CreateBasicButton("HeimdallWhoerConfigDoWhisperButton",
whoerConfigFrame.frame, "Do Whisper", function() whoerConfigFrame.frame, "Do Whisper", function()
Heimdall_Data.config.who.doWhisper = not Heimdall_Data.config.who.doWhisper Heimdall_Data.config.who.doWhisper = not Heimdall_Data.config.who.doWhisper
return Heimdall_Data.config.who.doWhisper return Heimdall_Data.config.who.doWhisper
@@ -651,15 +674,18 @@ function shared.Config.Init()
end end
do do
local r, g, b, a = unpack(colors[colorIndex])
colorIndex = colorIndex + 1
local messengerConfigFrame = GridFrame.new("HeimdallMessengerConfig", local messengerConfigFrame = GridFrame.new("HeimdallMessengerConfig",
UIParent, 12, 20) UIParent, 12, 20)
messengerConfigFrame.frame:SetBackdropColor(r, g, b, 0.3)
configFrame:Add(messengerConfigFrame, 3, 3) configFrame:Add(messengerConfigFrame, 3, 3)
local title = messengerConfigFrame.frame:CreateFontString(nil, "ARTWORK", "GameFontNormal") local title = CreateFancyText("HeimdallMessengerConfigTitle", messengerConfigFrame.frame, "Messenger",
title:SetText("Messenger") { r, g, b, a })
messengerConfigFrame:Add(title, 1, 12) messengerConfigFrame:Add(title, 1, 12)
local enableButton = BasicButton("HeimdallMessengerConfigEnableButton", local enableButton = CreateBasicButton("HeimdallMessengerConfigEnableButton",
messengerConfigFrame.frame, "Enabled", function() messengerConfigFrame.frame, "Enabled", function()
Heimdall_Data.config.messenger.enabled = not Heimdall_Data.config.messenger.enabled Heimdall_Data.config.messenger.enabled = not Heimdall_Data.config.messenger.enabled
return Heimdall_Data.config.messenger.enabled return Heimdall_Data.config.messenger.enabled
@@ -684,15 +710,18 @@ function shared.Config.Init()
end end
do do
local r, g, b, a = unpack(colors[colorIndex])
colorIndex = colorIndex + 1
local deathReporterConfigFrame = GridFrame.new("HeimdallDeathReporterConfig", local deathReporterConfigFrame = GridFrame.new("HeimdallDeathReporterConfig",
UIParent, 12, 20) UIParent, 12, 20)
deathReporterConfigFrame.frame:SetBackdropColor(r, g, b, 0.3)
configFrame:Add(deathReporterConfigFrame, 6, 3) configFrame:Add(deathReporterConfigFrame, 6, 3)
local title = deathReporterConfigFrame.frame:CreateFontString(nil, "ARTWORK", "GameFontNormal") local title = CreateFancyText("HeimdallDeathReporterConfigTitle", deathReporterConfigFrame.frame, "Death Reporter",
title:SetText("Death Reporter") { r, g, b, a })
deathReporterConfigFrame:Add(title, 1, 12) deathReporterConfigFrame:Add(title, 1, 12)
local enableButton = BasicButton("HeimdallDeathReporterConfigEnableButton", local enableButton = CreateBasicButton("HeimdallDeathReporterConfigEnableButton",
deathReporterConfigFrame.frame, "Enabled", function() deathReporterConfigFrame.frame, "Enabled", function()
Heimdall_Data.config.deathReporter.enabled = not Heimdall_Data.config.deathReporter.enabled Heimdall_Data.config.deathReporter.enabled = not Heimdall_Data.config.deathReporter.enabled
return Heimdall_Data.config.deathReporter.enabled return Heimdall_Data.config.deathReporter.enabled
@@ -700,7 +729,7 @@ function shared.Config.Init()
enableButton:UpdateColor(Heimdall_Data.config.deathReporter.enabled) enableButton:UpdateColor(Heimdall_Data.config.deathReporter.enabled)
deathReporterConfigFrame:Add(enableButton, 1, 6) deathReporterConfigFrame:Add(enableButton, 1, 6)
local doWhisperButton = BasicButton("HeimdallDeathReporterConfigDoWhisperButton", local doWhisperButton = CreateBasicButton("HeimdallDeathReporterConfigDoWhisperButton",
deathReporterConfigFrame.frame, "Do Whisper", function() deathReporterConfigFrame.frame, "Do Whisper", function()
Heimdall_Data.config.deathReporter.doWhisper = not Heimdall_Data.config.deathReporter.doWhisper Heimdall_Data.config.deathReporter.doWhisper = not Heimdall_Data.config.deathReporter.doWhisper
return Heimdall_Data.config.deathReporter.doWhisper return Heimdall_Data.config.deathReporter.doWhisper
@@ -770,15 +799,17 @@ function shared.Config.Init()
end end
do do
local r, g, b, a = unpack(colors[colorIndex])
colorIndex = colorIndex + 1
local inviterConfigFrame = GridFrame.new("HeimdallInviterConfig", local inviterConfigFrame = GridFrame.new("HeimdallInviterConfig",
UIParent, 12, 20) UIParent, 12, 20)
inviterConfigFrame.frame:SetBackdropColor(r, g, b, 0.3)
configFrame:Add(inviterConfigFrame, 6, 3) configFrame:Add(inviterConfigFrame, 6, 3)
local title = inviterConfigFrame.frame:CreateFontString(nil, "ARTWORK", "GameFontNormal") local title = CreateFancyText("HeimdallInviterConfigTitle", inviterConfigFrame.frame, "Inviter", { r, g, b, a })
title:SetText("Inviter")
inviterConfigFrame:Add(title, 1, 12) inviterConfigFrame:Add(title, 1, 12)
local enableButton = BasicButton("HeimdallInviterConfigEnableButton", local enableButton = CreateBasicButton("HeimdallInviterConfigEnableButton",
inviterConfigFrame.frame, "Enabled", function() inviterConfigFrame.frame, "Enabled", function()
Heimdall_Data.config.inviter.enabled = not Heimdall_Data.config.inviter.enabled Heimdall_Data.config.inviter.enabled = not Heimdall_Data.config.inviter.enabled
return Heimdall_Data.config.inviter.enabled return Heimdall_Data.config.inviter.enabled
@@ -786,7 +817,7 @@ function shared.Config.Init()
enableButton:UpdateColor(Heimdall_Data.config.inviter.enabled) enableButton:UpdateColor(Heimdall_Data.config.inviter.enabled)
inviterConfigFrame:Add(enableButton, 1, 4) inviterConfigFrame:Add(enableButton, 1, 4)
local allAssistButton = BasicButton("HeimdallInviterConfigAllAssistButton", local allAssistButton = CreateBasicButton("HeimdallInviterConfigAllAssistButton",
inviterConfigFrame.frame, "All Assist", function() inviterConfigFrame.frame, "All Assist", function()
Heimdall_Data.config.inviter.allAssist = not Heimdall_Data.config.inviter.allAssist Heimdall_Data.config.inviter.allAssist = not Heimdall_Data.config.inviter.allAssist
return Heimdall_Data.config.inviter.allAssist return Heimdall_Data.config.inviter.allAssist
@@ -794,7 +825,7 @@ function shared.Config.Init()
allAssistButton:UpdateColor(Heimdall_Data.config.inviter.allAssist) allAssistButton:UpdateColor(Heimdall_Data.config.inviter.allAssist)
inviterConfigFrame:Add(allAssistButton, 1, 4) inviterConfigFrame:Add(allAssistButton, 1, 4)
local agentsAssist = BasicButton("HeimdallInviterConfigAgentsAssistButton", local agentsAssist = CreateBasicButton("HeimdallInviterConfigAgentsAssistButton",
inviterConfigFrame.frame, "Agents Assist", function() inviterConfigFrame.frame, "Agents Assist", function()
Heimdall_Data.config.inviter.agentsAssist = not Heimdall_Data.config.inviter.agentsAssist Heimdall_Data.config.inviter.agentsAssist = not Heimdall_Data.config.inviter.agentsAssist
return Heimdall_Data.config.inviter.agentsAssist return Heimdall_Data.config.inviter.agentsAssist
@@ -874,7 +905,7 @@ function shared.Config.Init()
end) end)
inviterConfigFrame:Add(afkThreshold, 2, 6) inviterConfigFrame:Add(afkThreshold, 2, 6)
local kickOffline = BasicButton("HeimdallInviterConfigKickOfflineButton", local kickOffline = CreateBasicButton("HeimdallInviterConfigKickOfflineButton",
inviterConfigFrame.frame, "Kick Offline", function() inviterConfigFrame.frame, "Kick Offline", function()
Heimdall_Data.config.inviter.kickOffline = not Heimdall_Data.config.inviter.kickOffline Heimdall_Data.config.inviter.kickOffline = not Heimdall_Data.config.inviter.kickOffline
return Heimdall_Data.config.inviter.kickOffline return Heimdall_Data.config.inviter.kickOffline