Reply
Thread Tools Display Modes
Unread 06-09-11, 04:48 AM   #1
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,362
WoW UI Panel / Option Templates

A gathering of all the ui panel / option / confg templates I could find.

It helps when creating config elements.

frame = CreateFrame("frameType" [, "name" [, parent [, "template"]]])
http://wowprogramming.com/docs/api/CreateFrame

-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

UIPanelTemplates
http://wowprogramming.com/utils/xmlb...lTemplates.xml
lua Code:
  1. --...
  2.  
  3. <Button name="UIPanelButtonTemplate" virtual="true">...</Button>
  4. <Button name="UIMenuButtonStretchTemplate" virtual="true">...</Button>
  5. <Button name="UIGoldBorderButtonTemplate" virtual="true">...</Button>
  6. <Button name="UIPanelButtonGrayTemplate" virtual="true">...</Button>
  7. <Button name="UIPanelCloseButton" virtual="true">...</Button>
  8. <Button name="UIPanelScrollUpButtonTemplate" virtual="true">...</Button>
  9. <Button name="UIPanelScrollDownButtonTemplate" virtual="true">...</Button>
  10. <Button name="TabButtonTemplate" virtual="true">...</Button>
  11. <Button name="GameMenuButtonTemplate" inherits="UIPanelButtonTemplate" virtual="true">...</Button>
  12. <Button name="UIServiceButtonTemplate" virtual="true">...</Button>
  13. <Button name="UIPanelInfoButton" virtual="true">...</Button>
  14. <Button name="UIPanelSquareButton" virtual="true">...</Button>
  15. <Button name="UIPanelLargeSilverButton" virtual="true">...</Button>
  16. <Button name="TruncatedButtonTemplate" motionScriptsWhileDisabled="true" virtual="true">...</Button>
  17. <Button name="MagicButtonTemplate" inherits="UIPanelButtonTemplate" virtual="true">...</Button>
  18. <Button name="MainHelpPlateButton" virtual="true">...</Button>
  19. <Button name="HelpPlate" parent="UIParent" hidden="true" toplevel="true" enableMouse="true" enableKeyboard="true" frameStrata="DIALOG">...</Button>
  20. <Button name="HelpPlateButton" virtual="true" frameStrata="DIALOG" hidden="true">...</Button>
  21.  
  22. <Slider name="UIPanelScrollBarTemplate" virtual="true">...</Slider>
  23. <Slider name="UIPanelScrollBarTrimTemplate" virtual="true">...</Slider>
  24. <Slider name="UIPanelScrollBarTemplateLightBorder" virtual="true">...</Slider>
  25. <Slider name="MinimalScrollBarTemplate" virtual="true">...</Slider>
  26.  
  27. <ScrollFrame name="UIPanelScrollFrameCodeTemplate" virtual="true">...</ScrollFrame>
  28. <ScrollFrame name="UIPanelScrollFrameTemplate" virtual="true" inherits="UIPanelScrollFrameCodeTemplate">...</ScrollFrame>
  29. <ScrollFrame name="UIPanelScrollFrameTemplate2" inherits="UIPanelScrollFrameTemplate" virtual="true">...</ScrollFrame>
  30. <ScrollFrame name="MinimalScrollFrameTemplate" inherits="UIPanelScrollFrameCodeTemplate" virtual="true">...</ScrollFrame>
  31. <ScrollFrame name="FauxScrollFrameTemplate" inherits="UIPanelScrollFrameTemplate" virtual="true">...</ScrollFrame>
  32. <ScrollFrame name="FauxScrollFrameTemplateLight" virtual="true">...</ScrollFrame>
  33. <ScrollFrame name="ListScrollFrameTemplate" inherits="FauxScrollFrameTemplate" virtual="true">...</ScrollFrame>
  34. <ScrollFrame name="InputScrollFrameTemplate" inherits="UIPanelScrollFrameTemplate" virtual="true">...</ScrollFrame>
  35.  
  36. <EditBox name="InputBoxTemplate" enableMouse="true" virtual="true">...</EditBox>
  37. <EditBox name="SearchBoxTemplate" inherits="InputBoxTemplate" autoFocus="false" virtual="true">...</EditBox>
  38. <EditBox name="BagSearchBoxTemplate" inherits="SearchBoxTemplate" autoFocus="false" virtual="true">...</EditBox>
  39.  
  40. <CheckButton name="UICheckButtonTemplate" virtual="true">...</CheckButton>
  41. <CheckButton name="UIRadioButtonTemplate" virtual="true">...</CheckButton>
  42.  
  43. <Frame name="AnimatedShineTemplate" virtual="true">...</Frame>
  44. <Frame name="AutoCastShineTemplate" virtual="true">...</Frame>
  45. <Frame name="UIPanelDialogTemplate" virtual="true">...</Frame>
  46. <Frame name="GlowBoxTemplate" virtual="true">...</Frame>
  47. <Frame name="GlowBoxArrowTemplate" virtual="true">...</Frame>
  48. <Frame name="ThinBorderTemplate" virtual="true">...</Frame>
  49. <Frame name="GlowBorderTemplate" virtual="true">...</Frame>
  50. <Frame name="BaseBasicFrameTemplate" virtual="true">...</Frame>
  51. <Frame name="BasicFrameTemplate" inherits="BaseBasicFrameTemplate" virtual="true">...</Frame>
  52. <Frame name="BasicFrameTemplateWithInset" inherits="BasicFrameTemplate" virtual="true">...</Frame>
  53. <Frame name="PortraitFrameTemplate" virtual="true">...</Frame>
  54. <Frame name="InsetFrameTemplate" virtual="true">...</Frame>
  55. <Frame name="InsetFrameTemplate2" virtual="true">...</Frame>
  56. <Frame name="InsetFrameTemplate3" virtual="true">...</Frame>
  57. <Frame name="ButtonFrameTemplate" inherits="PortraitFrameTemplate" virtual="true">...</Frame>
  58. <Frame name="EtherealFrameTemplate" inherits="PortraitFrameTemplate" virtual="true">...</Frame>
  59. <Frame name="HorizontalBarTemplate" virtual="true">...</Frame>
  60. <Frame name="TranslucentFrameTemplate" virtual="true">...</Frame>
  61. <Frame name="ShadowOverlayTemplate" virtual="true">...</Frame>
  62. <Frame name="CapProgressBarTemplate" virtual="true">...</Frame>
  63. <Frame name="TooltipBorderedFrameTemplate" virtual="true">...</Frame>
  64. <Frame name="ExampleButtonFrame" inherits="ButtonFrameTemplate" parent="UIParent" hidden="true">...</Frame>
  65. <Frame name="ThinGoldEdgeTemplate" virtual="true">...</Frame>
  66. <Frame name="HelpPlateTooltip" inherits="GlowBoxTemplate" parent="UIParent" hidden="true" frameStrata="FULLSCREEN_DIALOG" frameLevel="2">...</Frame>
  67. <Frame name="HelpPlateBox" inherits="ThinBorderTemplate" virtual="true" hidden="true">...</Frame>
  68. <Frame name="HelpPlateBoxHighlight" inherits="GlowBorderTemplate" virtual="true" hidden="true">...</Frame>
  69.  
  70.      TEXTURES
  71.           -- to many, check file
  72.           -- Texture templates for frame border pieces, Vertically tiling pieces, Horizontally tiling pieces
