Events (API)

Events are messages sent by the WoW client to UI code (OnEvent script handlers of Frame derivatives), 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").