/
lbl2:SetWidth(80); lbl2:SetPoint("TOPLEFT", pvwf, "BOTTOMLEFT", 0, -10); |
dd_border = VFLUI.Dropdown:new(ca, VFLUI.GetBackdropBorderList, function(selectedBorder) |
local _,selectedBackdrop = dd_backdrop:GetSelection(); |
-- fix sigg |
if not selectedBackdrop then selectedBackdrop = curBackdrop._backdrop; end |
--if not selectedBorder then selectedBorder = curBackdrop._backdrop; end |
VFLUI.ApplyBaseBackdrop(curBackdrop, selectedBorder, selectedBackdrop); |
VFLUI.ApplyBaseBackdrop(curBackdrop, selectedBorder); |
UpdateBackdropPicker(); |
end); |
dd_border:SetWidth(190); |
lbl = VFLUI.MakeLabel(nil, ca, "Backdrop:"); |
lbl:SetWidth(80); lbl:SetPoint("TOPLEFT", chk_bcolor, "BOTTOMLEFT", 0, -9); |
dd_backdrop = VFLUI.Dropdown:new(ca, VFLUI.GetBackdropList, function(selectedBackdrop) |
local _,selectedBorder = dd_border:GetSelection(); |
-- fix sigg |
if not selectedBorder then selectedBorder = curBackdrop._border; end |
VFLUI.ApplyBaseBackdrop(curBackdrop, selectedBorder, selectedBackdrop); |
VFLUI.ApplyBaseBackdrop(curBackdrop, nil, selectedBackdrop); |
UpdateBackdropPicker(); |
end); |
dd_backdrop:SetWidth(190); |
--------------- Updater |
UpdateBackdropPicker = function() |
VFLUI.SetBackdrop(pvwf, curBackdrop); |
dd_border:SetSelection(VFLUI.GetBackdropBorderTitle(curBackdrop._border), curBackdrop._border or "none"); |
dd_backdrop:SetSelection(VFLUI.GetBackdropTitle(curBackdrop._backdrop), curBackdrop._backdrop or "none"); |
dd_border:SetSelection(VFLUI.GetBackdropBorderTitle(curBackdrop._border), curBackdrop._border or "none", true); |
dd_backdrop:SetSelection(VFLUI.GetBackdropTitle(curBackdrop._backdrop), curBackdrop._backdrop or "none", true); |
-- Edge size |
if ed_edgeSize:GetNumber() ~= curBackdrop.edgeSize then |
ed_edgeSize:SetText(curBackdrop.edgeSize or ""); |
-- Tile |
if curBackdrop.tile then |
chk_tile:SetChecked(true); |
if ed_tile:GetNumber() ~= curBackdrop.tileSize then ed_tile:SetText(curBackdrop.tileSize or ""); end |
if ed_tile:GetNumber() ~= curBackdrop.tileSize then ed_tile:SetText(curBackdrop.tileSize or ""); end |
else |
chk_tile:SetChecked(nil); ed_tile:SetText(""); |
end |
end |
function VFLUI.ApplyBaseBackdrop(bkdp, border, backdrop) |
bkdp._border = border or "none"; bkdp._backdrop = backdrop or "none"; |
border = backdropBorders[bkdp._border] or backdropBorders["none"]; |
backdrop = backdrops[bkdp._backdrop] or backdrops["none"]; |
applyBorder(bkdp, border); applyBackdrop(bkdp, backdrop); |
if border then |
bkdp._border = border or "none"; |
border = backdropBorders[bkdp._border] or backdropBorders["none"]; |
applyBorder(bkdp, border); |
end |
if backdrop then |
bkdp._backdrop = backdrop or "none"; |
backdrop = backdrops[bkdp._backdrop] or backdrops["none"]; |
applyBackdrop(bkdp, backdrop); |
end |
end |
function VFLUI.SetBackdrop(frame, bkdp) |
txt:SetText(selTxt or ""); |
end |
function self:SetSelection(text, value) |
function self:SetSelection(text, value, flag) |
if not value then value = text; end |
selTxt = text; txt:SetText(selTxt or ""); |
if(selValue ~= value) then |
selValue = value; |
onSelChanged(value); |
if not flag then |
onSelChanged(value); |
end |
end |
end |