-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

OptionsPanelTemplates
http://wowprogramming.com/utils/xmlb...lTemplates.xml
lua Code:
  1. --...
  2.       BUTTON
  3.         <Button name="OptionsButtonTemplate" inherits="UIPanelButtonTemplate" virtual="true">
  4.  
  5.       CHECKBUTTON
  6.         <CheckButton name="OptionsBaseCheckButtonTemplate" virtual="true">
  7.         <CheckButton name="OptionsCheckButtonTemplate" virtual="true" inherits="OptionsBaseCheckButtonTemplate">
  8.         <CheckButton name="OptionsSmallCheckButtonTemplate" virtual="true" inherits="OptionsBaseCheckButtonTemplate">
  9.  
  10.       SLIDER
  11.         <Slider name="OptionsSliderTemplate" orientation="HORIZONTAL" virtual="true" enableMouse="true">
  12.  
  13.       FRAME
  14.         <Frame name="OptionsBoxTemplate" virtual="true">
-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

OptionsFrameTemplates
http://wowprogramming.com/utils/xmlb...eTemplates.xml
lua Code:
  1. --...
  2.       BUTTON
  3.         <Button name="OptionsFrameTabButtonTemplate" virtual="true">
  4.         <Button name="OptionsListButtonTemplate" virtual="true">
  5.  
  6.       FRAME
  7.         <Frame name="OptionsFrameListTemplate" virtual="true">
  8.         <Frame name="OptionsFrameTemplate" toplevel="true" parent="UIParent" hidden="true" enableMouse="true" frameStrata="HIGH" virtual="true">
-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

UIDropDownMenuTemplates
http://wowprogramming.com/utils/xmlb...uTemplates.xml
lua Code:
  1. --...
  2.       BUTTON
  3.         <Button name="UIDropDownMenuButtonTemplate" virtual="true">
  4.         <Button name="UIDropDownListTemplate" hidden="true" frameStrata="DIALOG" enableMouse="true" virtual="true">
  5.  
  6.       FRAME
  7.         <Frame name="UIDropDownMenuTemplate" virtual="true">
-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

EasyMenu
http://wowprogramming.com/utils/xmlb...L/EasyMenu.lua

lua Code:
  1. -- Simplified Menu Display System
  2. --  This is a basic system for displaying a menu from a structure table.
  3. --
  4. --  See UIDropDownMenu.lua for the menuList details.
  5. --
  6. --  Args:
  7. --      menuList - menu table
  8. --      menuFrame - the UI frame to populate
  9. --      anchor - where to anchor the frame (e.g. CURSOR)
  10. --      x - x offset
  11. --      y - y offset
  12. --      displayMode - border type
  13. --      autoHideDelay - how long until the menu disappears
  14. --
  15. --
  16. function EasyMenu(menuList, menuFrame, anchor, x, y, displayMode, autoHideDelay )
  17.     if ( displayMode == "MENU" ) then
  18.         menuFrame.displayMode = displayMode;
  19.     end
  20.     UIDropDownMenu_Initialize(menuFrame, EasyMenu_Initialize, displayMode, nil, menuList);
  21.     ToggleDropDownMenu(1, nil, menuFrame, anchor, x, y, menuList); 
  22. end
  23.  
  24. function EasyMenu_Initialize( frame, level, menuList )
  25.     for index = 1, #menuList do
  26.         local value = menuList[index]
  27.         if (value.text) then
  28.             value.index = index;
  29.             UIDropDownMenu_AddButton( value, level );
  30.         end
  31.     end
  32. end

Font Styles
http://wowprogramming.com/utils/xmlb...eOverrides.xml
http://wowprogramming.com/utils/xmlb...FontStyles.xml
http://wowprogramming.com/utils/xmlb...eXML/Fonts.xml

