Widget API _ _ NOWYSIWYG _ _ This Widget API reference , and the term Widget , refer to the UIObject Lua API , and the specific APIs of the actual UIObjects found in WoW . This is a list of all of the Widget API UIObject specific functions found by scanning the in - game environment . See also Widget handlers and XML UI . " Can click on each the secion heading for Lua class details " Root Widgets . Object Object ( For my Color Blind friends ) The red is wayyy too deep ill fix it . I fixed this before but they removed it . The red is way to dark for the background . Sorry . This is an abstract UI object type which cannot actually be created . Is base type for " all " types . UIObject . This is an abstract UI object type which cannot actually be created . Is base type for " all " widget types . UIObject Derivatives . Have all of the methods from UIObject , plus the following : AnimationGroup . This manages playback , order , and looping of its child Animations . ( added 3 . 1 . 0 ) Animation . Is the base animation type for animations in an AnimationGroup . ( added 3 . 1 . 0 ) FontInstance . This is an abstract object type that provides font related methods . Region . This is an abstract object type which cannot actually be created . Defines a potentially visible area . Animation Derivatives . Have all of the methods of UIObject and Animation , plus the following : Alpha . This animation changes the alpha value of its parent region . Path . This animation combines multiple animation translations . Rotation . This is an affine transformation that rotates a parent Region about an origin . Scale . This is an affine transformation that scales a parent Region about an origin . The scale can be non - uniform . Translation . This is an affine transformation that moves a parent Region by an offset . FontInstance Derivatives . Have all of the methods from UIObject and FontInstance , plus the following : Font . Allows base font information to be defined , rather than creating a full - blown FontString . ( added 1 . 10 ) Region Derivatives . Have all of the methods from UIObject and Region , plus the following : LayeredRegion . An abstract type for objects that represent a potentially visible area defined in a layer . Frame Derivatives . Have all of the methods from UIObject , Region and Frame , plus the following : EditBox . EditBox additionally has all of the methods from FontInstance , plus the following : GameTooltip . The tooltip automatically resizes itself when its Show ( ) method is called . MessageFrame . MessageFrame additionally has all of the methods from FontInstance , plus the following : Model . Used to display real 3D - mesh geometry as part of the UI . ScrollingMessageFrame . ScrollingMessageFrame additionally has all of the methods from FontInstance , plus the following : Button Derivatives . Have all of the methods from UIObject , Region , Frame and Button , plus the following : Model Derivatives . Have all of the methods from UIObject , Region , Frame and Model , plus the following : PlayerModel Derivatives . Have all of the methods from UIObject , Region , Frame , Model and PlayerModel , plus the following : LayeredRegion Derivatives . Have all of the methods from UIObject , Region and LayeredRegion , plus the following : FontString . FontString has additional methods from FontInstance , plus the following : Special . WorldFrame . WorldFrame is the frame which is used to display 3D world itself . Inherits methods from Frame . Templates . These are nota type per se , but objects generated form XML that can be used as templates UIObject Lua code .