Events are a basic and important message passing system for WoW and its UI. The Event API and the WoW UI are built around these messages being recieved by Frames from WoW, through the use of event handlers, and by expressly registering for messages for a frame. An OnLoad event fires for a Frame during load, allowing it register for these event messages. The List of all Events details this event API by providing a reference for each of these messages.
- List of all events
- Communication events
- Events from disassembly - includes Glue Events
- AddOn loading process - includes events that fire during the loading process
- Handling events - a tutorial on how to set up event handling in your addon.
- Parsing event messages - extracting information from events with textual parameters.
From a UI perspective, Events in WoW are messages sent by the WoW client to the UI Frames (via frame script handlers), mostly in reaction to things occurring in the game world.
The World of Warcraft interface is entirely event driven: all interface code is invoked in response to an event (or OnUpdate "events"). All script execution must be completed before a frame is rendered; therefore, event processing code that takes too long or contains an infinite loop will freeze the client.
You can register your Frame-derived widget to receive an event using the frame:RegisterEvent("eventName") function. When the events occur, they will be delivered to the OnEvent script handler, which can be set using frame:SetScript("OnEvent", handlerFunc). To unregister an event, use frame:UnregisterEvent("eventName").