Lua Code:
  1. <Font name="GameFontNormal" inherits="SystemFont_Shadow_Med1" virtual="true">
  2.         <Color r="1.0" g="0.82" b="0"/>
  3.     </Font>
  4.     <Font name="GameFontNormalLeft" inherits="GameFontNormal" justifyH="LEFT" virtual="true"/>
  5.     <Font name="GameFontNormalLeftBottom" inherits="GameFontNormalLeft" justifyV="BOTTOM" virtual="true"/>
  6.     <Font name="GameFontHighlight" inherits="GameFontNormal" virtual="true">
  7.         <Color r="1.0" g="1.0" b="1.0"/>
  8.     </Font>
  9.     <Font name="GameFontNormalLeftGreen" inherits="GameFontNormalLeft" virtual="true">
  10.         <Color r="0.0" g="1.0" b="0.0"/>
  11.     </Font>
  12.     <Font name="GameFontNormalLeftYellow" inherits="GameFontNormalLeft" virtual="true">
  13.         <Color r="1.0" g="1.0" b="0.0"/>
  14.     </Font>
  15.     <Font name="GameFontNormalLeftOrange" inherits="GameFontNormalLeft" virtual="true">
  16.         <Color r="1.0" g="0.5" b="0.25"/>
  17.     </Font>
  18.     <Font name="GameFontNormalLeftLightGreen" inherits="GameFontNormalLeft" virtual="true">
  19.         <Color r="0.25" g=".75" b="0.25"/>
  20.     </Font>
  21.     <Font name="GameFontNormalLeftGrey" inherits="GameFontNormalLeft" virtual="true">
  22.         <Color r="0.5" g="0.5" b="0.5"/>
  23.     </Font>
  24.     <Font name="GameFontNormalLeftRed" inherits="GameFontNormalLeft" virtual="true">
  25.         <Color r="0.9" g="0.0" b="0.0"/>
  26.     </Font>
  27.     <Font name="GameFontNormalMed3" inherits="SystemFont_Shadow_Med3" virtual="true">
  28.         <Color r="1.0" g="0.82" b="0"/>
  29.     </Font>
  30.     <Font name="GameFontDisableMed3" inherits="SystemFont_Shadow_Med3" virtual="true">
  31.         <Color r="0.5" g="0.5" b="0.5"/>
  32.     </Font>
  33.     <Font name="GameFontNormalRight" inherits="GameFontNormal" justifyH="RIGHT" virtual="true"/>
  34.     <Font name="GameFontNormalCenter" inherits="GameFontNormal" justifyH="CENTER" virtual="true"/>
  35.     <Font name="GameFontHighlightLeft" inherits="GameFontHighlight" justifyH="LEFT" virtual="true"/>
  36.     <Font name="GameFontHighlightCenter" inherits="GameFontHighlight" justifyH="CENTER" virtual="true"/>
  37.     <Font name="GameFontHighlightRight" inherits="GameFontHighlight" justifyH="RIGHT" virtual="true"/>
  38.     <Font name="GameFontDisable" inherits="GameFontNormal" virtual="true">
  39.         <Color r="0.5" g="0.5" b="0.5"/>
  40.     </Font>
  41.     <Font name="GameFontDisableLeft" inherits="GameFontDisable" justifyH="LEFT" virtual="true"/>
  42.     <Font name="GameFontGreen" inherits="GameFontNormal" virtual="true">
  43.         <Color r="0.1" g="1.0" b="0.1"/>
  44.     </Font>
  45.     <Font name="GameFontRed" inherits="GameFontNormal" virtual="true">
  46.         <Color r="1.0" g="0.1" b="0.1"/>
  47.     </Font>
  48.     <Font name="GameFontBlackSmall" inherits="SystemFont_Small" virtual="true">
  49.         <Color r="0" g="0" b="0"/>
  50.     </Font>
  51.     <Font name="GameFontBlackTiny" inherits="SystemFont_Tiny" virtual="true">
  52.         <Color r="0" g="0" b="0"/>
  53.     </Font>
  54.     <Font name="GameFontBlack" inherits="SystemFont_Med1" virtual="true">
  55.         <Color r="0" g="0" b="0"/>
  56.     </Font>
  57.     <Font name="GameFontBlackMedium" inherits="SystemFont_Med3" virtual="true">
  58.         <Color r="0" g="0" b="0"/>
  59.     </Font>
  60.     <Font name="GameFontWhiteSmall" inherits="GameFontBlackSmall" virtual="true">
  61.         <Color r="1.0" g="1.0" b="1.0"/>
  62.     </Font>  
  63.     <Font name="GameFontWhiteTiny" inherits="SystemFont_Tiny" virtual="true">
  64.         <Color r="1.0" g="1.0" b="1.0"/>
  65.     </Font>
  66.     <Font name="GameFontWhite" inherits="GameFontBlack" virtual="true">
  67.         <Color r="1.0" g="1.0" b="1.0"/>
  68.     </Font>
  69.     <Font name="GameFontNormalSmall" inherits="SystemFont_Shadow_Small" virtual="true">
  70.         <Color r="1.0" g="0.82" b="0"/>
  71.     </Font>
  72.     <Font name="GameFontNormalSmallLeft" inherits="GameFontNormalSmall" justifyH="LEFT" virtual="true"/>
  73.     <Font name="GameFontHighlightSmall" inherits="GameFontNormalSmall" virtual="true">
  74.         <Color r="1.0" g="1.0" b="1.0"/>
  75.     </Font>
  76.     <Font name="GameFontHighlightSmallLeft" inherits="GameFontHighlightSmall" justifyH="LEFT" virtual="true"/>
  77.     <Font name="GameFontHighlightSmallLeftTop" inherits="GameFontHighlightSmallLeft" justifyV="TOP" virtual="true"/>
  78.     <Font name="GameFontHighlightSmallRight" inherits="GameFontHighlightSmall" justifyH="RIGHT" virtual="true"/>
  79.     <Font name="GameFontHighlightExtraSmall" inherits="GameFontHighlightSmall" virtual="true">
  80.         <Color r="1.0" g="1.0" b="1.0"/>
  81.     </Font>
  82.     <Font name="GameFontHighlightExtraSmallLeft" inherits="GameFontHighlightExtraSmall" justifyH="LEFT" virtual="true"/>
  83.     <Font name="GameFontHighlightExtraSmallLeftTop" inherits="GameFontHighlightExtraSmallLeft" justifyV="TOP" virtual="true"/>
  84.     <Font name="GameFontDisableSmall" inherits="GameFontNormalSmall" virtual="true">
  85.         <Color r="0.5" g="0.5" b="0.5"/>
  86.     </Font>
  87.     <Font name="GameFontDisableSmallLeft" inherits="GameFontDisableSmall" justifyH="LEFT" virtual="true"/>
  88.     <Font name="GameFontDarkGraySmall" inherits="GameFontNormalSmall" virtual="true">
  89.         <Color r="0.35" g="0.35" b="0.35"/>
  90.     </Font>
  91.     <Font name="GameFontGreenSmall" inherits="GameFontNormalSmall" virtual="true">
  92.         <Color r="0.1" g="1.0" b="0.1"/>
  93.     </Font>
  94.     <Font name="GameFontRedSmall" inherits="GameFontNormalSmall" virtual="true">
  95.         <Color r="1.0" g="0.1" b="0.1"/>
  96.     </Font>
  97.     <Font name="GameFontHighlightSmallOutline" inherits="GameFontHighlightSmall"  virtual="true"/>
  98.     <Font name="GameFontHighlightMedium" inherits="SystemFont_Shadow_Med3" virtual="true">
  99.         <Color r="1.0" g="1.0" b="1.0"/>
  100.     </Font>
  101.     <Font name="GameFontNormalLarge" inherits="SystemFont_Shadow_Large" virtual="true">
  102.         <Color r="1.0" g="0.82" b="0"/>
  103.     </Font>
  104.     <Font name="GameFontNormalLargeLeft" inherits="GameFontNormalLarge" justifyH="LEFT" virtual="true"/>
  105.     <Font name="GameFontNormalLargeLeftTop" inherits="GameFontNormalLargeLeft" justifyV="TOP" virtual="true"/>
  106.     <Font name="GameFontHighlightLarge" inherits="GameFontNormalLarge" virtual="true">
  107.         <Color r="1.0" g="1.0" b="1.0"/>
  108.     </Font>
  109.     <Font name="GameFontDisableLarge" inherits="GameFontNormalLarge" virtual="true">
  110.         <Color r="0.5" g="0.5" b="0.5"/>
  111.     </Font>
  112.     <Font name="GameFontGreenLarge" inherits="GameFontNormalLarge" virtual="true">
  113.         <Color r="0.1" g="1.0" b="0.1"/>
  114.     </Font>
  115.     <Font name="GameFontRedLarge" inherits="GameFontNormalLarge" virtual="true">
  116.         <Color r="1.0" g="0.1" b="0.1"/>
  117.     </Font>
  118.     <Font name="GameFontNormalHuge" inherits="SystemFont_Shadow_Huge1" virtual="true">
  119.         <Color r="1.0" g="0.82" b="0"/>
  120.     </Font>
  121.     <Font name="GameFontNormalHugeBlack" inherits="SystemFont_Huge1" virtual="true">
  122.         <Color r="0" g="0" b="0"/>
  123.     </Font>
  124.     <Font name="GameFontHighlightHuge" inherits="GameFontNormalHuge" virtual="true">
  125.         <Color r="1.0" g="1.0" b="1.0"/>
  126.     </Font>  
  127.     <Font name="BossEmoteNormalHuge" inherits="SystemFont_Shadow_Huge3" virtual="true">
  128.         <Color r="1.0" g="0.82" b="0"/>
  129.     </Font>
  130.  
  131.     <Font name="NumberFontNormal" inherits="NumberFont_Outline_Med" virtual="true" >
  132.         <Color r="1.0" g="1.0" b="1.0"/>
  133.     </Font>
  134.     <Font name="NumberFontNormalRight" inherits="NumberFontNormal" justifyH="RIGHT" virtual="true"/>
  135.     <Font name="NumberFontNormalRightRed" inherits="NumberFontNormalRight" virtual="true" >
  136.         <Color r="1.0" g="0.1" b="0.1"/>
  137.     </Font>
  138.     <Font name="NumberFontNormalRightYellow" inherits="NumberFontNormalRight" virtual="true" >
  139.         <Color r="1.0" g="0.82" b="0"/>
  140.     </Font>
  141.     <Font name="NumberFontNormalYellow" inherits="NumberFontNormal" virtual="true" >
  142.         <Color r="1.0" g="0.82" b="0"/>
  143.     </Font>
  144.     <Font name="NumberFontNormalSmall" inherits="NumberFont_OutlineThick_Mono_Small" virtual="true">
  145.         <Color r="1.0" g="1.0" b="1.0"/>
  146.     </Font>
  147.     <Font name="NumberFontNormalSmallGray" inherits="NumberFontNormalSmall" virtual="true">
  148.         <Color r="0.6" g="0.6" b="0.6"/>
  149.     </Font>
  150.     <Font name="NumberFontNormalGray" inherits="NumberFont_Outline_Med" virtual="true" >
  151.         <Color r="0.6" g="0.6" b="0.6"/>
  152.     </Font>
  153.     <Font name="NumberFontNormalLarge" inherits="NumberFont_Outline_Large" virtual="true">
  154.         <Color r="1.0" g="1.0" b="1.0"/>
  155.     </Font>
  156.     <Font name="NumberFontNormalLargeRight" inherits="NumberFontNormalLarge" justifyH="RIGHT" virtual="true"/>
  157.     <Font name="NumberFontNormalLargeRightRed" inherits="NumberFontNormalLargeRight" virtual="true" >
  158.         <Color r="1.0" g="0.1" b="0.1"/>
  159.     </Font>
  160.     <Font name="NumberFontNormalLargeRightYellow" inherits="NumberFontNormalLargeRight" virtual="true" >
  161.         <Color r="1.0" g="0.82" b="0.0"/>
  162.     </Font>
  163.     <Font name="NumberFontNormalLargeYellow" inherits="NumberFontNormalLarge" virtual="true">
  164.         <Color r="1.0" g="0.82" b="0.0"/>
  165.     </Font>
  166.     <Font name="NumberFontNormalHuge" inherits="NumberFont_Outline_Huge" virtual="true">
  167.         <Color r="1.0" g="1.0" b="1.0"/>
  168.     </Font>
  169.      
  170.     <Font name="ChatFontNormal" inherits="NumberFont_Shadow_Med" virtual="true">
  171.         <Color r="1.0" g="1.0" b="1.0"/>
  172.     </Font>
  173.     <Font name="ChatFontSmall" inherits="NumberFont_Shadow_Small" virtual="true">
  174.         <Color r="1.0" g="1.0" b="1.0"/>
  175.     </Font>
  176.      
  177.     <Font name="QuestTitleFont" inherits="QuestFont_Shadow_Huge" virtual="true">
  178.         <Color r="0" g="0" b="0"/>
  179.     </Font>
  180.     <Font name="QuestTitleFontBlackShadow" inherits="QuestFont_Shadow_Huge" virtual="true">
  181.         <Shadow>
  182.             <Offset>
  183.                 <AbsDimension x="1" y="-1"/>
  184.             </Offset>
  185.             <Color r="0" g="0" b="0"/>
  186.         </Shadow>
  187.         <Color r="1" g=".82" b="0"/>
  188.     </Font>
  189.     <Font name="QuestFont" inherits="SystemFont_Med2" virtual="true">
  190.         <Color r="0" g="0" b="0"/>
  191.     </Font>
  192.     <Font name="QuestFontLeft" inherits="QuestFont" justifyH="LEFT" virtual="true"/>
  193.     <Font name="QuestFontNormalSmall" inherits="GameFontBlack" virtual="true">
  194.         <Color r="0.30" g="0.18" b="0"/>
  195.     </Font>
  196.     <Font name="QuestFontHighlight" inherits="SystemFont_Med3" virtual="true">
  197.         <Color r="0" g="0" b="0"/>
  198.     </Font>
  199.      
  200.     <Font name="QuestDifficulty_Impossible" inherits="GameFontNormalLeft" virtual="true">
  201.         <Color r="1.0" g="0.1" b="0.1"/>
  202.     </Font>
  203.     <Font name="QuestDifficulty_VeryDifficult" inherits="GameFontNormalLeft" virtual="true">
  204.         <Color r="1.0" g="0.5" b="0.25"/>
  205.     </Font>
  206.     <Font name="QuestDifficulty_Difficult" inherits="GameFontNormalLeft" virtual="true">
  207.         <Color r="1.0" g="1.0" b="0.0"/>
  208.     </Font>
  209.     <Font name="QuestDifficulty_Standard" inherits="GameFontNormalLeft" virtual="true">
  210.         <Color r="0.25" g="0.75" b="0.25"/>
  211.     </Font>
  212.     <Font name="QuestDifficulty_Trivial" inherits="GameFontNormalLeft" virtual="true">
  213.         <Color r="0.5" g="0.5" b="0.5"/>
  214.     </Font>
  215.     <Font name="QuestDifficulty_Header" inherits="GameFontNormalLeft" virtual="true">
  216.         <Color r="0.7" g="0.7" b="0.7"/>
  217.     </Font>
  218.      
  219.     <Font name="ItemTextFontNormal" inherits="QuestFont_Large" justifyH="LEFT" virtual="true">
  220.         <Color r="0.18" g="0.12" b="0.06"/>
  221.     </Font>
  222.  
  223.     <Font name="MailTextFontNormal" inherits="MailFont_Large" justifyH="LEFT" virtual="true">
  224.         <Color r="0.18" g="0.12" b="0.06"/>
  225.     </Font>
  226.      
  227.     <Font name="SubSpellFont" inherits="SpellFont_Small" virtual="true">
  228.         <Color r="0.35" g="0.2" b="0"/>
  229.     </Font>
  230.     <Font name="NewSubSpellFont" inherits="SubSpellFont" virtual="true">
  231.         <Shadow>
  232.             <Offset>
  233.                 <AbsDimension x="1" y="-1"/>
  234.             </Offset>
  235.             <Color r="0" g="0" b="0"/>
  236.         </Shadow>
  237.         <Color r="0.82" g="0.7" b="0.54"/>
  238.     </Font>
  239.  
  240.     <Font name="DialogButtonNormalText" inherits="SystemFont_Large" virtual="true">
  241.         <Color r="1.0" g="0.82" b="0.0"/>
  242.     </Font>
  243.     <Font name="DialogButtonHighlightText" inherits="DialogButtonNormalText" virtual="true">
  244.         <Color r="1.0" g="1.0" b="1.0"/>
  245.     </Font>
  246.  
  247.     <Font name="ZoneTextFont" inherits="SystemFont_OutlineThick_WTF" virtual="true">
  248.         <Color r="1.0" g="0.9294" b="0.7607"/>
  249.     </Font>
  250.     <Font name="SubZoneTextFont" inherits="SystemFont_OutlineThick_Huge4" virtual="true"/>
  251.     <Font name="PVPInfoTextFont" inherits="SystemFont_OutlineThick_Huge2" virtual="true"/>
  252.     <Font name="ErrorFont" inherits="GameFontNormalLarge" virtual="true"/>
  253.     <Font name="TextStatusBarText" inherits="SystemFont_Outline_Small" virtual="true">
  254.         <Color r="1.0" g="1.0" b="1.0"/>
  255.     </Font>
  256.     <Font name="TextStatusBarTextLarge" inherits="SystemFont_Outline" virtual="true">
  257.         <Color r="1.0" g="1.0" b="1.0"/>
  258.     </Font>  
  259.     <Font name="CombatLogFont" inherits="GameFontHighlight" justifyH="LEFT" virtual="true"/>
  260.     <Font name="GameTooltipText" inherits="Tooltip_Med" justifyH="LEFT" virtual="true">
  261.         <Color r="1.0" g="1.0" b="1.0"/>
  262.     </Font>
  263.     <Font name="GameTooltipTextSmall" inherits="Tooltip_Small" justifyH="LEFT" virtual="true">
  264.         <Color r="1.0" g="1.0" b="1.0"/>
  265.     </Font>
  266.     <Font name="GameTooltipHeaderText" inherits="GameTooltipHeader" justifyH="LEFT" virtual="true">
  267.         <Color r="1.0" g="1.0" b="1.0"/>
  268.     </Font>
  269.     <Font name="WorldMapTextFont" inherits="SystemFont_OutlineThick_WTF" virtual="true">
  270.         <Color r="1.0" g="0.9294" b="0.7607"/>
  271.     </Font>
  272.     <Font name="InvoiceTextFontNormal" inherits="InvoiceFont_Med" justifyH="LEFT" virtual="true">
  273.         <Color r="0.18" g="0.12" b="0.06"/>
  274.     </Font>
  275.     <Font name="InvoiceTextFontSmall" inherits="InvoiceFont_Small" justifyH="LEFT" virtual="true">
  276.         <Color r="0.18" g="0.12" b="0.06"/>
  277.     </Font>
  278.     <Font name="CombatTextFont" inherits="SystemFont_Shadow_Huge3" virtual="true">
  279.         <Color r="1.0" g="0.82" b="0"/>
  280.     </Font>
  281.     <Font name="MovieSubtitleFont" inherits="SystemFont_Shadow_Outline_Huge2" virtual="true">
  282.         <Color r="1.0" g="0.78" b="0"/>
  283.     </Font>
  284.      
  285.     <Font name="AchievementPointsFont" inherits="SystemFont_Shadow_Large" justifyH="CENTER" virtual="true">
  286.         <Color r="1.0" g="0.82" b="0"/>
  287.     </Font>  
  288.     <Font name="AchievementPointsFontSmall" inherits="SystemFont_Shadow_Med1" justifyH="CENTER" virtual="true">
  289.         <Color r="1.0" g="0.82" b="0"/>
  290.     </Font>  
  291.     <Font name="AchievementDescriptionFont" inherits="SystemFont_Small" justifyH="CENTER" justifyV="TOP" virtual="true">
  292.         <!--     You might be wondering why AchievementDescriptionFont inherits from SystemFont_Small and has its own shadow, rather than inheriting from SystemFont_Shadow_Small.
  293.             Good question! SystemFont_Shadow_Small and SystemFont_Small are the same height in most languages, but in Chinese, they are different. SystemFont_Small is the smaller of the two, and what
  294.             we need to use for things to fit at all well. -->
  295.         <Shadow>
  296.             <Offset>
  297.                 <AbsDimension x="1" y="-1"/>
  298.             </Offset>
  299.             <Color r="0" g="0" b="0"/>
  300.         </Shadow>
  301.         <Color r="1" g="1" b="1"/>
  302.     </Font>
  303.     <Font name="AchievementCriteriaFont" inherits="AchievementDescriptionFont" justifyH="LEFT" justifyV="MIDDLE" virtual="true"/>
  304.     <Font name="AchievementDateFont" inherits="AchievementFont_Small" justifyH="RIGHT" virtual="true">
  305.         <Color r="1.0" g="0.82" b="0"/>
  306.     </Font>  
  307.     <Font name="VehicleMenuBarStatusBarText" inherits="SystemFont_Shadow_Med1" virtual="true">
  308.         <Color r="1.0" g="1.0" b="1.0"/>
  309.     </Font>
  310.     <Font name="FocusFontSmall" inherits="SystemFont_Shadow_Med2" virtual="true">
  311.         <Color r="1.0" g="0.82" b="0"/>
  312.     </Font>

