Zgoo - data inspection tool
Zgoo allows you to browse through tables and userdata to examine their values and components.
<b>Command usage:</b>
To use Zgoo, the chat command /zgoo is used.
/zgoo global or /zgoo _G - examines the global table. Some functions are grouped into categories "buckets". Also, some additional utilities are provided in the list.
/zgoo GuiRoot - From there you can see all the children in the GuiRoot:GetChildren() table.
/zgoo Any_Variable or zgoo Some_Function(blah) - Examine any Lua variable or function result.
/zgoo mouse - Examine the UI control that currently has your mouse's focus.
In the Zgoo window:
* Click the [+]/[-] buttons to expand/collapse tables and user data.
* Click [.] or [:] to call functions.
* The {...} button shows table contents inline, useful when you need to see one level deeper immediately
* The {@} button displays table addresses, useful when you suspect that two names actually link to the same table.
Extras:
- GetChildren function "added" for all userdata elements. This allows for easy access and visibility to all children. (This is not available by default)
- A__Zgoo_ToggleHidden is an alias to ToggleHidden. Moved it up the list for easy access.
- If a table has .tostring(), this gets shown inline.
TIP: Use Zgoo as not just a data explorer, but a quick-n-dirty interface to your debug commands. If you create YourAddon.someThings={} and each thing inside will have "function thing:tostring() return self.name end" and maybe a thing:debugMe() returning some interesting values, then you can /zgoo YourAddon, expand .someThings, and see a list of things with names shown, and you'll be able to click debugMe() on each thing. Or maybe even have a DeleteAllThings() function that you'd never need to call in your addon, but you'd use it to test how things are handled. If you're into that sort of thing, you could even make a whole set of functions to run them with just one click from Zgoo, without having to make a dedicated debug interface.
== Zgoo Event Tracker ==
/zgoo events
Track events in real time. Can unregister events by hitting the X button (reload to undo this). Hit + to expand the arguments for the event.
Also for convenience (maybe):
/zgoo free
Will unlock your mouse from the reticle so you can freely move it around the screen.
Known Issues:
- if some function call breaks it all, hold CTRL to disable automatic calling of Get*,Is*,Can* functions.