To be used with other Plugins - This is NOT a Standalone!
ChatTabs Manager v0.5.5
P*ssed how they didn't add the possibility to output your messages to other ChatTabs?
or at least make your own Chat-Filters to distinguish your Messages?
Worry not. Here comes the solution.
- Automatically create unlimited Chat Tabs
- with your own Filters, UI-Elements and
- whatever you desire and display them
- ONLY in your own Tab and not everywhere.
- Period. Metroid. Samus Aran.
It creates a native ChatTab (with your desired name), disables all filters for that ChatTab and then adds an
TopLevelWindowContainer in the ChatWindow at which you can attach you own UI-Elements (for example
your Console or Combat Log). It will behave like a native Tab - just with your own Interface Elements.
Meaning it will only show when the Tab is selected, and it will hide when you minimized the Chat manually.
It will also auto-adjust your content to the proper size as well (of course only if you set it up correctly).
Example Plugin:
http://www.esoui.com/downloads/info1...plePlugin.html
Code Example:
Code:
-----------------------------
-- AN EXAMPLE
-----------------------------
-- Add the following in your own Plugin
local function LoadMyTabs(CETA)
-- Your Control Name, Your Tab Title, Soft-Integration (keeps Chat-Controls intact)
CETA:Tab("MY_DEBUG_CONSOLE", "Debug Console", true)
CETA:Tab("MY_COMBAT_LOG", "Combat Log")
-- Add some Background to our Pseudo Debug Console
MY_DEBUG_CONSOLE.bg = wm:CreateControlFromVirtual("MY_DEBUG_CONSOLE_BG", MY_DEBUG_CONSOLE, "ZO_DefaultBackdrop")
MY_DEBUG_CONSOLE.bg:SetAnchorFill(MY_DEBUG_CONSOLE)
-- Add some Background to our Pseudo Combat Log
MY_COMBAT_LOG.bg = wm:CreateControlFromVirtual("MY_COMBAT_LOG_BG", MY_COMBAT_LOG, "ZO_DefaultBackdrop")
MY_COMBAT_LOG.bg:SetAnchorFill(MY_COMBAT_LOG)
end
-- Right now there are only two Callbacks:
--
-- CETA_ADD_TABS which gets called right before the loading is complete and
-- CETA_LOADED which gets called after everything is done obviously.
CALLBACK_MANAGER:RegisterCallback("CETA_ADD_TABS", LoadMyTabs)
Of course you don't have to use Callbacks. It 's the most save way to get sure the Tabs are properly
added at the right time thought. If you want to call it otherwise just add the Plugin as a Dependency
and make sure you call it after everything has been loaded.
What it aims to do:
- Be as leightweight and easy to integrate as possible
- Get around the native API limitations for managing ChatTabs (like creating your own filters)
- Get a native, streamlined ESO-UI feeling for any Console- / Log-Plugin
without having to worry about basic UI-Functions and Accessibility
- To not waste any screen-space with trillions of windows floating around
- To be implemented either as a Dependency Plugin or by just integrating it in your Plugin
- And a short API-Description (I'm really bad at that )
Known Bugs / Minor Limitations:
- Background will stay solid if you press RETURN while you are in an custom Tab
until you switch back to chat and click at the edit-line and out of it again.
Low priority for now thought.
- It won't detect if you rename Tabs or change their Filters on the fly.
This shouldn't be to hard and might be fixed soon.
Todo:
- API-Documentation (maybe )
- Garbage Collector for removing unused Tabs automatically
- Hardlinking Tabs and Controls properly
- Performance Tweaks
- Code Cleaning
Cheers!
thelegendaryof