Tabbed Panels

http://www.wowwiki.com/Creating_tabbed_windows
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 02-06-13 at 09:29 AM.
zork is offline   Reply With Quote
Unread 08-09-12, 03:42 AM   #2
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,362
So to sum this up. When trying to create config menus the following UI elements come in handy.

Frame
A normal frame that can hold all your config elements. (buttons, checkboxes, etc.)
FrameType: Frame
Template: BasicFrameTemplate
Widget: http://wowprogramming.com/docs/widgets/Frame
ScrollFrame
A frame that is scrollable inside.. The best example for this is the keybind setup frame.
FrameType: ScrollFrame
Template: FauxScrollFrameTemplate
Widget: http://wowprogramming.com/docs/widgets/ScrollFrame
EditBox
A small input element that lets you input data into a field.
FrameType: EditBox
Template: InputBoxTemplate
Widget: http://wowprogramming.com/docs/widgets/EditBox
CheckButton / CheckBox
A checkbox like input element. Basically switch values between 0 and 1.
FrameType: CheckButton
Template: UICheckButtonTemplate
Widget: http://wowprogramming.com/docs/widgets/CheckButton

Lua Code:
  1. --Example:
  2. local name = "MyExampleCheckButton"
  3. local template = "UICheckButtonTemplate"
  4. local checkButton = CreateFrame("Button",name,UIParent,template) --frameType, frameName, frameParent, frameTemplate    
  5. checkButton:SetPoint("CENTER",0,0)
  6. checkButton.text = _G[name.."Text"]
  7. checkButton.text:SetText("Hello World")
  8. checkButton:SetScript("OnClick", function(self,event,arg1)
  9.   if self:GetChecked() then
  10.     print("Button is checked")
  11.   else
  12.     print("Button is unchecked")
  13.   end
  14. end)
