initial commit
This commit is contained in:
58
Developer/TInspect.lua
Normal file
58
Developer/TInspect.lua
Normal file
@@ -0,0 +1,58 @@
|
||||
--Lua functions
|
||||
local _G = _G
|
||||
local select = select
|
||||
|
||||
local hooksecurefunc = hooksecurefunc
|
||||
local IsAddOnLoaded = IsAddOnLoaded
|
||||
local CreateFrame = CreateFrame
|
||||
-- GLOBALS: ElvUI
|
||||
|
||||
local function OnMouseDown(self, button)
|
||||
local text = self.Text:GetText()
|
||||
if button == 'RightButton' then
|
||||
ElvUI[1]:GetModule('Chat'):SetChatEditBoxMessage(text)
|
||||
elseif button == 'MiddleButton' then
|
||||
local rawData = self:GetParent():GetAttributeData().rawValue
|
||||
if rawData.IsObjectType and rawData:IsObjectType('Texture') then
|
||||
_G.TEX = rawData
|
||||
ElvUI[1]:Print('_G.TEX set to: ', text)
|
||||
else
|
||||
_G.FRAME = rawData
|
||||
ElvUI[1]:Print('_G.FRAME set to: ', text)
|
||||
end
|
||||
else
|
||||
_G.TableAttributeDisplayValueButton_OnMouseDown(self)
|
||||
end
|
||||
end
|
||||
|
||||
local function UpdateLines(self)
|
||||
local scrollFrame = self.LinesScrollFrame or _G.TableAttributeDisplay.LinesScrollFrame -- tinspect, or fstack ctrl
|
||||
if not scrollFrame then return end
|
||||
for i = 1, scrollFrame.LinesContainer:GetNumChildren() do
|
||||
local child = select(i, scrollFrame.LinesContainer:GetChildren())
|
||||
if child.ValueButton and child.ValueButton:GetScript('OnMouseDown') ~= OnMouseDown then
|
||||
child.ValueButton:SetScript('OnMouseDown', OnMouseDown)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local event = 'ADDON_LOADED'
|
||||
local function Setup(frame)
|
||||
if frame.Registered then return end
|
||||
local debugTools = IsAddOnLoaded('Blizzard_DebugTools')
|
||||
if debugTools then
|
||||
hooksecurefunc(_G.TableInspectorMixin, 'RefreshAllData', UpdateLines) -- /tinspect
|
||||
hooksecurefunc(_G.TableAttributeDisplay.dataProviders[2], 'RefreshData', UpdateLines) -- fstack ctrl
|
||||
frame.Registered = true
|
||||
|
||||
if frame:IsEventRegistered(event) then
|
||||
frame:UnregisterEvent(event)
|
||||
end
|
||||
elseif not frame:IsEventRegistered(event) then
|
||||
frame:RegisterEvent(event)
|
||||
end
|
||||
end
|
||||
|
||||
local frame = CreateFrame('Frame')
|
||||
frame:SetScript('OnEvent', Setup)
|
||||
Setup(frame)
|
||||
Reference in New Issue
Block a user