Registers a panel to be displayed in the Interface Options window. The following members and methods are used by the Interface Options frame to display and organize panels:

  • panel.name - string (required) - The name of the AddOn or group of configuration options. This is the text that will display in the AddOn options list.

  • panel.parent - string (optional) - Name of the parent of the AddOn or group of configuration options. This identifies "panel" as the child of another category. If the parent category doesn't exist, "panel" will be displayed as a regular category.

  • panel.okay - function (optional) - This method will run when the player clicks "okay" in the Interface Options.

  • panel.cancel - function (optional) - This method will run when the player clicks "cancel" in the Interface Options. Use this to revert their changes.

  • panel.default - function (optional) - This method will run when the player clicks "defaults". Use this to revert their changes to your defaults.

  • panel.refresh - function (optional) - This method will run when the Interface Options frame calls its OnShow function and after defaults have been applied via the panel.default method described above. Use this to refresh your panel's UI in case settings were changed without player interaction.


See also Addon-related functions.

Signature:

InterfaceOptions_AddCategory(panel)

Arguments:

  • panel - A Frame object (table)
This function is not a C API but a Lua function declared in Blizzard's default user interface. Its implementation can be viewed by extracting the addon data using the Addon Kit provided by Blizzard.
This function is defined by the default user interface in Lua. You can find the definition by examining the FrameXML code for the default UI,