Lua Code:
  1. --Example2:
  2. local name = "MyExampleCheckButton"
  3. local template = "OptionsBaseCheckButtonTemplate"
  4. local checkButton = CreateFrame("Button",name,UIParent,template) --frameType, frameName, frameParent, frameTemplate    
  5. checkButton:SetPoint("CENTER",0,0)
  6. checkButton.text = _G[name.."Text"]
  7. checkButton.text:SetText("Hello World")
  8. local callback = function(setting) print("callback") end
  9. checkButton.setFunc = callback
CheckButton / RadioButton
A list of radiobuttons. Lets you choose one of "n" options.
FrameType: CheckButton
Template: UIRadioButtonTemplate
Widget: http://wowprogramming.com/docs/widgets/CheckButton
Slider
Sliders are elements intended to allow the user to choose a value in a range.
FrameType: Slider
Template: UIPanelScrollBarTemplate
Widget: http://wowprogramming.com/docs/widgets/Slider

Lua Code:
  1. --Example:
  2. local name = "MyExampleSlider"
  3. local template = "OptionsSliderTemplate"
  4. local slider = CreateFrame("Slider",name,UIParent,template) --frameType, frameName, frameParent, frameTemplate  
  5. slider:SetPoint("CENTER",0,0)
  6. slider.textLow = _G[name.."Low"]
  7. slider.textHigh = _G[name.."High"]
  8. slider.text = _G[name.."Text"]
  9. slider:SetMinMaxValues(1, 100)
  10. slider.minValue, slider.maxValue = slider:GetMinMaxValues()
  11. slider.textLow:SetText(slider.minValue)
  12. slider.textHigh:SetText(slider.maxValue)
  13. slider.text:SetText(name)
  14. slider:SetValue(50)
  15. slider:SetValueStep(1)
  16. slider:SetScript("OnValueChanged", function(self,event,arg1) print(event) end)
