Files
ElvUIModernized/ElvUI/Modules/Skins/Blizzard/Trainer.lua
T
2018-07-13 16:29:06 +03:00

154 lines
5.9 KiB
Lua

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 find = string.find
--WoW API / Variables
local hooksecurefunc = hooksecurefunc
local function LoadSkin()
if E.private.skins.blizzard.enable ~= true or E.private.skins.blizzard.trainer ~= true then return end
UIPanelWindows["ClassTrainerFrame"] = {area = "doublewide", pushable = 0, whileDead = 1}
E:Size(ClassTrainerFrame, 710, 470)
E:StripTextures(ClassTrainerFrame, true)
E:CreateBackdrop(ClassTrainerFrame, "Transparent")
E:Point(ClassTrainerFrame.backdrop, "TOPLEFT", 15, -11)
E:Point(ClassTrainerFrame.backdrop, "BOTTOMRIGHT", -34, 74)
E:StripTextures(ClassTrainerListScrollFrame)
E:Size(ClassTrainerListScrollFrame, 300)
ClassTrainerListScrollFrame.SetHeight = E.noop
ClassTrainerListScrollFrame:ClearAllPoints()
ClassTrainerListScrollFrame:SetPoint("TOPLEFT", 17, -85)
E:StripTextures(ClassTrainerDetailScrollFrame)
E:Size(ClassTrainerDetailScrollFrame, 295, 280)
ClassTrainerDetailScrollFrame.SetHeight = E.noop
ClassTrainerDetailScrollFrame:ClearAllPoints()
ClassTrainerDetailScrollFrame:SetPoint("TOPRIGHT", ClassTrainerFrame, -64, -85)
ClassTrainerDetailScrollFrame.scrollBarHideable = nil
ClassTrainerFrame.bg1 = CreateFrame("Frame", nil, ClassTrainerFrame)
E:SetTemplate(ClassTrainerFrame.bg1, "Transparent")
ClassTrainerFrame.bg1:SetPoint("TOPLEFT", 18, -77)
ClassTrainerFrame.bg1:SetPoint("BOTTOMRIGHT", -367, 77)
ClassTrainerFrame.bg1:SetFrameLevel(ClassTrainerFrame.bg1:GetFrameLevel() - 1)
ClassTrainerFrame.bg2 = CreateFrame("Frame", nil, ClassTrainerFrame)
E:SetTemplate(ClassTrainerFrame.bg2, "Transparent")
ClassTrainerFrame.bg2:SetPoint("TOPLEFT", ClassTrainerFrame.bg1, "TOPRIGHT", 1, 0)
ClassTrainerFrame.bg2:SetPoint("BOTTOMRIGHT", ClassTrainerFrame, "BOTTOMRIGHT", -38, 77)
ClassTrainerFrame.bg2:SetFrameLevel(ClassTrainerFrame.bg2:GetFrameLevel() - 1)
E:StripTextures(ClassTrainerDetailScrollChildFrame)
E:Size(ClassTrainerDetailScrollFrame, 300, 150)
E:StripTextures(ClassTrainerExpandButtonFrame)
S:HandleDropDownBox(ClassTrainerFrameFilterDropDown)
ClassTrainerFrameFilterDropDown:SetPoint("TOPRIGHT", -55, -40)
S:HandleScrollBar(ClassTrainerListScrollFrameScrollBar)
S:HandleScrollBar(ClassTrainerDetailScrollFrameScrollBar)
ClassTrainerCancelButton:ClearAllPoints()
ClassTrainerCancelButton:SetPoint("TOPRIGHT", ClassTrainerDetailScrollFrame, "BOTTOMRIGHT", 23, -3)
S:HandleButton(ClassTrainerCancelButton)
ClassTrainerTrainButton:ClearAllPoints()
ClassTrainerTrainButton:SetPoint("TOPRIGHT", ClassTrainerCancelButton, "TOPLEFT", -3, 0)
S:HandleButton(ClassTrainerTrainButton)
ClassTrainerMoneyFrame:ClearAllPoints()
ClassTrainerMoneyFrame:SetPoint("BOTTOMLEFT", ClassTrainerFrame, "BOTTOMRIGHT", -180, 107)
S:HandleCloseButton(ClassTrainerFrameCloseButton)
E:StripTextures(ClassTrainerSkillIcon)
E:SetTemplate(ClassTrainerSkillIcon, "Default")
E:StyleButton(ClassTrainerSkillIcon, nil, true)
E:Size(ClassTrainerSkillIcon, 47)
ClassTrainerSkillIcon:SetPoint("TOPLEFT", 2, -1)
ClassTrainerSkillName:SetPoint("TOPLEFT", 55, 0)
hooksecurefunc("ClassTrainer_SetSelection", function()
local skillIcon = ClassTrainerSkillIcon:GetNormalTexture()
if skillIcon then
E:SetInside(skillIcon)
skillIcon:SetTexCoord(unpack(E.TexCoords))
E:SetTemplate(ClassTrainerSkillIcon, "Default")
end
end)
CLASS_TRAINER_SKILLS_DISPLAYED = 19
hooksecurefunc("ClassTrainer_SetToTradeSkillTrainer", function()
CLASS_TRAINER_SKILLS_DISPLAYED = 19
end)
hooksecurefunc("ClassTrainer_SetToClassTrainer", function()
CLASS_TRAINER_SKILLS_DISPLAYED = 19
end)
for i = 12, 19 do
CreateFrame("Button", "ClassTrainerSkill"..i, ClassTrainerFrame, "ClassTrainerSkillButtonTemplate"):SetPoint("TOPLEFT", _G["ClassTrainerSkill"..i - 1], "BOTTOMLEFT")
end
ClassTrainerSkill1:SetPoint("TOPLEFT", 22, -80)
for i = 1, CLASS_TRAINER_SKILLS_DISPLAYED do
local button = _G["ClassTrainerSkill"..i]
local highlight = _G["ClassTrainerSkill"..i.."Highlight"]
button:SetNormalTexture("Interface\\AddOns\\ElvUI\\media\\textures\\PlusMinusButton")
button.SetNormalTexture = E.noop
E:Size(button:GetNormalTexture(), 14)
highlight:SetTexture("")
highlight.SetTexture = E.noop
hooksecurefunc(button, "SetNormalTexture", function(self, texture)
if find(texture, "MinusButton") then
self:GetNormalTexture():SetTexCoord(0.545, 0.975, 0.085, 0.925)
elseif find(texture, "PlusButton") then
self:GetNormalTexture():SetTexCoord(0.045, 0.475, 0.085, 0.925)
else
self:GetNormalTexture():SetTexCoord(0, 0, 0, 0)
end
end)
end
ClassTrainerCollapseAllButton:SetPoint("LEFT", ClassTrainerExpandTabLeft, "RIGHT", 5, 20)
ClassTrainerCollapseAllButton:SetNormalTexture("Interface\\AddOns\\ElvUI\\media\\textures\\PlusMinusButton")
ClassTrainerCollapseAllButton.SetNormalTexture = E.noop
ClassTrainerCollapseAllButton:GetNormalTexture():SetPoint("LEFT", 3, 2)
E:Size(ClassTrainerCollapseAllButton:GetNormalTexture(), 15)
ClassTrainerCollapseAllButton:SetHighlightTexture("")
ClassTrainerCollapseAllButton.SetHighlightTexture = E.noop
ClassTrainerCollapseAllButton:SetDisabledTexture("Interface\\AddOns\\ElvUI\\media\\textures\\PlusMinusButton")
ClassTrainerCollapseAllButton.SetDisabledTexture = E.noop
ClassTrainerCollapseAllButton:GetDisabledTexture():SetPoint("LEFT", 3, 2)
E:Size(ClassTrainerCollapseAllButton:GetDisabledTexture(), 15)
ClassTrainerCollapseAllButton:GetDisabledTexture():SetTexCoord(0.045, 0.475, 0.085, 0.925)
ClassTrainerCollapseAllButton:GetDisabledTexture():SetDesaturated(true)
hooksecurefunc(ClassTrainerCollapseAllButton, "SetNormalTexture", function(self, texture)
if find(texture, "MinusButton") then
self:GetNormalTexture():SetTexCoord(0.545, 0.975, 0.085, 0.925)
else
self:GetNormalTexture():SetTexCoord(0.045, 0.475, 0.085, 0.925)
end
end)
end
S:AddCallbackForAddon("Blizzard_TrainerUI", "Trainer", LoadSkin)