WoW:HOWTOs: Difference between revisions

3,995 bytes added ,  25 January 2017
m
This revision and previous are available under: CC BY-SA 3.0. See list of authors in previous history below.
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]]