Button
A clickable frame that calls an action OnClick. Blizzard provides tons of button templates.
FrameType: Button
Template: UIPanelButtonTemplate
Widget: http://wowprogramming.com/docs/widgets/Button

Lua Code:
  1. --Example:
  2. local name = "MyExampleButton"
  3. local template = "UIPanelButtonTemplate"
  4. local button = CreateFrame("Button",name,UIParent,template) --frameType, frameName, frameParent, frameTemplate    
  5. button:SetSize(150,80)
  6. button:SetPoint("CENTER",0,0)
  7. button.text = _G[name.."Text"]
  8. button.text:SetText("Hello World")
UIDropDownMenu
Depending on setup this can be both a selectbox or a context menu.
FrameType: Frame
Template: UIDropDownMenuTemplate
WriteUps: [1] [2] [3] [4]

Lua Code:
  1. --EasyMenu Example:
  2. local dropdown = CreateFrame("Frame", "MyMenuFrame", nil, "UIDropDownMenuTemplate")
  3. local menuTable = {}
  4. local line, data, submenu = nil, nil, nil
  5.  
  6. local function createMenuLine(data)
  7.   local line = {}
  8.   if not data then return line end
  9.   line.text = data.text or nil
  10.   line.isTitle = data.isTitle or nil
  11.   line.notCheckable = data.notCheckable or nil
  12.   line.notClickable = data.notClickable or nil
  13.   line.keepShownOnClick = data.keepShownOnClick or nil
  14.   line.hasArrow = data.hasArrow or nil
  15.   line.func = data.func or nil
  16.   line.menuList = data.menuList or nil
  17.   return line
  18. end
  19.  
  20. local function createDelimLine()
  21.   --split line
  22.   local delim = "~~~~~~~~~~~~~~~~~~~~~~~"
  23.   data = { text = delim, notCheckable = true, notClickable = true }
  24.   line = createMenuLine(data)
  25.   return line
  26. end
  27.  
  28. local function createMenu()
  29.  
  30.   --title
  31.   data = { text = "MyMenuTitle", isTitle = true, notCheckable = true, notClickable = true }
  32.   line = createMenuLine(data)
  33.   table.insert(menuTable,line)
  34.  
  35.   --add delimiter
  36.   line = createDelimLine()
  37.   table.insert(menuTable,line)
  38.  
  39.     --generate sub menu
  40.     submenu = {}      
  41.     data = { text = "General", isTitle = true, notCheckable = true, notClickable = true }
  42.     line = createMenuLine(data)
  43.     table.insert(submenu,line)
  44.     line = createDelimLine()
  45.     table.insert(submenu,line)
  46.     data = { text = "MyOption1", func = myGlobalFunction1, notCheckable = true, keepShownOnClick = true, }
  47.     line = createMenuLine(data)
  48.     table.insert(submenu,line)
  49.     data = { text = "MyOption2", func = myGlobalFunction2, notCheckable = true, keepShownOnClick = true, }
  50.     line = createMenuLine(data)
  51.     table.insert(submenu,line)
  52.     data = { text = "MyOption3", func = myGlobalFunction3, notCheckable = true, keepShownOnClick = true, }
  53.     line = createMenuLine(data)
  54.     table.insert(submenu,line)
  55.  
  56.   --add submenu to menuTable
  57.   data = { text = "General", notCheckable = true, hasArrow = true, menuList = submenu }
  58.   line = createMenuLine(data)
  59.   table.insert(menuTable,line)
  60.  
  61.   --add delimiter
  62.   line = createDelimLine()
  63.   table.insert(menuTable,line)
  64.  
  65.   --close menu
  66.   data = { text = "Close", func = function() CloseDropDownMenus() end, notCheckable = true }
  67.   line = createMenuLine(data)
  68.   table.insert(menuTable,line)
  69.  
  70. end
  71.  
  72. --INIT
  73. createMenu()
  74.  
  75. --CALL
  76. local function SlashCmd(cmd)
  77.   EasyMenu(menuTable, dropdown, "cursor", 10 , -15, "MENU")
  78. end
  79. SlashCmdList["menu"] = SlashCmd
  80. SLASH_menu1 = "/menu"
