mirror of
https://github.com/Bluewhale1337/ElvUIModernized.git
synced 2026-07-27 08:24:44 +00:00
remove temp folder structure
This commit is contained in:
@@ -0,0 +1,429 @@
|
||||
local E, L, V, P, G = unpack(ElvUI); --Import: Engine, Locales, PrivateDB, ProfileDB, GlobalDB
|
||||
local S = E:GetModule("Skins");
|
||||
|
||||
--Cache global variables
|
||||
--Lua functions
|
||||
local _G = _G
|
||||
local unpack = unpack
|
||||
local pairs = pairs
|
||||
--WoW API / Variables
|
||||
local CreateFrame = CreateFrame
|
||||
|
||||
local RegisterAsWidget, RegisterAsContainer
|
||||
local function SetModifiedBackdrop()
|
||||
if this.backdrop then this = this.backdrop end
|
||||
this:SetBackdropBorderColor(unpack(E["media"].rgbvaluecolor))
|
||||
end
|
||||
|
||||
local function SetOriginalBackdrop()
|
||||
if this.backdrop then this = this.backdrop end
|
||||
this:SetBackdropBorderColor(unpack(E["media"].bordercolor))
|
||||
end
|
||||
|
||||
local function SkinScrollBar(frame, thumbTrim)
|
||||
if _G[frame:GetName().."BG"] then _G[frame:GetName().."BG"]:SetTexture(nil) end
|
||||
if _G[frame:GetName().."Track"] then _G[frame:GetName().."Track"]:SetTexture(nil) end
|
||||
|
||||
if _G[frame:GetName().."Top"] then
|
||||
_G[frame:GetName().."Top"]:SetTexture(nil)
|
||||
_G[frame:GetName().."Bottom"]:SetTexture(nil)
|
||||
_G[frame:GetName().."Middle"]:SetTexture(nil)
|
||||
end
|
||||
|
||||
if _G[frame:GetName().."ScrollUpButton"] and _G[frame:GetName().."ScrollDownButton"] then
|
||||
E:StripTextures(_G[frame:GetName().."ScrollUpButton"])
|
||||
if not _G[frame:GetName().."ScrollUpButton"].icon then
|
||||
S:HandleNextPrevButton(_G[frame:GetName().."ScrollUpButton"])
|
||||
S:SquareButton_SetIcon(_G[frame:GetName().."ScrollUpButton"], "UP")
|
||||
_G[frame:GetName().."ScrollUpButton"]:SetWidth(_G[frame:GetName().."ScrollUpButton"]:GetWidth() + 7)
|
||||
_G[frame:GetName().."ScrollUpButton"]:SetHeight(_G[frame:GetName().."ScrollUpButton"]:GetHeight() + 7)
|
||||
end
|
||||
|
||||
E:StripTextures(_G[frame:GetName().."ScrollDownButton"])
|
||||
if not _G[frame:GetName().."ScrollDownButton"].icon then
|
||||
S:HandleNextPrevButton(_G[frame:GetName().."ScrollDownButton"])
|
||||
S:SquareButton_SetIcon(_G[frame:GetName().."ScrollDownButton"], "DOWN")
|
||||
_G[frame:GetName().."ScrollDownButton"]:SetWidth(_G[frame:GetName().."ScrollDownButton"]:GetWidth() + 7)
|
||||
_G[frame:GetName().."ScrollDownButton"]:SetHeight(_G[frame:GetName().."ScrollDownButton"]:GetHeight() + 7)
|
||||
end
|
||||
|
||||
if not frame.trackbg then
|
||||
frame.trackbg = CreateFrame("Frame", nil, frame)
|
||||
frame.trackbg:SetPoint("TOPLEFT", _G[frame:GetName().."ScrollUpButton"], "BOTTOMLEFT", 0, -1)
|
||||
frame.trackbg:SetPoint("BOTTOMRIGHT", _G[frame:GetName().."ScrollDownButton"], "TOPRIGHT", 0, 1)
|
||||
E:SetTemplate(frame.trackbg, "Transparent")
|
||||
end
|
||||
|
||||
if frame:GetThumbTexture() then
|
||||
if not thumbTrim then thumbTrim = 3 end
|
||||
frame:GetThumbTexture():SetTexture(nil)
|
||||
frame:GetThumbTexture():SetHeight(24)
|
||||
if not frame.thumbbg then
|
||||
frame.thumbbg = CreateFrame("Frame", nil, frame)
|
||||
frame.thumbbg:SetPoint("TOPLEFT", frame:GetThumbTexture(), "TOPLEFT", 2, -thumbTrim)
|
||||
frame.thumbbg:SetPoint("TOPLEFT", frame:GetThumbTexture(), "TOPLEFT", 2, -thumbTrim)
|
||||
frame.thumbbg:SetPoint("BOTTOMRIGHT", frame:GetThumbTexture(), "BOTTOMRIGHT", -2, thumbTrim)
|
||||
E:SetTemplate(frame.thumbbg, "Default", true, true)
|
||||
frame.thumbbg:SetBackdropColor(0.3, 0.3, 0.3)
|
||||
if frame.trackbg then
|
||||
frame.thumbbg:SetFrameLevel(frame.trackbg:GetFrameLevel() + 1)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local function SkinButton(f, strip, noTemplate)
|
||||
local name = f:GetName()
|
||||
|
||||
if(name) then
|
||||
local left = _G[name.."Left"]
|
||||
local middle = _G[name.."Middle"]
|
||||
local right = _G[name.."Right"]
|
||||
|
||||
if(left) then E:Kill(left) end
|
||||
if(middle) then E:Kill(middle) end
|
||||
if(right) then E:Kill(right) end
|
||||
end
|
||||
|
||||
if(f.Left) then E:Kill(f.Left) end
|
||||
if(f.Middle) then E:Kill(f.Middle) end
|
||||
if(f.Right) then E:Kill(f.Right) end
|
||||
|
||||
if f.SetNormalTexture then f:SetNormalTexture("") end
|
||||
if f.SetHighlightTexture then f:SetHighlightTexture("") end
|
||||
if f.SetPushedTexture then f:SetPushedTexture("") end
|
||||
if f.SetDisabledTexture then f:SetDisabledTexture("") end
|
||||
|
||||
if strip then E:StripTextures(f) end
|
||||
|
||||
if not f.template and not noTemplate then
|
||||
E:SetTemplate(f, "Default", true)
|
||||
end
|
||||
|
||||
HookScript(f, "OnEnter", SetModifiedBackdrop)
|
||||
HookScript(f, "OnLeave", SetOriginalBackdrop)
|
||||
end
|
||||
|
||||
function S:SkinAce3()
|
||||
local AceGUI = LibStub("AceGUI-3.0", true)
|
||||
if not AceGUI then return end
|
||||
local oldRegisterAsWidget = AceGUI.RegisterAsWidget
|
||||
|
||||
RegisterAsWidget = function(self, widget)
|
||||
if not E.private.skins.ace3.enable then
|
||||
return oldRegisterAsWidget(self, widget)
|
||||
end
|
||||
local TYPE = widget.type
|
||||
if TYPE == "MultiLineEditBox" then
|
||||
local frame = widget.frame
|
||||
|
||||
if not widget.scrollBG.template then
|
||||
E:SetTemplate(widget.scrollBG, "Default")
|
||||
end
|
||||
|
||||
SkinButton(widget.button)
|
||||
SkinScrollBar(widget.scrollBar)
|
||||
widget.scrollBar:SetPoint("RIGHT", frame, "RIGHT", 0 -4)
|
||||
widget.scrollBG:SetPoint("TOPRIGHT", widget.scrollBar, "TOPLEFT", -2, 19)
|
||||
widget.scrollBG:SetPoint("BOTTOMLEFT", widget.button, "TOPLEFT")
|
||||
widget.scrollFrame:SetPoint("BOTTOMRIGHT", widget.scrollBG, "BOTTOMRIGHT", -4, 8)
|
||||
elseif TYPE == "CheckBox" then
|
||||
E:Kill(widget.checkbg)
|
||||
E:Kill(widget.highlight)
|
||||
|
||||
if not widget.skinnedCheckBG then
|
||||
widget.skinnedCheckBG = CreateFrame("Frame", nil, widget.frame)
|
||||
E:SetTemplate(widget.skinnedCheckBG, "Default")
|
||||
widget.skinnedCheckBG:SetPoint("TOPLEFT", widget.checkbg, "TOPLEFT", 4, -4)
|
||||
widget.skinnedCheckBG:SetPoint("BOTTOMRIGHT", widget.checkbg, "BOTTOMRIGHT", -4, 4)
|
||||
end
|
||||
|
||||
widget.check:SetParent(widget.skinnedCheckBG)
|
||||
elseif TYPE == "Dropdown" then
|
||||
local frame = widget.dropdown
|
||||
local button = widget.button
|
||||
local text = widget.text
|
||||
E:StripTextures(frame)
|
||||
|
||||
button:ClearAllPoints()
|
||||
button:SetPoint("RIGHT", frame, "RIGHT", -20, 0)
|
||||
|
||||
S:HandleNextPrevButton(button, true)
|
||||
|
||||
if not frame.backdrop then
|
||||
E:CreateBackdrop(frame, "Default")
|
||||
frame.backdrop:SetPoint("TOPLEFT", 20, -2)
|
||||
frame.backdrop:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", 2, -2)
|
||||
end
|
||||
button:SetParent(frame.backdrop)
|
||||
text:SetParent(frame.backdrop)
|
||||
HookScript(button, "OnClick", function()
|
||||
local dropdown = this.obj.pullout
|
||||
if dropdown.frame then
|
||||
E:SetTemplate(dropdown.frame, "Default", true)
|
||||
if dropdown.slider then
|
||||
E:SetTemplate(dropdown.slider, "Default")
|
||||
dropdown.slider:SetPoint("TOPRIGHT", dropdown.frame, "TOPRIGHT", -10, -10)
|
||||
dropdown.slider:SetPoint("BOTTOMRIGHT", dropdown.frame, "BOTTOMRIGHT", -10, 10)
|
||||
|
||||
if dropdown.slider:GetThumbTexture() then
|
||||
dropdown.slider:SetThumbTexture(E["media"].blankTex)
|
||||
dropdown.slider:GetThumbTexture():SetVertexColor(0.3, 0.3, 0.3)
|
||||
-- dropdown.slider:GetThumbTexture():Size(10, 12)
|
||||
dropdown.slider:GetThumbTexture():SetWidth(10)
|
||||
dropdown.slider:GetThumbTexture():SetHeight(12)
|
||||
end
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif TYPE == "LSM30_Font" or TYPE == "LSM30_Sound" or TYPE == "LSM30_Border" or TYPE == "LSM30_Background" or TYPE == "LSM30_Statusbar" then
|
||||
local frame = widget.frame
|
||||
local button = frame.dropButton
|
||||
local text = frame.text
|
||||
E:StripTextures(frame)
|
||||
|
||||
S:HandleNextPrevButton(button, true)
|
||||
frame.text:ClearAllPoints()
|
||||
frame.text:SetPoint("RIGHT", button, "LEFT", -2, 0)
|
||||
|
||||
button:ClearAllPoints()
|
||||
button:SetPoint("RIGHT", frame, "RIGHT", -10, -6)
|
||||
|
||||
if not frame.backdrop then
|
||||
E:CreateBackdrop(frame, "Default")
|
||||
if TYPE == "LSM30_Font" then
|
||||
frame.backdrop:SetPoint("TOPLEFT", 20, -17)
|
||||
elseif TYPE == "LSM30_Sound" then
|
||||
frame.backdrop:SetPoint("TOPLEFT", 20, -17)
|
||||
widget.soundbutton:SetParent(frame.backdrop)
|
||||
widget.soundbutton:ClearAllPoints()
|
||||
widget.soundbutton:SetPoint("LEFT", frame.backdrop, "LEFT", 2, 0)
|
||||
elseif TYPE == "LSM30_Statusbar" then
|
||||
frame.backdrop:SetPoint("TOPLEFT", 20, -17)
|
||||
widget.bar:SetParent(frame.backdrop)
|
||||
E:SetInside(widget.bar)
|
||||
elseif TYPE == "LSM30_Border" or TYPE == "LSM30_Background" then
|
||||
frame.backdrop:SetPoint("TOPLEFT", 42, -16)
|
||||
end
|
||||
|
||||
frame.backdrop:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", 2, -2)
|
||||
end
|
||||
button:SetParent(frame.backdrop)
|
||||
text:SetParent(frame.backdrop)
|
||||
HookScript(button, "OnClick", function()
|
||||
local dropdown = this.obj.dropdown
|
||||
if dropdown then
|
||||
E:SetTemplate(dropdown, "Default", true)
|
||||
if dropdown.slider then
|
||||
E:SetTemplate(dropdown.slider, "Transparent")
|
||||
dropdown.slider:SetPoint("TOPRIGHT", dropdown, "TOPRIGHT", -10, -10)
|
||||
dropdown.slider:SetPoint("BOTTOMRIGHT", dropdown, "BOTTOMRIGHT", -10, 10)
|
||||
|
||||
if dropdown.slider:GetThumbTexture() then
|
||||
dropdown.slider:SetThumbTexture(E["media"].blankTex)
|
||||
dropdown.slider:GetThumbTexture():SetVertexColor(0.3, 0.3, 0.3)
|
||||
-- dropdown.slider:GetThumbTexture():Size(10, 12)
|
||||
dropdown.slider:GetThumbTexture():SetWidth(10)
|
||||
dropdown.slider:GetThumbTexture():SetHeight(12)
|
||||
end
|
||||
end
|
||||
|
||||
if TYPE == "LSM30_Sound" then
|
||||
local frame = this.obj.frame
|
||||
local width = frame:GetWidth()
|
||||
dropdown:SetPoint("TOPLEFT", frame, "BOTTOMLEFT")
|
||||
dropdown:SetPoint("TOPRIGHT", frame, "BOTTOMRIGHT", width < 160 and (160 - width) or 30, 0)
|
||||
end
|
||||
end
|
||||
end)
|
||||
elseif TYPE == "EditBox" then
|
||||
local frame = widget.editbox
|
||||
local button = widget.button
|
||||
E:Kill(_G[frame:GetName().."Left"])
|
||||
E:Kill(_G[frame:GetName().."Middle"])
|
||||
E:Kill(_G[frame:GetName().."Right"])
|
||||
frame:SetHeight(17)
|
||||
E:CreateBackdrop(frame, "Default")
|
||||
frame.backdrop:SetPoint("TOPLEFT", -2, 0)
|
||||
frame.backdrop:SetPoint("BOTTOMRIGHT", 2, 0)
|
||||
frame.backdrop:SetParent(widget.frame)
|
||||
frame:SetParent(frame.backdrop)
|
||||
SkinButton(button)
|
||||
elseif TYPE == "Button" then
|
||||
local frame = widget.frame
|
||||
SkinButton(frame, nil, true)
|
||||
E:StripTextures(frame)
|
||||
E:CreateBackdrop(frame, "Default", true)
|
||||
E:SetInside(frame.backdrop)
|
||||
widget.text:SetParent(frame.backdrop)
|
||||
elseif TYPE == "Button-ElvUI" then
|
||||
local frame = widget.frame
|
||||
SkinButton(frame, nil, true)
|
||||
E:StripTextures(frame)
|
||||
E:CreateBackdrop(frame, "Default", true)
|
||||
E:SetInside(frame.backdrop)
|
||||
widget.text:SetParent(frame.backdrop)
|
||||
elseif TYPE == "Keybinding" then
|
||||
local button = widget.button
|
||||
local msgframe = widget.msgframe
|
||||
local msg = widget.msgframe.msg
|
||||
SkinButton(button)
|
||||
E:StripTextures(msgframe)
|
||||
E:CreateBackdrop(msgframe, "Default", true)
|
||||
E:SetInside(msgframe.backdrop)
|
||||
msgframe:SetToplevel(true)
|
||||
|
||||
msg:ClearAllPoints()
|
||||
msg:SetPoint("LEFT", 10, 0)
|
||||
msg:SetPoint("RIGHT", -10, 0)
|
||||
msg:SetJustifyV("MIDDLE")
|
||||
msg:SetWidth(msg:GetWidth() + 10)
|
||||
elseif TYPE == "Slider" then
|
||||
local frame = widget.slider
|
||||
local editbox = widget.editbox
|
||||
local lowtext = widget.lowtext
|
||||
local hightext = widget.hightext
|
||||
local HEIGHT = 12
|
||||
|
||||
E:StripTextures(frame)
|
||||
E:SetTemplate(frame, "Default")
|
||||
frame:SetHeight(HEIGHT)
|
||||
frame:SetThumbTexture(E["media"].blankTex)
|
||||
frame:GetThumbTexture():SetVertexColor(0.3, 0.3, 0.3)
|
||||
-- frame:GetThumbTexture():Size(HEIGHT-2,HEIGHT+2)
|
||||
frame:GetThumbTexture():SetWidth(HEIGHT-2)
|
||||
frame:GetThumbTexture():SetHeight(HEIGHT+2)
|
||||
|
||||
E:SetTemplate(editbox, "Default")
|
||||
editbox:SetHeight(15)
|
||||
editbox:SetPoint("TOP", frame, "BOTTOM", 0, -1)
|
||||
|
||||
lowtext:SetPoint("TOPLEFT", frame, "BOTTOMLEFT", 2, -2)
|
||||
hightext:SetPoint("TOPRIGHT", frame, "BOTTOMRIGHT", -2, -2)
|
||||
|
||||
--[[elseif TYPE == "ColorPicker" then
|
||||
local frame = widget.frame
|
||||
local colorSwatch = widget.colorSwatch
|
||||
]]
|
||||
end
|
||||
return oldRegisterAsWidget(self, widget)
|
||||
end
|
||||
AceGUI.RegisterAsWidget = RegisterAsWidget
|
||||
|
||||
local oldRegisterAsContainer = AceGUI.RegisterAsContainer
|
||||
RegisterAsContainer = function(self, widget)
|
||||
if not E.private.skins.ace3.enable then
|
||||
return oldRegisterAsContainer(self, widget)
|
||||
end
|
||||
local TYPE = widget.type
|
||||
if TYPE == "ScrollFrame" then
|
||||
local frame = widget.scrollbar
|
||||
SkinScrollBar(frame)
|
||||
elseif TYPE == "InlineGroup" or TYPE == "TreeGroup" or TYPE == "TabGroup-ElvUI" or TYPE == "Frame" or TYPE == "DropdownGroup" or TYPE == "Window" then
|
||||
local frame = widget.content:GetParent()
|
||||
if TYPE == "Frame" then
|
||||
E:StripTextures(frame)
|
||||
if(not E.GUIFrame) then
|
||||
E.GUIFrame = frame
|
||||
end
|
||||
|
||||
for _, child in ipairs({frame:GetChildren()}) do
|
||||
if child:GetObjectType() == "Button" and child:GetText() then
|
||||
SkinButton(child)
|
||||
else
|
||||
E:StripTextures(child)
|
||||
end
|
||||
end
|
||||
|
||||
--[[for i=1, frame:GetNumChildren() do
|
||||
local child = select(i, frame:GetChildren())
|
||||
if child:GetObjectType() == "Button" and child:GetText() then
|
||||
SkinButton(child)
|
||||
else
|
||||
E:StripTextures(child)
|
||||
end
|
||||
end]]
|
||||
elseif TYPE == "Window" then
|
||||
E:StripTextures(frame)
|
||||
S:HandleCloseButton(frame.obj.closebutton)
|
||||
end
|
||||
E:SetTemplate(frame, "Transparent")
|
||||
|
||||
if widget.treeframe then
|
||||
E:SetTemplate(widget.treeframe, "Transparent")
|
||||
frame:SetPoint("TOPLEFT", widget.treeframe, "TOPRIGHT", 1, 0)
|
||||
|
||||
local oldCreateButton = widget.CreateButton
|
||||
widget.CreateButton = function(self)
|
||||
local button = oldCreateButton(self)
|
||||
E:StripTextures(button.toggle)
|
||||
button.toggle.SetNormalTexture = E.noop
|
||||
button.toggle.SetPushedTexture = E.noop
|
||||
button.toggleText = button.toggle:CreateFontString(nil, "OVERLAY")
|
||||
E:FontTemplate(button.toggleText, nil, 19)
|
||||
button.toggleText:SetPoint("CENTER", 0, 0)
|
||||
button.toggleText:SetText("+")
|
||||
return button
|
||||
end
|
||||
|
||||
local oldRefreshTree = widget.RefreshTree
|
||||
widget.RefreshTree = function(self, scrollToSelection)
|
||||
oldRefreshTree(self, scrollToSelection)
|
||||
if not self.tree then return end
|
||||
local status = self.status or self.localstatus
|
||||
local groupstatus = status.groups
|
||||
local lines = self.lines
|
||||
local buttons = self.buttons
|
||||
|
||||
for i, line in pairs(lines) do
|
||||
local button = buttons[i]
|
||||
if groupstatus[line.uniquevalue] and button then
|
||||
button.toggleText:SetText("-")
|
||||
elseif button then
|
||||
button.toggleText:SetText("+")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
if TYPE == "TabGroup-ElvUI" then
|
||||
local oldCreateTab = widget.CreateTab
|
||||
widget.CreateTab = function(self, id)
|
||||
local tab = oldCreateTab(self, id)
|
||||
E:StripTextures(tab)
|
||||
tab.backdrop = CreateFrame("Frame", nil, tab)
|
||||
E:SetTemplate(tab.backdrop, "Transparent")
|
||||
tab.backdrop:SetFrameLevel(tab:GetFrameLevel() - 1)
|
||||
tab.backdrop:SetPoint("TOPLEFT", 10, -3)
|
||||
tab.backdrop:SetPoint("BOTTOMRIGHT", -10, 0)
|
||||
return tab
|
||||
end
|
||||
end
|
||||
|
||||
if widget.scrollbar then
|
||||
SkinScrollBar(widget.scrollbar)
|
||||
end
|
||||
elseif TYPE == "SimpleGroup" then
|
||||
local frame = widget.content:GetParent()
|
||||
E:SetTemplate(frame, "Transparent", nil, true) --ignore border updates
|
||||
frame:SetBackdropBorderColor(0,0,0,0) --Make border completely transparent
|
||||
end
|
||||
|
||||
return oldRegisterAsContainer(self, widget)
|
||||
end
|
||||
AceGUI.RegisterAsContainer = RegisterAsContainer
|
||||
end
|
||||
|
||||
local function attemptSkin()
|
||||
local AceGUI = LibStub("AceGUI-3.0", true)
|
||||
if AceGUI and (AceGUI.RegisterAsContainer ~= RegisterAsContainer or AceGUI.RegisterAsWidget ~= RegisterAsWidget) then
|
||||
S:SkinAce3()
|
||||
end
|
||||
end
|
||||
|
||||
local f = CreateFrame("Frame")
|
||||
f:RegisterEvent("ADDON_LOADED")
|
||||
f:SetScript("OnEvent", attemptSkin)
|
||||
|
||||
S:AddCallback("Ace3", attemptSkin)
|
||||
Reference in New Issue
Block a user