WoW:HOWTOs: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
m (This revision and previous are available under: CC BY-SA 3.0. See list of authors in previous history below.) |
||
| Line 1: | Line 1: | ||
{{UIHowTo|!Overview}} | |||
'''HOWTOs''' are detailed documents describing "how to" accomplish something specific. Most of them will assume a basic understanding of the WoW scripting language and framework. For more information on the framework please refer to [[Portal:Interface customization]], [[AddOns]], and [[World of Warcraft API]]. | |||
This list may be incomplete; all HOWTOs are listed on [[:Category:HOWTOs]]. | |||
==Getting Started== | |||
;[[Getting started with writing addons]] : An overview of the tools, code and file types involved in creating addons. | |||
;[[AddOn programming tutorial/Introduction]] ([[AddOn programming tutorial/Introduction|Overview Page]]) : Creating a Hello World! AddOn. | |||
;[[Setting up Visual Studio for WoW XML]] : On a Windows platform, you can use Visual Studio to create XML descriptions of interfaces. | |||
==General Lua tutorials== | |||
*[[Common Lua shortcuts]] - Commonly occurring uses of Lua logic evaluation short-cuts, method syntax and the global environment. | |||
*[[Function arguments]] - Declaring and passing arguments to functions. | |||
*[[Using the argument '...' efficiently]] - Tips involving the vararg operator. | |||
*[[Hooking functions]] - Functions are first-class values in Lua, which allows you to override or extend the behavior of already declared functions. | |||
*[[Pattern matching]] - An overview of the regular expression features of Lua. | |||
*[[Lua basics]] - a few basic hints and notes about [[WoW Lua|Lua]] | |||
==General Addon tutorials== | |||
;[[Getting the current interface number]] : For use in .toc files. | |||
;[[Handling events]] : Creating, and managing event handler code. | |||
;[[Saving variables between game sessions]] : Description and examples of saving variables to disk. | |||
;[[Creating defaults]] : creating default values in your addon's saved variables. | |||
;[[Localizing an addon]] : General techniques enabling localization. | |||
;[[Using OnUpdate correctly]] : Throttling OnUpdate code execution. | |||
==Using FrameXML== | |||
;[[Creating GUI configuration options]] : A custom configuration frame tutorial. | |||
;[[Creating tabbed windows]] : Using UIPanelTemplates to create tabs. | |||
;[[Creating a slash command]] : Creating and using slash command handlers. | |||
;[[Creating your own chat types]] : Adding new chat types allows users to redirect your addon's chat output to one or more desired chat frames. | |||
;[[Making a scrollable list using FauxScrollFrameTemplate]] : FauxScrollFrameTemplate tutorial. | |||
;[[Creating standard left-sliding frames]] : using the UIPanelLayout attributes to manage your frame's position. | |||
;[[Make Frames Closable With the "Esc" Key]] : using UISpecialFrames to enable this behavior. | |||
;[[Removing Blizzard default frames]] : Maps default UI elements to frame names and suggests use of the :Hide() widget function. | |||
;[[Hooking outgoing chat messages]] : Describes a mechanism to alter outgoing chat messages. | |||
;[[Creating simple pop-up dialog boxes]]: Using StaticPopup to display simple prompts. | |||
;[[Using the ColorPickerFrame]] : Invoking the default color picker. | |||
;[[Using UIDropDownMenu]] : Drop down boxes and menus using the FrameXML API. | |||
;[[Using the Interface Options Addons panel]] : Describes how to create an option panel that works with the default UI's Interface Options frame. | |||
;[[Using bindings.xml to create key bindings for your addon]] : Enabling default UI bindings. | |||
==Widgets== | |||
;[[HOWTO: Scroll EditBoxes to the left programatically]] | |||
;[[Making Draggable Frames]] : Describes several methods to allow the user to move a frame. | |||
== Miscellaneous == | |||
;[[Detecting an instant cast spell]] : Using the UNIT_SPELLCAST_SUCCEEDED event. | |||
;[[Identifying buffs using textures]] | |||
;[[HOWTO: Speed up string match lookups]] : Describes how to potentially speed up multiple similar pattern string matching. | |||
;[[HOWTO: Use Tables Without Generating Extra Garbage]] : An overview of techniques enabling table reuse and avoiding excessive garbage generation. | |||
==See also== | |||
* [[Making a macro]] : An overview of the various macro slash commands. | |||
[[Category:Interface customization]] | |||
Revision as of 05:43, 25 January 2017
← HOWTOs
HOWTOs are detailed documents describing "how to" accomplish something specific. Most of them will assume a basic understanding of the WoW scripting language and framework. For more information on the framework please refer to Portal:Interface customization, AddOns, and World of Warcraft API.
This list may be incomplete; all HOWTOs are listed on Category:HOWTOs.
Getting Started
- Getting started with writing addons
- An overview of the tools, code and file types involved in creating addons.
- AddOn programming tutorial/Introduction (Overview Page)
- Creating a Hello World! AddOn.
- Setting up Visual Studio for WoW XML
- On a Windows platform, you can use Visual Studio to create XML descriptions of interfaces.
General Lua tutorials
- Common Lua shortcuts - Commonly occurring uses of Lua logic evaluation short-cuts, method syntax and the global environment.
- Function arguments - Declaring and passing arguments to functions.
- Using the argument '...' efficiently - Tips involving the vararg operator.
- Hooking functions - Functions are first-class values in Lua, which allows you to override or extend the behavior of already declared functions.
- Pattern matching - An overview of the regular expression features of Lua.
- Lua basics - a few basic hints and notes about Lua
General Addon tutorials
- Getting the current interface number
- For use in .toc files.
- Handling events
- Creating, and managing event handler code.
- Saving variables between game sessions
- Description and examples of saving variables to disk.
- Creating defaults
- creating default values in your addon's saved variables.
- Localizing an addon
- General techniques enabling localization.
- Using OnUpdate correctly
- Throttling OnUpdate code execution.
Using FrameXML
- Creating GUI configuration options
- A custom configuration frame tutorial.
- Creating tabbed windows
- Using UIPanelTemplates to create tabs.
- Creating a slash command
- Creating and using slash command handlers.
- Creating your own chat types
- Adding new chat types allows users to redirect your addon's chat output to one or more desired chat frames.
- Making a scrollable list using FauxScrollFrameTemplate
- FauxScrollFrameTemplate tutorial.
- Creating standard left-sliding frames
- using the UIPanelLayout attributes to manage your frame's position.
- Make Frames Closable With the "Esc" Key
- using UISpecialFrames to enable this behavior.
- Removing Blizzard default frames
- Maps default UI elements to frame names and suggests use of the :Hide() widget function.
- Hooking outgoing chat messages
- Describes a mechanism to alter outgoing chat messages.
- Creating simple pop-up dialog boxes
- Using StaticPopup to display simple prompts.
- Using the ColorPickerFrame
- Invoking the default color picker.
- Using UIDropDownMenu
- Drop down boxes and menus using the FrameXML API.
- Using the Interface Options Addons panel
- Describes how to create an option panel that works with the default UI's Interface Options frame.
- Using bindings.xml to create key bindings for your addon
- Enabling default UI bindings.
Widgets
- HOWTO: Scroll EditBoxes to the left programatically
- Making Draggable Frames
- Describes several methods to allow the user to move a frame.
Miscellaneous
- Detecting an instant cast spell
- Using the UNIT_SPELLCAST_SUCCEEDED event.
- Identifying buffs using textures
- HOWTO: Speed up string match lookups
- Describes how to potentially speed up multiple similar pattern string matching.
- HOWTO: Use Tables Without Generating Extra Garbage
- An overview of techniques enabling table reuse and avoiding excessive garbage generation.
See also
- Making a macro : An overview of the various macro slash commands.