ColorSelect / ColorPicker
In many cases you want to recolor textures. All you have to do is to call the ColorPicker and apply a callback function that handles the colors returned by the ColorPicker. Normally you have a small frame with a texture and once you change the color in the ColorPicker the texture color updates via the callback function.
FrameType: Frame (with an applied texture)
WriteUps: [1] [2]

Lua Code:
  1. local function showColorPicker(r,g,b,a,callback)
  2.   ColorPickerFrame:SetColorRGB(r,g,b)
  3.   ColorPickerFrame.hasOpacity, ColorPickerFrame.opacity = (a ~= nil), a
  4.   ColorPickerFrame.previousValues = {r,g,b,a}
  5.   ColorPickerFrame.func, ColorPickerFrame.opacityFunc, ColorPickerFrame.cancelFunc = callback, callback, callback
  6.   ColorPickerFrame:Hide() -- Need to run the OnShow handler.
  7.   ColorPickerFrame:Show()
  8. end
  9.  
  10. local function createMyFrame()
  11.   --frame
  12.   local f = CreateFrame("FRAME",nil,UIParent)
  13.   f:SetSize(150,150)
  14.   f:SetPoint("CENTER",0,0)
  15.   --texture
  16.   f.tex = f:CreateTexture(nil,"BACKGROUND",nil,-7)
  17.   f.tex:SetAllPoints(f)
  18.   f.tex:SetTexture(1,0,0,1)
  19.   --recolor callback function
  20.   f.recolorTexture = function(color)
  21.     local r,g,b,a
  22.     if color then
  23.       r,g,b,a = unpack(color)
  24.     else
  25.       r,g,b = ColorPickerFrame:GetColorRGB()
  26.       a = OpacitySliderFrame:GetValue()
  27.     end
  28.     f.tex:SetVertexColor(r,g,b,a)
  29.   end
  30.   f:EnableMouse(true)
  31.   f:SetScript("OnMouseDown", function(self,button,...)
  32.     if button == "LeftButton" then
  33.       local r,g,b,a = self.tex:GetVertexColor()
  34.       showColorPicker(r,g,b,a,self.recolorTexture)
  35.     end
  36.   end)
  37. end
  38.  
  39. --init
  40. createMyFrame()
