Files
coa-weakauras/WeakAurasOptions/RegionOptions/Empty.lua
T
2025-02-02 19:22:54 +01:00

92 lines
2.4 KiB
Lua

if not WeakAuras.IsLibsOK() then return end
local AddonName, OptionsPrivate = ...
local L = WeakAuras.L
local function createOptions(id, data)
local options = {
__title = L["Settings"],
__order = 1,
alpha = {
type = "range",
control = "WeakAurasSpinBox",
width = WeakAuras.normalWidth,
name = L["Alpha"],
order = 1,
min = 0,
max = 1,
bigStep = 0.01,
isPercent = true
},
thumbnailIcon = {
type = "input",
width = WeakAuras.doubleWidth - 0.15,
name = L["Thumbnail Icon"],
order = 2,
get = function()
return data.thumbnailIcon and tostring(data.thumbnailIcon) or ""
end,
set = function(info, v)
data.thumbnailIcon = v
WeakAuras.Add(data)
WeakAuras.UpdateThumbnail(data)
end
},
chooseIcon = {
type = "execute",
width = 0.15,
name = L["Choose"],
order = 3,
func = function()
OptionsPrivate.OpenIconPicker(data, { [data.id] = {"thumbnailIcon"} })
end,
imageWidth = 24,
imageHeight = 24,
control = "WeakAurasIcon",
image = "Interface\\AddOns\\WeakAuras\\Media\\Textures\\browse",
},
}
return {
empty = options,
position = OptionsPrivate.commonOptions.PositionOptions(id, data),
}
end
local function createThumbnail()
local frame = CreateFrame("Frame", nil, UIParent)
frame:SetWidth(32)
frame:SetHeight(32)
local border = frame:CreateTexture(nil, "OVERLAY")
border:SetAllPoints(frame)
border:SetTexture("Interface\\BUTTONS\\UI-Quickslot2.blp")
border:SetTexCoord(0.2, 0.8, 0.2, 0.8)
local icon = frame:CreateTexture(nil, "OVERLAY")
icon:SetAllPoints(frame)
frame.icon = icon
return frame
end
local function modifyThumbnail(parent, frame, data)
frame.icon:SetTexture(data.thumbnailIcon)
if frame.icon:GetTexture() then
frame.icon:Show()
else
frame.icon:Hide()
end
end
-- Register new region type options with WeakAuras
OptionsPrivate.registerRegions = OptionsPrivate.registerRegions or {}
table.insert(OptionsPrivate.registerRegions, function()
OptionsPrivate.Private.RegisterRegionOptions("empty", createOptions, createThumbnail, L["Empty Base Region"],
createThumbnail, modifyThumbnail,
L["Shows nothing, except sub elements"]);
end)