StatusBar
Sometimes it can be helpful to display data in a statusbar. They are similar to sliders, just without the option to edit. Like a progressbar or healthbar.
FrameType: StatusBar
Template: ???
Widget: http://wowprogramming.com/docs/widgets/StatusBar

Lua Code:
  1. --Example:
  2. local color = {0,1,0}
  3. local statusbar = CreateFrame("StatusBar",nil,UIParent) --frameType, frameName, frameParent  
  4. statusbar:SetPoint("CENTER",0,0)
  5. statusbar:SetSize(200,20)
  6. --statusbar background
  7. statusbar.bg = statusbar:CreateTexture(nil,"BACKGROUND",nil,-8)
  8. statusbar.bg:SetAllPoints(statusbar)
  9. statusbar.bg:SetTexture(unpack(color))
  10. statusbar.bg:SetAlpha(0.2)
  11. --statusbar texture
  12. local tex = statusbar:CreateTexture(nil,"BACKGROUND",nil,-6)
  13. tex:SetTexture(unpack(color))
  14. statusbar:SetStatusBarTexture(tex)
  15. statusbar:SetStatusBarColor(unpack(color))
  16. --values
  17. statusbar:SetMinMaxValues(1, 100)
  18. statusbar.minValue, statusbar.maxValue = statusbar:GetMinMaxValues()
  19. statusbar:SetValue(50)
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 08-09-12 at 06:51 AM.
zork is offline   Reply With Quote
Unread 02-05-13, 04:42 PM   #3
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,362
I wrote myself a test addon today.


Source:
http://code.google.com/p/rothui/sour...rTest/core.lua

The intention of the addon to try out the listed UI components above.

Button, Slider, Editbox and ScrollFrame were tested.

I'm going to add the colorPicker example and an example for the dropdown list in the next update.

*edit*

Added the colorpicker example.
http://code.google.com/p/rothui/sour...e.lua&old=1039
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 02-05-13 at 05:18 PM.
zork is offline   Reply With Quote
Unread 02-06-13, 08:38 AM   #4
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,362
As seen on the screenshot I had some issues working with "Tab" buttons.

I'm currently looking into it. The "OptionsFrameTabButtonTemplate" needs to be adjusted via spacer, as seen here:
https://github.com/tekkub/wow-ui-sou...Frame.xml#L215

So you actually have to add another layer changing the width of the tab.

The default "TabButtonTemplate" was actually quite difficult to find in use. But I found an example:
https://github.com/tekkub/wow-ui-sou...rame.xml#L1167

So the size of the TabButton can be changed via OnLoad script.
Lua Code:
  1. PanelTemplates_TabResize(self, 0);
  2. _G[self:GetName().."HighlightTexture"]:SetWidth(self:GetTextWidth() + 31);

The corresponding function can be found here:
https://github.com/tekkub/wow-ui-sou...lates.lua#L142

So working with tab buttons has to include this kind of onLoad script. Not sure why the script (on the template itself is the onload script) does not work properly since as you can see the tab button has a text applied. Currently not sure. Going to debug that.
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 02-06-13 at 09:10 AM.
zork is offline   Reply With Quote
Unread 02-06-13, 01:20 PM   #5
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,362
Test is finsihed for now. DropDown lists are implemented:
http://code.google.com/p/rothui/sour...e.lua&old=1040



Next step is to glue everything together and create an actual config panel.

*edit*

I started a new addon and succeeded spawing a panel.

rTestPanel
http://code.google.com/p/rothui/sour....0/rTestPanel/



I looked at different Blizzard frame panels und decided to use the ButtonPanelTemplate.
https://github.com/tekkub/wow-ui-sou...ates.xml#L2950

The panel can be resized and has enough place for a tabbed navigation at the bottom, a tabbed navigation inside, a scrollframe and some buttons at the bottom of the panel.

Next step is to bring all the general frames in place.

*edit*

Next step is finished. Functions for generating / updating SubFrames are in place. So are bottom tabs to actually change the SubFrames.

http://code.google.com/p/rothui/sour...e.lua&old=1042



Next part is filling each subframe with some data and connecting the database (savedVariables).
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 02-08-13 at 09:08 PM.
zork is offline   Reply With Quote
Unread 02-08-13, 09:10 PM   #6
zork
A Pyroguard Emberseer
 
zork's Avatar
AddOn Author - Click to view addons
Join Date: Jul 2008
Posts: 1,362
Made quite a huge leap today.
http://code.google.com/p/rothui/source/detail?r=1044



Creation of all panels and general panel functions is complete.

Next part is connecting the database and adding some config items (slider, dropbox etc.)

*edit*

I'm currently reading into Lua classes. This very much needed right now since I need to create alot of instances of specific frame types.

A really good writeup on that is:
http://www.wowwiki.com/Object-oriented_programming
http://lua-users.org/wiki/SimpleLuaClasses
http://lua-users.org/wiki/LuaClassesWithMetatable

A good and small example using the above behaviour is the EasyStorage class:
http://www.wowinterface.com/download...syStorage.html

So I'm probably doing a quick break. Need to rewrite the functions to classes/instances.

I checked Tuller's code of "Classy". I do not get it yet.
__________________
| Simple is beautiful.
| Roth UI | Roth UI FAQ | GoogleCode | Zork | TDMOG

"I wonder what the non-pathetic people are doing tonight?" - Rajesh Koothrappali (The Big Bang Theory)

Last edited by zork : 02-09-13 at 07:05 AM.
zork is offline   Reply With Quote
Reply

Go BackWoWInterface » Developer Discussions » Tutorials & Other Helpful Info. » WoW UI Panel / Option Templates

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off