Hello there! We are conducting a survey to better understand the user experience in making a first edit. If you have ever made an edit on Gamepedia, please fill out the survey. Thank you!

Widget API

From Wowpedia
Jump to: navigation, search

This is a list of all of the Widget API functions found by scanning the in-game environment. You may also be interested in the various Widget Handlers.

Widget Class Hierarchy

Here is a list of widget classes arranged by their base classes.

Animation

Frame

Special

WorldFrame
FrameXML virtual frames
Widget Hierarchy
Blizzard. XML Schema Definition.
Resike. BlizzardInterfaceResources.
Ketho. BlizzardInterfaceResources.
wowprogramming 2017-03-12. Widget Hierarchy.

Root Widgets

These abstract classes are the base of all UI objects.

ScriptObject

ScriptObject:GetScript("scriptType" [, bindingType]) - Returns the widget's handler function for a script.
ScriptObject:HasScript("scriptType") - Returns whether the widget supports a script handler.
ScriptObject:HookScript("scriptType", handler [, bindingType]) - Securely hooks a script handler.
ScriptObject:SetScript("scriptType", handler) - Sets the widget's handler function for a script.

Object

Object:GetName() - Returns the widget object's name
Object:GetObjectType() - Returns the object's widget type
Object:IsObjectType("type") - Returns whether the object belongs to a given widget type, or a subclass of that type.

UIObject

UIObject has all the methods from Object, plus the following:

UIObject:GetDebugName() - Returns the object's _G accessible path.
UIObject:GetParent() - Returns the object's parent object.
UIObject:IsForbidden() - Returns whether insecure interaction with a widget is forbidden.
PROTECTED UIObject:SetForbidden(boolean)

UIObject Derivatives

AnimationGroup

This manages playback, order, and looping of its child Animations. Animations in a group will play in ascending order according to their order fields (accessible via SetOrder and GetOrder). If two or more Animations have the same order value, then they will play simultaneously. The next animation will not play until all Animations with that order value are done. New in 3.1.0

zork 2010-09-22. 3.1.0 Animation roundup.

AnimationGroup can be created from Region:CreateAnimationGroup and has all the methods from UIObject and ScriptObject, plus the following:

AnimationGroup:CreateAnimation("animationType", ["name"[,"inheritsFrom"]]) - Create and return an Animation as a child of this group.
AnimationGroup:Finish() - Notify this group to stop playing once the current loop cycle is done. Does nothing if this group is not playing.
AnimationGroup:GetAnimations()
AnimationGroup:GetDuration() - Gets the total duration across all child Animations that the group will take to complete one loop cycle.
AnimationGroup:GetLoopState() - Gets the current loop state of the group. Output is [NONE, FORWARD, or REVERSE].
AnimationGroup:GetLooping() - Gets the type of looping for the group.
AnimationGroup:GetProgress() - Returns the progress of this animation as a unit value [0,1].
AnimationGroup:IsDone() - Returns true if the group has finished playing.
AnimationGroup:IsPaused() - Returns true if the group is paused.
AnimationGroup:IsPendingFinish()
AnimationGroup:IsPlaying() - Returns true if the group is playing.
AnimationGroup:IsSetToFinalAlpha()
AnimationGroup:Pause() - Pause the animations in this group.
AnimationGroup:Play() - Start playing the animations in this group.
AnimationGroup:Restart()
AnimationGroup:SetLooping("loopType") - Sets the type of looping for the group. Input is [NONE, REPEAT, or BOUNCE].
AnimationGroup:SetPlaying(play)
AnimationGroup:SetToFinalAlpha() - Apply the animations final resulting alpha to all animating regions.
AnimationGroup:Stop() - Stop all animations in this group.

Animation

This is a base animation type. This handles all animation timing and bookkeeping. An animation tag must always be parented by an AnimationGroup tag.

Animation can be created from AnimationGroup:CreateAnimation and has all the methods from UIObject and ScriptObject, plus the following:

Animation:GetDuration() - Get the number of seconds it takes for the animation to progress from start to finish.
Animation:GetElapsed() - Gets the amount of time in seconds that the animation has been playing for.
Animation:GetEndDelay() - Get the number of seconds the animation delays after finishing.
Animation:GetOrder() - Gets the order of the animation within its parent group.
Animation:GetProgress() - Returns the progress of the animation as a unit value [0,1]. Ignores start and end delay.
Animation:GetRegionParent() - Gets the Region object that the animation operates on. The region object is this Animation's parent's parent (the AnimationGroup's parent).
Animation:GetSmoothProgress() - Returns a smoothed, [0,1] progress value for the animation.
Animation:GetSmoothing() - Gets the smoothing type for the animation.
Animation:GetStartDelay() - Get the number of seconds that the animation delays before it starts to progress.
Animation:GetTarget()
Animation:IsDelaying() - Returns true if the animation is in the middle of a start or end delay.
Animation:IsDone() - Returns true if the animation has finished playing.
Animation:IsPaused() - Returns true if the animation is paused.
Animation:IsPlaying() - Returns true if the animation is playing.
Animation:IsStopped() - Returns true if the animation is stopped.
Animation:Pause() - Pause the animation.
Animation:Play([reversed, elapsedOffset]) - Play the animation.
Animation:Restart()
Animation:SetChildKey()
Animation:SetDuration(durationSec) - Set the number of seconds it takes for the animation to progress from start to finish.
Animation:SetEndDelay(delaySec) - Set the number of seconds the animation delays after finishing.
Animation:SetOrder(order) - Sets the order that the animation plays within its parent group. Range is [1,100].
Animation:SetParent(animGroup or "animGroupName") - Sets the parent for the animation. If the animation was not already a child of the parent, the parent will insert the animation into the proper order amongst its children.
Animation:SetPlaying(play)
Animation:SetSmoothProgress(smoothProgress)
Animation:SetSmoothing(smoothType) - Sets the smoothing type for the animation. Input is [IN,OUT, or IN_OUT].
Animation:SetStartDelay(delaySec) - Set the number of seconds that the animation delays before it starts to progress.
Animation:SetTarget()
Animation:SetTargetKey()
Animation:Stop() - Stop the animation.

ControlPoint

ControlPoint can be created from Path:CreateControlPoint and has all the methods from UIObject, plus the following:

ControlPoint:GetOffset()
ControlPoint:GetOrder()
ControlPoint:SetOffset()
ControlPoint:SetOrder(order)
ControlPoint:SetParent()

Region

This is an abstract object type and contains a collection of methods that are related to the size, location and visibility of a widget. Note that it is not directly related to Frame:GetRegions().

Region has all the methods from UIObject, plus the following:

Region:CanChangeProtectedState()
Region:ClearAllPoints() - Clear all attachment points for this object.
Region:CreateAnimationGroup(["name"[,"inheritsFrom"]]) - Create and return a new AnimationGroup as a child of this Region. - New in 3.1.0
Region:GetAlpha() - Return this object's alpha (opacity) value.
Region:GetAnimationGroups() - Returns all AnimationGroups that are children of this Region. - New in 3.1.0
Region:GetBottom() - Get the y location of the bottom edge of this frame - Moved in 1.10.
Region:GetCenter() - Get the coordinates of the center of this frame - Moved in 1.10.
Region:GetEffectiveScale()
Region:GetHeight() - Get the height of this object.
Region:GetLeft() - Get the x location of the left edge of this frame - Moved in 1.10.
Region:GetNumPoints() - Get the number of anchor points for this frame - New in 1.10.
Region:GetPoint(pointNum) - Get details for an anchor point for this frame (point, relativeTo, relativePoint, xofs, yofs) - New in 1.10.
Region:GetRect() - Get frame's left, bottom, width, height.
Region:GetRight() - Get the x location of the right edge of this frame - Moved in 1.10.
Region:GetScale()
Region:GetScaledRect()
Region:GetSize()
Region:GetTop() - Get the y location of the top edge of this frame - Moved in 1.10.
Region:GetWidth() - Get the width of this object.
Region:Hide() - Set this object to hidden (it and all of its children will disappear).
Region:IsDragging() - True if this Region or its Parent is being dragged. - New in 3.1.0
Region:IsIgnoringParentAlpha()
Region:IsIgnoringParentScale()
Region:IsMouseOver([top, bottom, left, right]) - Checks whether the mouse is over the frame (or within specified offsets).
Region:IsObjectLoaded()
Region:IsProtected() - Determine if this object can be manipulated in certain ways by tainted code in combat or not
Region:IsRectValid()
Region:IsShown() - Determine if this object is shown (would be visible if its parent was visible).
Region:IsVisible() - Get whether the object is visible on screen (logically (IsShown() and GetParent():IsVisible()));
Region:SetAllPoints(frame or "frameName") - Set all anchors to match edges of specified frame - Moved in 1.10.
Region:SetAlpha(alpha) - Set the object's alpha (opacity) value.
Region:SetHeight(height) - Set the height of the object.
Region:SetIgnoreParentAlpha(boolean) - Set if this frame should ignore its parent Alpha.
Region:SetIgnoreParentScale()
Region:SetParent(parent or "parentName") - Set the parent for this frame - Moved in 1.10.
Region:SetPoint("point"[,"relativeFrame" or relativeObject[,"relativePoint"[, xOfs[, yOfs]]]]) - Set an attachment point of this object - Updated in 1.10. Since 2.2 cooordinates are now relative to the closest anchor point
Region:SetScale(scale)
Region:SetShown(shownFlag) - Shows or hides the region.
Region:SetSize(width,height) - Sets the width and the height of the object as SetHeight and SetWidth do, but in one function.
Region:SetWidth(width) - Set the width of the object.
Region:Show() - Set this object to shown (it will appear if its parent is visible).
Region:StopAnimating() - Stops any active animations on the Region and its children. - New in 3.1.0

Animation Derivatives

Alpha

This animation changes the alpha value of its parent region.

Alpha has all the methods from Animation, plus the following:

Alpha:GetFromAlpha() - Gets the start value that the alpha of this animation's parent Region changes by.
Alpha:GetToAlpha() - Gets the end value that the alpha of this animation's parent Region changes by.
Alpha:SetFromAlpha(fromAlpha) - Sets the start value from which the alpha of this animation's parent Region changes by.
Alpha:SetToAlpha(toAlpha) - Sets the end value from which the alpha of this animation's parent Region changes by.

Scale

This is an affine transformation that scales a parent Region about an origin. The scale can be non-uniform.

Scale has all the methods from Animation, plus the following:

Scale:GetFromScale()
Scale:GetOrigin() - Gets the point, X offset, and Y offset of the animation's origin of rotation for its parent Region.
Scale:GetScale() - Gets the X scalar and the Y scalar that the animation's parent Region should scale by.
Scale:GetToScale()
Scale:SetFromScale(x, y)
Scale:SetOrigin(point, offsetX, offsetY) - Sets the animation's origin of rotation for its parent Region.
Scale:SetScale(x, y) - Sets the X scalar and the Y scalar that the animation's parent Region should scale by.
Scale:SetToScale(x, y)

LineScale

LineScale has all the methods from Animation, plus the following:

LineScale:GetFromScale()
LineScale:GetOrigin()
LineScale:GetScale()
LineScale:GetToScale()
LineScale:SetFromScale(x, y)
LineScale:SetOrigin(point, offsetX, offsetY)
LineScale:SetScale(x, y)
LineScale:SetToScale(x, y)

Translation

This is an affine transformation that moves a parent Region by an offset. Translation has all the methods from Animation, plus the following:

Translation:GetOffset() - Gets the offset that the animation's parent Region would travel.
Translation:SetOffset(x, y) - Sets the offset that the animation's parent Region would travel.

LineTranslation

LineTranslation has all the methods from Animation, plus the following:

LineTranslation:GetOffset()
LineTranslation:SetOffset(x, y)

Path

This is a set of translations, which lets you move a frame smoothly along a path.

Path has all the methods from Animation, plus the following:

Path:CreateControlPoint(["name" [, "template" [, order]]]) - Creates a new control point.
Path:GetControlPoints() - Gets the control points of the Path.
Path:GetCurve() - Gets the current curve type.
Path:GetMaxOrder() - Gets the maximum order of the Path.
Path:SetCurve("curveType") - Sets the curve type, which can be "SMOOTH" or "NONE".

Rotation

This is an affine transformation that rotates a parent Region about an origin.

Rotation has all the methods from Animation, plus the following:

Rotation:GetDegrees() - Gets the amount of degrees that the animation's parent Region would rotate.
Rotation:GetOrigin() - Gets the point, X offset, and Y offset of the animation's origin of rotation for its parent Region.
Rotation:GetRadians() - Gets the amount of radians that the animation's parent Region would travel.
Rotation:SetDegrees(degrees) - Sets the amount of degrees that the animation's parent Region would rotate.
Rotation:SetOrigin(point, offsetX, offsetY) - Sets the animation's origin of rotation for its parent Region.
Rotation:SetRadians(radians) - Sets the amount of radians that the animation's parent Region would travel.

TextureCoordTranslation

TextureCoordTranslation has all the methods from Animation but does not have any other methods.

FontInstance

This is another abstract object type that groups together a number of font related methods that are used by multiple other widget types. This doesn't have a direct correlation to a UI object.

FontInstance has all the methods from Object, plus the following:

FontInstance:GetFont() - Return the font file, height, and flags.
FontInstance:GetFontObject() - Return the "parent" Font object, or nil if none.
FontInstance:GetIndentedWordWrap()
FontInstance:GetJustifyH() - Return the horizontal text justification.
FontInstance:GetJustifyV() - Return thevertical text justification.
FontInstance:GetShadowColor() - Returns the color of text shadow (r, g, b, a).
FontInstance:GetShadowOffset() - Returns the text shadow offset (x, y).
FontInstance:GetSpacing() - Returns the text spacing.
FontInstance:GetTextColor() - Returns the default text color.
FontInstance:SetFont("path", height[,"flags"]) - Sets the font to use for text, returns 1 if the path was valid, nil otherwise (no change occurs).
FontInstance:SetFontObject(fontObject) - Sets the "parent" Font object from which this object inherits properties.
FontInstance:SetIndentedWordWrap()
FontInstance:SetJustifyH("justifyH") - Sets horizontal text justification ("LEFT","RIGHT", or "CENTER")
FontInstance:SetJustifyV("justifyV") - Sets vertical text justification ("TOP","BOTTOM", or "MIDDLE")
FontInstance:SetShadowColor(r, g, b[, a]) - Sets the text shadow color.
FontInstance:SetShadowOffset(x, y) - Sets the text shadow offset.
FontInstance:SetSpacing(spacing) - Sets the spacing between lines of text in the object.
FontInstance:SetTextColor(r, g, b[, a]) - Sets the default text color.

The following objects also inherit the methods of FontInstance:

Font

This object was introduced in 1.10 to replace virtual FontStrings, it allows for dynamic inheritance of font template changes. The standard UI fonts such as GameFontNormal are now Font objects.

Font can be created from CreateFont and has all the methods from FontInstance, plus the following:

Font:CopyFontObject(otherFont) - Set this Font's attributes to be a copy of the otherFont font object's.
Font:GetAlpha()
Font:SetAlpha(alpha)

FontString

Note that FontString:Get/SetWidth() and Get/SetHeight() behave very differently for fontstrings; see the object information.

FontString can be created from Frame:CreateFontString and has all the methods from LayeredRegion and FontInstance, plus the following:

FontString:CalculateScreenAreaFromCharacterSpan(leftCharacterIndex, rightCharacterIndex)
FontString:CanNonSpaceWrap() - Get whether long strings without spaces are wrapped or truncated - New in 1.11.
FontString:CanWordWrap()
FontString:FindCharacterIndexAtCoordinate(x, y)
FontString:GetFieldSize()
FontString:GetLineHeight()
FontString:GetMaxLines()
FontString:GetNumLines()
FontString:GetStringHeight() - Returns the height in pixels of the current string in the current font (without line wrapping). - New in 2.3.
FontString:GetStringWidth() - Returns the width in pixels of the current string in the current font (without line wrapping).
FontString:GetText() - Get the displayed text.
FontString:GetUnboundedStringWidth()
FontString:GetWrappedWidth()
FontString:IsTruncated()
FontString:SetAlphaGradient(start, length) - Create or remove an alpha gradient over the text.
FontString:SetFormattedText("formatstring"[, ...]) - Set the formatted display text. - New in 2.3.
FontString:SetMaxLines()
FontString:SetNonSpaceWrap(wrapFlag) - Set whether long strings without spaces are wrapped or truncated.
FontString:SetText("text") - Set the displayed text.
FontString:SetTextHeight(pixelHeight) - Set the height of the text by scaling graphics (Note: Can distort text).
FontString:SetWordWrap()

Region Derivatives

LayeredRegion

Another abstract type, for objects that represent only a rendering process onto the screen, rather than a full blown frame.

LayeredRegion has all the methods from Region, plus the following:

LayeredRegion:GetDrawLayer() - Returns the draw layer for the Region.
LayeredRegion:SetDrawLayer("layer"[, sublevel]) - Sets the draw layer for the Region
LayeredRegion:SetVertexColor(r, g, b[, alpha])

Texture

Texture can be created from Frame:CreateTexture and has all the methods from LayeredRegion, plus the following:

Texture:AddMaskTexture(maskTexture)
Texture:GetAtlas()
Texture:GetBlendMode() - Return the blend mode set by SetBlendMode()
Texture:GetDesaturation()
Texture:GetHorizTile()
Texture:GetMaskTexture(index)
Texture:GetNonBlocking()
Texture:GetNumMaskTextures()
Texture:GetRotation()
Texture:GetTexCoord() - Gets the 8 texture coordinates that map to the Texture's corners - New in 1.11.
Texture:GetTexelSnappingBias()
Texture:GetTexture() - Gets this texture's current texture path.
Texture:GetTextureFileID()
Texture:GetTextureFilePath()
Texture:GetVertTile()
Texture:GetVertexColor() - Gets the vertex color for the Texture.
Texture:GetVertexOffset(vertexIndex)
Texture:IsDesaturated() - Gets the desaturation state of this Texture. - New in 1.11
Texture:IsSnappingToPixelGrid()
Texture:RemoveMaskTexture(maskTexture)
Texture:SetAtlas("atlasName"[, useAtlasSize, filterMode])
Texture:SetBlendMode("mode") - Set the alphaMode of the texture.
Texture:SetColorTexture(r, g, b[, a]) - Changes the color of a texture.
Texture:SetDesaturated(flag) - Set whether this texture should be displayed with no saturation (Note: This has a return value)
Texture:SetDesaturation()
Texture:SetGradient("orientation", minR, minG, minB, maxR, maxG, maxB)
Texture:SetGradientAlpha("orientation", minR, minG, minB, minA, maxR, maxG, maxB, maxA)
Texture:SetHorizTile(horizTile) - Sets whether the widget should adjust horizontal texture coordinates based on texture and widget dimensions.
Texture:SetMask("maskName")
Texture:SetNonBlocking()
Texture:SetRotation(angle, [,cx, cy]) - Applies a counter-clockwise rotation to the texture.
Texture:SetSnapToPixelGrid()
Texture:SetTexCoord(minX, maxX, minY, maxY or ULx, ULy, LLx, LLy, URx, URy, LRx, LRy) - Modifies the region of a texture drawn by the Texture widget.
Texture:SetTexelSnappingBias(texelSnappingBias) where texelSnappingBias is [0-1]
Texture:SetTexture("filepath" or fileDataID[, horizWrap[, vertWrap[, filterMode]]]) - Changes the texture displayed by the Texture widget.
Texture:SetVertTile(horizTile) - Sets whether the widget should adjust vertical texture coordinates based on texture and widget dimensions.
Texture:SetVertexOffset(vertexIndex, offsetX, offsetY)

See also:

SetPortraitTexture(texture, "unit") - Paint a Texture object with the specified unit's portrait.
SetPortraitToTexture(texture or "texture", "texturePath") - Sets the texture to be displayed from a file applying circular opacity mask making it look round like portraits.
Line

The Region methods regarding Points (SetAllPoints, SetPoint, etc.) and Size (SetSize, SetWidth, etc.) are not included in this widget, thus those attributes for a Line must be done solely through the below listed methods. Edge methods are still available.

Line can be created from Frame:CreateLine and has almost all the methods from Texture, plus the following:

Line:GetEndPoint() - Gets the point at which the line ends.
Line:GetStartPoint() - Gets the point from where the line starts.
Line:GetThickness() - Gets this line's thickness.
Line:SetEndPoint("relativePoint" [,"relativeFrame" or relativeObject [, xOfs [, yOfs]]]) - Sets the point at which the line ends.
Line:SetStartPoint("relativePoint" [,"relativeFrame" or relativeObject [, xOfs [, yOfs]]]) - Sets the point from where the line starts.
Line:SetThickness(thickness) - Sets this line's thickness.
MaskTexture

A MaskTexture can be used to mask any number of textures, but a texture can only be masked by up to three MaskTextures. The superclass methods regarding MaskTextures (AddMaskTexture, GetMaskTexture, etc.) are not included in this widget.

MaskTexture can be created from Frame:CreateMaskTexture and has almost all the methods from Texture but does not have any other methods.

Frame

Frame has all the methods from Region and ScriptObject, plus the following:

Frame:CanChangeAttribute()
Frame:CreateFontString(["name"[,"layer"[,"inheritsFrom"]]]) - Create and return a new FontString as a child of this Frame - Can instantiate virtuals in 1.11.
Frame:CreateLine(["name"[,"layer"[,"inheritsFrom"[,subLayer]]]]) - Create and return a new Line as a child of this Frame.
Frame:CreateMaskTexture(["name"[,"layer"[,"inheritsFrom"[,subLayer]]]]) - Create and return a new MaskTexture as a child of this Frame.
Frame:CreateTexture(["name"[,"layer"[,"inheritsFrom"[,subLayer]]]]) - Create and return a new Texture as a child of this Frame.
Frame:DesaturateHierarchy(desaturation)
Frame:DisableDrawLayer("layer") - Disable rendering of "regions" (fontstrings, textures) in the specified draw layer.
Frame:DoesClipChildren()
Frame:EnableDrawLayer("layer") - Enable rendering of "regions" (fontstrings, textures) in the specified draw layer.
Frame:EnableJoystick()
Frame:EnableKeyboard(enableFlag) - Set whether this frame will get keyboard input.
Frame:EnableMouse(enableFlag) - Set whether this frame will get mouse input.
Frame:EnableMouseWheel(enableFlag) - Set whether this frame will get mouse wheel notifications.
Frame:ExecuteAttribute("name" [, ...])
Frame:GetAttribute(prefix, name, suffix) - Returns the first existing attribute of (prefix..name..suffix), ("*"..name..suffix), (prefix..name.."*"), ("*"..name.."*"), (name).
Frame:GetBackdrop() - Creates and returns a backdrop table suitable for use in SetBackdrop - New in 1.11.
Frame:GetBackdropBorderColor() - Gets the frame's backdrop border color (r, g, b, a)- New in 1.11.
Frame:GetBackdropColor() - Gets the frame's backdrop color (r, g, b, a)- New in 1.11.
Frame:GetBoundsRect()
Frame:GetChildren() - Get the list of "children" (frames and things derived from frames) of this frame.
Frame:GetClampRectInsets() - Gets the modifiers to the frame's rectangle used for clamping the frame to screen.
Frame:GetDepth() - New in 3.0.8
Frame:GetDontSavePosition()
Frame:GetEffectiveAlpha() - Returns the effective alpha of a frame. - Since 2.1.
Frame:GetEffectiveDepth() - New in 3.0.8
Frame:GetEffectivelyFlattensRenderLayers()
Frame:GetFlattensRenderLayers()
Frame:GetFrameLevel() - Get the level of this frame.
Frame:GetFrameStrata() - Get the strata of this frame.
Frame:GetHitRectInsets() - Gets the frame's hit rectangle inset distances (l, r, t, b) - new in 1.11.
Frame:GetHyperlinksEnabled()
Frame:GetID() - Get the ID of this frame.
Frame:GetMaxResize() - Gets the frame's maximum allowed resize bounds (w, h) - new in 1.11.
Frame:GetMinResize() - Gets the frame's minimum allowed resize bounds (w, h) - new in 1.11.
Frame:GetNumChildren() - Get the number of "children" (frames and things derived from frames) this frame has.
Frame:GetNumRegions() - Return the number of "regions" (fontstrings, textures) belonging to this frame.
Frame:GetPropagateKeyboardInput() - Returns if keyboard inputs are being propagated.
Frame:GetRegions() - Return the "regions" (fontstrings, textures) of the frame (multiple return values) belonging to this frame.
Frame:IgnoreDepth(ignoreFlag) - New in 3.0.8
Frame:IsClampedToScreen() - Gets whether the frame is prohibited from being dragged off screen.
Frame:IsEventRegistered("event") - Returns true if the given event is registered to the frame.
Frame:IsIgnoringDepth() - New in 3.0.8
Frame:IsJoystickEnabled()
Frame:IsKeyboardEnabled() - Get whether this frame will get keyboard input. - New in 1.11.
Frame:IsMouseClickEnabled()
Frame:IsMouseEnabled() - Get whether this frame will get mouse input. - New in 1.11.
Frame:IsMouseMotionEnabled()
Frame:IsMouseWheelEnabled() - Get whether this frame will get mouse wheel notifications. New in 1.11.
Frame:IsMovable() - Determine if the frame can be moved.
Frame:IsResizable() - Determine if the frame can be resized.
Frame:IsToplevel() - Get whether the frame is set as toplevel - New in 1.10.2.
Frame:IsUserPlaced() - Determine if this frame has been relocated by the user.
Frame:Lower() - Lower this frame behind other frames.
Frame:Raise() - Raise this frame above other frames.
Frame:RegisterAllEvents() - Register this frame to receive all events (For debugging purposes only!)
Frame:RegisterEvent("event") - Indicate that this frame should be notified when event occurs.
Frame:RegisterForDrag("buttonType"[,"buttonType"...]) - Inidicate that this frame should be notified of drag events for the specified buttons.
Frame:RegisterUnitEvent("event", "unit1"[, "unit2"]) - Indicate that this frame should be notified when event occur for specified units only. (New in 5.0.4)
Frame:SetAttribute("name", value) - Sets an attribute on the frame.
Frame:SetBackdrop([backdropTable]) - Set the backdrop of the frame according to the specification provided.
Frame:SetBackdropBorderColor(r, g, b[, a]) - Set the frame's backdrop's border's color.
Frame:SetBackdropColor(r, g, b[, a]) - Set the frame's backdrop color.
Frame:SetClampRectInsets(left, right, top, bottom) - Modify the frame's rectangle used to prevent dragging offscreen.
Frame:SetClampedToScreen(clamped) - Set whether the frame is prohibited from being dragged off screen.
Frame:SetClipsChildren(clipped) - Set the frame clipping its children.
Frame:SetDepth(depth) - New in 3.0.8
Frame:SetDontSavePosition()
Frame:SetFlattensRenderLayers()
Frame:SetFrameLevel(level) - Set the level of this frame (determines which of overlapping frames shows on top).
Frame:SetFrameStrata("strata") - Set the strata of this frame.
Frame:SetHitRectInsets(left, right, top, bottom) - Set the inset distances for the frame's hit rectangle.
Frame:SetHyperlinksEnabled()
Frame:SetID(id) - Set the ID of this frame.
Frame:SetMaxResize(maxWidth, maxHeight) - Set the maximum dimensions this frame can be resized to.
Frame:SetMinResize(minWidth, minHeight) - Set the minimum dimensions this frame can be resized to.
Frame:SetMouseClickEnabled()
Frame:SetMouseMotionEnabled()
Frame:SetMovable(isMovable) - Set whether the frame can be moved.
Frame:SetPropagateKeyboardInput(propagate) - Sets whether to propagate keyboard input to other frames. Note: Only "OnKeyDown" will fire and only for non-modifier keys
Frame:SetResizable(isResizable) - Set whether the frame can be resized.
Frame:SetToplevel(isTopLevel) - Set whether the frame should raise itself when clicked - New in 1.10.2.
Frame:SetUserPlaced(isUserPlaced) - Set whether the frame has been relocated by the user (and will thus be saved in the layout cache).
Frame:StartMoving() - Start moving this frame.
Frame:StartSizing("point") - Start sizing this frame using the specified anchor point.
Frame:StopMovingOrSizing() - Stop moving and/or sizing this frame.
Frame:UnregisterAllEvents() - Indicate that this frame should no longer be notified when any events occur.
Frame:UnregisterEvent("event") - Indicate that this frame should no longer be notified when event occurs.

Frame Derivatives

Browser

Browser has all the methods from Frame, plus the following:

Browser:ClearFocus()
Browser:CopyExternalLink()
Browser:DeleteCookies()
Browser:NavigateBack()
Browser:NavigateForward()
Browser:NavigateHome(tag)
Browser:NavigateReload()
Browser:NavigateStop()
Browser:OpenExternalLink()
Browser:OpenTicket(index)
Browser:SetFocus()
Browser:SetZoom(zoom)

Button

Button has all the methods from Frame, plus the following:

Button:Click() - Execute the click action of the button.
Button:Disable() - Disable the Button so that it cannot be clicked.
Button:Enable() - Enable to the Button so that it may be clicked.
Button:GetButtonState() - Return the current state ("PUSHED","NORMAL") of the Button.
Button:GetDisabledFontObject() - Return the font object for the Button when disabled - New in 1.10.
Button:GetDisabledTexture() - Get the texture for this button when disabled - New in 1.11.
Button:GetFontString() - Get this button's label FontString - New in 1.11.
Button:GetHighlightFontObject() - Return the font object for the Button when highlighted - New in 1.10.
Button:GetHighlightTexture() - Get the texture for this button when highlighted.
Button:GetMotionScriptsWhileDisabled() - Get whether the button is allowed to run its OnEnter and OnLeave scripts even while disabled - New in 3.3.
Button:GetNormalFontObject() - Get the Font Object of the button.
Button:GetNormalTexture() - Get the normal texture for this button - New in 1.11.
Button:GetPushedTextOffset() - Get the text offset when this button is pushed (x, y) - New in 1.11.
Button:GetPushedTexture() - Get the texture for this button when pushed - New in 1.11.
Button:GetText() - Get the text label for the Button.
Button:GetTextHeight() - Get the height of the Button's text.
Button:GetTextWidth() - Get the width of the Button's text.
Button:IsEnabled() - Determine whether the Button is enabled.
Button:LockHighlight() - Set the Button to always be drawn highlighted.
Button:RegisterForClicks("clickType"[,"clickType"...]) - Specify which mouse button up/down actions cause this button to receive an OnClick notification.
Button:SetButtonState("state"[, lock]) - Set the state of the Button ("PUSHED", "NORMAL") and whether it is locked.
Button:SetDisabledAtlas("atlasName")
Button:SetDisabledFontObject([font]) - Set the font object for settings when disabled - New in 1.10.
Button:SetDisabledTexture(texture or "texturePath") - Set the disabled texture for the Button - Updated in 1.10.
Button:SetEnabled()
Button:SetFontString(fontString) - Set the button's label FontString - New in 1.11.
Button:SetFormattedText("formatstring"[, ...]) - Set the formatted text label for the Button. - New in 2.3.
Button:SetHighlightAtlas("atlasName"[, "blendmode")
Button:SetHighlightFontObject([font]) - Set the font object for settings when highlighted - New in 1.10.
Button:SetHighlightTexture(texture or "texturePath"[,alphaMode]) - Set the highlight texture for the Button.
Button:SetMotionScriptsWhileDisabled([bool]) - Set whether button should fire its OnEnter and OnLeave scripts even while disabled - New in 3.3.
Button:SetNormalAtlas("atlasName")
Button:SetNormalFontObject(FontObject) - Set the Font Object of the button.
Button:SetNormalTexture(texture or "texturePath") - Set the normal texture for the Button - Updated in 1.10.
Button:SetPushedAtlas("atlasName")
Button:SetPushedTextOffset(x, y) - Set the text offset for this button when pushed - New in 1.11.
Button:SetPushedTexture(texture or "texturePath") - Set the pushed texture for the Button - Updated in 1.10.
Button:SetText("text") - Set the text label for the Button.
Button:UnlockHighlight() - Set the Button to not always be drawn highlighted.

CheckButton

CheckButton has all the methods from Button, plus the following:

CheckButton:GetChecked() - Get the status of the checkbox.
CheckButton:GetCheckedTexture() - Get the texture used for a checked box - New in 1.11.
CheckButton:GetDisabledCheckedTexture() - Get the texture used for a disabled checked box - New in 1.11.
CheckButton:SetChecked([state]) - Set the status of the checkbox.
CheckButton:SetCheckedTexture(texture) - Set the texture to use for a checked box.
CheckButton:SetDisabledCheckedTexture(texture) - Set the texture to use for a disabled but checked box.

ItemButton

ItemButton is an intrinsic frame.

It has all the methods from Button and ItemButtonMixin.

Checkout

Checkout has all the methods from Frame, plus the following:

Checkout:CancelOpenCheckout()
Checkout:ClearFocus()
Checkout:CloseCheckout()
Checkout:CopyExternalLink()
Checkout:OpenCheckout()
Checkout:OpenExternalLink()
Checkout:SetFocus()
Checkout:SetZoom()
REMOVED (8.2.0) Checkout:ClearRenderSize()
REMOVED (8.2.0) Checkout:SetRenderSize()

ColorSelect

ColorSelect has all the methods from Frame, plus the following:

ColorSelect:GetColorHSV() - Get the HSV values of the selected color.
ColorSelect:GetColorRGB() - Get the RGB values of the selected color.
ColorSelect:GetColorValueTexture() - Get the texture used to show color value - new in 1.11.
ColorSelect:GetColorValueThumbTexture() - Get the texture for the color value thumb - New in 1.11.
ColorSelect:GetColorWheelTexture() - Get the texture for the color wheel - New in 1.11.
ColorSelect:GetColorWheelThumbTexture() - Get the texture for the color wheel thumb - New in 1.11.
ColorSelect:SetColorHSV(h, s, v) - Set to a specific HSV color.
ColorSelect:SetColorRGB(r, g, b) - Set to a specific RGB color.
ColorSelect:SetColorValueTexture(texture or nil) - Set the texture used to show color value - New in 1.11.
ColorSelect:SetColorValueThumbTexture(texture or "texture" or nil) - Set the texture for the color value thumb - New in 1.11.
ColorSelect:SetColorWheelTexture(texture or nil) - Set the texture for the color wheel - New in 1.11.
ColorSelect:SetColorWheelThumbTexture(texture or "texture" or nil) - Set the texture for the color wheel thumb - New in 1.11.

Cooldown

Cooldown has all the methods from Frame, plus the following:

Cooldown:Clear() - Clears the currently active cooldown of the widget
Cooldown:GetCooldownDisplayDuration()
Cooldown:GetCooldownDuration() - Returns the duration currently shown by the cooldown frame in milliseconds
Cooldown:GetCooldownTimes() - Returns the starting time and duration of the cooldown frame in milliseconds
Cooldown:GetDrawBling()
Cooldown:GetDrawEdge() - Returns whether a bright line should be drawn on the moving edge of the cooldown animation
Cooldown:GetDrawSwipe()
Cooldown:GetEdgeScale()
Cooldown:GetReverse() - Returns whether the bright and dark portions of the cooldown animation should be inverted
Cooldown:GetRotation() - Get the current rotation of the cooldown in radians
Cooldown:IsPaused() - Returns whether the cooldown is currently paused
Cooldown:Pause() - Pause the cooldown
Cooldown:Resume() - Resume the cooldown after being paused
Cooldown:SetBlingTexture(file or fileDataID, [r, g, b, a])
Cooldown:SetCooldown(start, duration[, modRate]) - Shows a cooldown animation.
Cooldown:SetCooldownDuration(duration[, modRate])
Cooldown:SetCooldownUNIX(start, duration[, modRate])
Cooldown:SetDrawBling()
Cooldown:SetDrawEdge(enable) - Sets whether a bright line should be drawn on the moving edge of the cooldown animation
Cooldown:SetDrawSwipe()
Cooldown:SetEdgeScale(edgeScale)
Cooldown:SetEdgeTexture(file or fileDataID, [r, g, b, a]) - Set the texture which 'follows' the moving edge of the cooldown
Cooldown:SetHideCountdownNumbers(hide) - Show or hide text cooldown timer
Cooldown:SetReverse(boolean) - Controls the direction of the cooldown animation.
Cooldown:SetRotation(rotationRadians) - Rotate the entire cooldown a certain radians clockwise
Cooldown:SetSwipeColor(r, g, b, [a]) - Set the color of the swipe
Cooldown:SetSwipeTexture(file or fileDataID, [r, g, b, a]) - Set the swipe texture used for the cooldown
Cooldown:SetUseCircularEdge(Boolean) - Sets whether the edge texture should follow a circular pattern instead of square

EditBox

EditBox has all the methods from Frame and FontInstance, plus the following:

EditBox:AddHistoryLine("text") - Add text to the edit history.
EditBox:ClearFocus()
EditBox:ClearHistory()
EditBox:Disable()
EditBox:Enable()
EditBox:GetAltArrowKeyMode() - Return whether only alt+arrow keys work for navigating the edit box, not arrow keys alone.
EditBox:GetBlinkSpeed() - Gets the blink speed of the EditBox in seconds - New in 1.11.
EditBox:GetCursorPosition() - Gets the position of the cursor inside the EditBox - New in 2.3.
EditBox:GetDisplayText()
EditBox:GetHighlightColor()
EditBox:GetHistoryLines() - Get the number of history lines for this edit box
EditBox:GetInputLanguage() - Get the input language (locale based not in-game)
EditBox:GetMaxBytes() - Gets the maximum number bytes allowed in the EditBox - New in 1.11.
EditBox:GetMaxLetters() - Gets the maximum number of letters allowed in the EditBox - New in 1.11.
EditBox:GetNumLetters() - Gets the number of letters in the box.
EditBox:GetNumber()
EditBox:GetText() - Get the current text contained in the edit box.
EditBox:GetTextInsets() - Gets the text display insets for the EditBox - New in 1.11.
EditBox:GetUTF8CursorPosition()
EditBox:GetVisibleTextByteLimit()
EditBox:HasFocus() - Returns whether the edit box is currently being edited (has edit focus).
EditBox:HighlightText([startPos, endPos]) - Set the highlight to all or some of the edit box text.
EditBox:Insert("text") - Insert text into the edit box.
EditBox:IsAutoFocus() - Determine if the EditBox has autofocus enabled - New in 1.11.
EditBox:IsCountInvisibleLetters()
EditBox:IsEnabled()
EditBox:IsInIMECompositionMode()
EditBox:IsMultiLine() - Determine if the EditBox accepts multiple lines - New in 1.11.
EditBox:IsNumeric() - Determine if the EditBox only accepts numeric input - New in 1.11.
EditBox:IsPassword() - Determine if the EditBox performs password masking - New in 1.11.
EditBox:IsSecureText()
EditBox:SetAltArrowKeyMode(enable) - Make only alt+arrow keys work for navigating the edit box, not arrow keys alone.
EditBox:SetAutoFocus(state) - Set whether or not the editbox will attempt to get input focus when it gets shown (default: yes) - New in 1.11.
EditBox:SetBlinkSpeed(speed)
EditBox:SetCountInvisibleLetters()
EditBox:SetCursorPosition(position) - Set the position of the cursor within the EditBox - New in 2.3.
EditBox:SetEnabled()
EditBox:SetFocus() - Move input focus (the cursor) to this editbox
EditBox:SetHighlightColor()
EditBox:SetHistoryLines(numLines) - Set the number of history lines to remember.
EditBox:SetMaxBytes(maxBytes) - Set the maximum byte size for entered text.
EditBox:SetMaxLetters(maxLetters) - Set the maximum number of letters for entered text.
EditBox:SetMultiLine(state) - Set the EditBox's multi-line state - New in 1.11.
EditBox:SetNumber(number)
EditBox:SetNumeric(state) - Set if the EditBox only accepts numeric input - New in 1.11.
EditBox:SetPassword(state) - Set the EditBox's password masking state - New in 1.11.
EditBox:SetSecureText()
EditBox:SetSecurityDisablePaste()
EditBox:SetSecurityDisableSetText()
EditBox:SetText("text") - Set the text contained in the edit box.
EditBox:SetTextInsets(l, r, t, b)
EditBox:SetVisibleTextByteLimit(maxVisibleBytes)
EditBox:ToggleInputLanguage()

FogOfWarFrame

FogOfWarFrame has all the methods from Frame, plus the following:

FogOfWarFrame:GetFogOfWarBackgroundAtlas()
FogOfWarFrame:GetFogOfWarBackgroundTexture()
FogOfWarFrame:GetFogOfWarMaskAtlas()
FogOfWarFrame:GetFogOfWarMaskTexture()
FogOfWarFrame:GetMaskScalar()
FogOfWarFrame:GetUiMapID()
FogOfWarFrame:SetFogOfWarBackgroundAtlas("atlasName")
FogOfWarFrame:SetFogOfWarBackgroundTexture("textureName" or FileDataID, [horizontalTile, verticalTile])
FogOfWarFrame:SetFogOfWarMaskAtlas("atlasName")
FogOfWarFrame:SetFogOfWarMaskTexture("textureName")
FogOfWarFrame:SetMaskScalar(mapID)
FogOfWarFrame:SetUiMapID()

GameTooltip

The tooltip automatically resizes itself when its Region:Show() method is called.

GameTooltip has all the methods from Frame, plus the following:

GameTooltip:AddDoubleLine(textL, textR, rL, gL, bL, rR, gR, bR)
GameTooltip:AddFontStrings(leftstring, rightstring) - Dynamically expands the size of a tooltip - New in 1.11.
GameTooltip:AddLine("tooltipText" [, textColor.r, textColor.g, textColor.b [, wrapText]]) - Appends the new line to the tooltip.
GameTooltip:AddSpellByID(spellID)
GameTooltip:AddTexture("texture") - Add a texture to the last line added.
GameTooltip:AdvanceSecondaryCompareItem()
GameTooltip:AppendText("text") - Append text to the end of the first line of the tooltip.
GameTooltip:ClearLines() - Clear all lines of tooltip (both left and right ones)
GameTooltip:CopyTooltip()
GameTooltip:FadeOut()
GameTooltip:GetAnchorType() - Returns the current anchoring type.
GameTooltip:GetAzeritePowerID()
GameTooltip:GetItem() - Returns name, link.
GameTooltip:GetMinimumWidth()
GameTooltip:GetOwner() - Returns owner frame, anchor.
GameTooltip:GetPadding()
GameTooltip:GetSpell() - Returns name, rank, id.
GameTooltip:GetUnit() - Returns unit name, unit id.
GameTooltip:IsEquippedItem()
GameTooltip:IsOwned(frame)
GameTooltip:IsUnit("unit") - Returns bool.
GameTooltip:NumLines() - Get the number of lines in the tooltip.
GameTooltip:ResetSecondaryCompareItem()
GameTooltip:SetAchievementByID(id)
GameTooltip:SetAction(slot) - Shows the tooltip for the specified action button.
GameTooltip:SetAnchorType(anchorType [,Xoffset] [,Yoffset])
GameTooltip:SetArtifactItem()
GameTooltip:SetArtifactPowerByID()
GameTooltip:SetAuctionItem("type", index) - Shows the tooltip for the specified auction item.
GameTooltip:SetAuctionSellItem()
GameTooltip:SetAzeriteEssence(essenceID)
GameTooltip:SetAzeriteEssenceSlot(slot)
GameTooltip:SetAzeritePower(itemID, itemLevel, powerID[, owningItemLink])
GameTooltip:SetBackpackToken(id)
GameTooltip:SetBagItem(bag, slot)
GameTooltip:SetBagItemChild()
GameTooltip:SetBuybackItem(slot)
GameTooltip:SetCompanionPet()
GameTooltip:SetCompareAzeritePower(itemID, itemLevel, powerID[, owningItemLink])
GameTooltip:SetCompareItem(shoppingTooltipTwo, primaryMouseover)
GameTooltip:SetCurrencyByID(id)
GameTooltip:SetCurrencyToken(tokenId) - Shows the tooltip for the specified token
GameTooltip:SetCurrencyTokenByID(currencyID)
GameTooltip:SetEquipmentSet(name) - Shows details for the equipment manager set identified by "name".
GameTooltip:SetExistingSocketGem(index, [toDestroy])
GameTooltip:SetFrameStack(showhidden) - Shows the mouseover frame stack, used for debugging.
GameTooltip:SetGuildBankItem(tab, id) - Shows the tooltip for the specified guild bank item
GameTooltip:SetHeirloomByItemID(itemID)
GameTooltip:SetHyperlink("itemString" or "itemLink") - Changes the item which is displayed in the tooltip according to the passed argument.
GameTooltip:SetInboxItem(index) - Shows the tooltip for the specified mail inbox item.
GameTooltip:SetInstanceLockEncountersComplete(index)
GameTooltip:SetInventoryItem(unit, slot[, nameOnly, hideUselessStats])
GameTooltip:SetInventoryItemByID(itemID)
GameTooltip:SetItemByID(itemID) - Shows the tooltip for a specified Item ID. (added in 4.2.0.14002 along with the Encounter Journal)
GameTooltip:SetLFGDungeonReward(dungeonID, lootIndex)
GameTooltip:SetLFGDungeonShortageReward(dungeonID, shortageSeverity, lootIndex)
GameTooltip:SetLootCurrency(lootSlot)
GameTooltip:SetLootItem(lootSlot)
GameTooltip:SetLootRollItem(id) - Shows the tooltip for the specified loot roll item.
GameTooltip:SetMerchantCostItem(slot)
GameTooltip:SetMerchantItem(merchantSlot)
GameTooltip:SetMinimumWidth(width) - (Formerly SetMoneyWidth)
GameTooltip:SetMountBySpellID()
GameTooltip:SetOwnedItemByID(ID)
GameTooltip:SetOwner(owner, "anchor"[, +x, +y])
GameTooltip:SetPadding(width, height)
GameTooltip:SetPetAction(slot) - Shows the tooltip for the specified pet action.
GameTooltip:SetPossession(slot)
GameTooltip:SetPvpBrawl()
GameTooltip:SetPvpTalent(talentID[, talentIndex])
GameTooltip:SetQuestCurrency("type", index)
GameTooltip:SetQuestItem("type", index)
GameTooltip:SetQuestLogCurrency("type", index)
GameTooltip:SetQuestLogItem("type", index)
GameTooltip:SetQuestLogRewardSpell(rewardSpellIndex[, questID])
GameTooltip:SetQuestLogSpecialItem(index)
GameTooltip:SetQuestRewardSpell(rewardSpellIndex)
GameTooltip:SetRecipeRankInfo(recipeID, learnedRank)
GameTooltip:SetRecipeReagentItem(recipeID, reagentIndex)
GameTooltip:SetRecipeResultItem(recipeID)
GameTooltip:SetSendMailItem()
GameTooltip:SetShapeshift(slot) - Shows the tooltip for the specified shapeshift form.
GameTooltip:SetSocketGem(index)
GameTooltip:SetSocketedItem()
GameTooltip:SetSocketedRelic(relicSlotIndex)
GameTooltip:SetSpellBookItem(spellId, bookType) - Shows the tooltip for the specified spell in the spellbook.
GameTooltip:SetSpellByID(spellId) - Shows the tooltip for the specified spell by global spell ID.
GameTooltip:SetTalent(talentIndex [, isInspect, talentGroup, inspectedUnit, classId]) - Shows the tooltip for the specified talent.
GameTooltip:SetText("text", r, g, b[, alphaValue[, textWrap]]) - Set the text of the tooltip.
GameTooltip:SetTotem(slot)
GameTooltip:SetToyByItemID(itemID)
GameTooltip:SetTradePlayerItem(tradeSlot)
GameTooltip:SetTradeTargetItem(tradeSlot)
GameTooltip:SetTrainerService(index)
GameTooltip:SetTransmogrifyItem(slotId) - Shows the tooltip when there is a pending (de)transmogrification
GameTooltip:SetUnit("unit"[, hideStatus])
GameTooltip:SetUnitAura("unitId", auraIndex[, filter]) - Shows the tooltip for a unit's aura. (Exclusive to 3.x.x / WotLK)
GameTooltip:SetUnitBuff("unitId", buffIndex[, raidFilter]) - Shows the tooltip for a unit's buff.
GameTooltip:SetUnitDebuff("unitId", buffIndex[, raidFilter]) - Shows the tooltip for a unit's debuff.
GameTooltip:SetUpgradeItem()
GameTooltip:SetVoidDepositItem(slotIndex) - Shows the tooltip for the specified Void Transfer deposit slot (added in 4.3.0)
GameTooltip:SetVoidItem(slotIndex) - Shows the tooltip for the specified Void Storage slot (added in 4.3.0)
GameTooltip:SetVoidWithdrawalItem(slotIndex) - Shows the tooltip for the specified Void Transfer withdrawal slot (added in 4.3.0)
WoW Icon update.png GameTooltip:SetCraftItem(index, reagent)
WoW Icon update.png GameTooltip:SetCraftSpell(index)
WoW Icon update.png GameTooltip:SetTrackingSpell()
WoW Icon update.png GameTooltip:SetTradeSkillItem(index [, reagent])

MessageFrame

MessageFrame has all the methods from Frame and FontInstance, plus the following:

MessageFrame:AddMessage("text", r, g, b, messageGroup, holdTime) - Add a message to the frame which will fade eventually.
MessageFrame:Clear() - Clear the messages from the frame - New in 1.11.
MessageFrame:GetFadeDuration() - Gets the fade duration in seconds - New in 1.11.
MessageFrame:GetFadePower()
MessageFrame:GetFading() - Get whether the frame is fading - New in 1.11.
MessageFrame:GetFontStringByID(messageID)
MessageFrame:GetInsertMode() - Get the insert mode for the frame - New in 1.11.
MessageFrame:GetTimeVisible() - Get the message visibility time in seconds - New in 1.11.
MessageFrame:HasMessageByID()
MessageFrame:ResetMessageFadeByID(messageID)
MessageFrame:SetFadeDuration(seconds) - Set the fade duration - New in 1.11.
MessageFrame:SetFadePower(power)
MessageFrame:SetFading(status) - Set whether the frame fades messages - New in 1.11.
MessageFrame:SetInsertMode("TOP" or "BOTTOM") - Set where new messages are inserted - New in 1.11.
MessageFrame:SetTimeVisible(seconds) - Sets the message visibility time - New in 1.11.

Minimap

Addons are not able to create additional Minimap frames.

Minimap has all the methods from Frame, plus the following:

Minimap:GetPingPosition() - Get the last ping location.
Minimap:GetZoom() - Get the current zoom level.
Minimap:GetZoomLevels() - Get the maximum zoom level.
Minimap:PingLocation(x, y) - Perform a ping at the specified location. As of 2.4.2 protected while targeting area of effect spells.
Minimap:SetArchBlobInsideAlpha(alpha)
Minimap:SetArchBlobInsideTexture(textureFile)
Minimap:SetArchBlobOutsideAlpha(alpha)
Minimap:SetArchBlobOutsideTexture(textureFile)
Minimap:SetArchBlobRingAlpha(alpha)
Minimap:SetArchBlobRingScalar(scalar)
Minimap:SetArchBlobRingTexture(textureFile)
Minimap:SetBlipTexture(textureFile) - Set the file to use for blips (ObjectIcons)
Minimap:SetCorpsePOIArrowTexture(textureFile)
Minimap:SetIconTexture(textureFile)
Minimap:SetMaskTexture("file" or fileDataID)
Minimap:SetPOIArrowTexture(textureFile)
Minimap:SetPlayerTexture(textureFile) - Set the file to use for the player arrow texture.
Minimap:SetQuestBlobInsideAlpha(alpha)
Minimap:SetQuestBlobInsideTexture(textureFile)
Minimap:SetQuestBlobOutsideAlpha(alpha)
Minimap:SetQuestBlobOutsideSelectedTexture(textureFile)
Minimap:SetQuestBlobOutsideTexture(textureFile)
Minimap:SetQuestBlobRingAlpha(alpha)
Minimap:SetQuestBlobRingScalar(scalar)
Minimap:SetQuestBlobRingTexture(textureFile)
Minimap:SetStaticPOIArrowTexture(textureFile)
Minimap:SetTaskBlobInsideAlpha(alpha)
Minimap:SetTaskBlobInsideTexture(textureFile)
Minimap:SetTaskBlobOutsideAlpha(alpha)
Minimap:SetTaskBlobOutsideSelectedTexture("file")
Minimap:SetTaskBlobOutsideTexture(textureFile)
Minimap:SetTaskBlobRingAlpha(alpha)
Minimap:SetTaskBlobRingScalar(scalar)
Minimap:SetTaskBlobRingTexture(textureFile)
Minimap:SetZoom(level) - Set the current zoom level.
Minimap:UpdateBlips()

Model

Used to display real 3D-mesh geometry as part of the UI.

Model has all the methods from Frame, plus the following:

Model:AdvanceTime()
Model:ClearFog() - Removes all fogging effects currently active in rendering.
Model:ClearModel() - Removes all geometry from the Model (i.e. makes it empty)
Model:ClearTransform()
Model:GetCameraDistance()
Model:GetCameraFacing()
Model:GetCameraPosition()
Model:GetCameraRoll()
Model:GetCameraTarget()
Model:GetDesaturation()
Model:GetFacing() - Returns the direction the model is facing.
Model:GetFogColor() - Gets the fog color (r, g, b, a) - New in 1.11.
Model:GetFogFar() - Gets the fog far distance - New in 1.11.
Model:GetFogNear() - Gets the fog near distance - New in 1.11.
Model:GetLight() - Gets the light specification for the model, returns a list of results compatible with the SetLight method - New in 1.11.
Model:GetModelAlpha()
Model:GetModelDrawLayer()
Model:GetModelFileID() - Gets the model file ID for this Model - New in 7.0, replaces Model:GetModel().
Model:GetModelScale() - Returns the current mesh scaling factor.
Model:GetPaused()
Model:GetPitch()
Model:GetPosition() - Returns the current position of the mesh as x, y, z
Model:GetRoll()
Model:GetShadowEffect()
Model:GetViewInsets()
Model:GetViewTranslation()
Model:GetWorldScale()
Model:HasAttachmentPoints()
Model:HasCustomCamera()
Model:IsUsingModelCenterToTransform()
Model:MakeCurrentCameraCustom()
Model:ReplaceIconTexture("texture" or fileDataID)
Model:SetCamera(index) - Select a pre-defined camera.
Model:SetCameraDistance(distance)
Model:SetCameraFacing(radians)
Model:SetCameraPosition(x, y, z)
Model:SetCameraRoll(radians)
Model:SetCameraTarget(x, y, z)
Model:SetCustomCamera(defaultIndex)
Model:SetDesaturation(strength)
Model:SetFacing(facing) - Set the direction that the model is facing.
Model:SetFogColor(r, g, b[, a]) - Set the fog color and enable fogging.
Model:SetFogFar(value) - Set the far-clipping plane distance for fogging.
Model:SetFogNear(value) - Set the near-clipping plane distance for fogging.
Model:SetGlow(...)
Model:SetLight(enabled[, omni, dirX, dirY, dirZ, ambIntensity[, ambR, ambG, ambB[, dirIntensity[, dirR, dirG, dirB]]]]) - Place the light source used for rendering
Model:SetModel("file") - Set the mesh that is displayed in the frame.
Model:SetModelAlpha(alpha)
Model:SetModelDrawLayer("layer")
Model:SetModelScale(scale) - Sets the scale factor for the mesh before rendering.
Model:SetParticlesEnabled(bool)
Model:SetPaused(bool)
Model:SetPitch(pitch)
Model:SetPosition(x, y, z) - Set the position of the mesh inside the frame's coordinate system.
Model:SetRoll(roll)
Model:SetSequence(sequence) - Set the animation to be played.
Model:SetSequenceTime(sequence, time)
Model:SetShadowEffect(strength)
Model:SetTransform()
Model:SetViewInsets(l, r, t, b)
Model:SetViewTranslation(x, y)
Model:TransformCameraSpaceToModelSpace(positionX, positionY, positionZ)
Model:UseModelCenterToTransform()

PlayerModel

PlayerModel has all the methods from Model, plus the following:

PlayerModel:ApplySpellVisualKit(id, [oneShot])
PlayerModel:CanSetUnit("unit")
PlayerModel:FreezeAnimation(animation, variation, frame)
PlayerModel:GetDisplayInfo()
PlayerModel:GetDoBlend()
PlayerModel:GetKeepModelOnHide()
PlayerModel:HasAnimation(animation)
PlayerModel:PlayAnimKit(id, [loop])
PlayerModel:RefreshCamera()
PlayerModel:RefreshUnit()
PlayerModel:SetAnimation(animation[, variation])
PlayerModel:SetBarberShopAlternateForm()
PlayerModel:SetCamDistanceScale(scale)
PlayerModel:SetCreature(CreatureId)
PlayerModel:SetCustomRace()
PlayerModel:SetDisplayInfo(displayID)
PlayerModel:SetDoBlend()
PlayerModel:SetItem(itemID[, appearanceModID, itemVisualID])
PlayerModel:SetItemAppearance(itemAppearanceID[, itemVisualID])
PlayerModel:SetKeepModelOnHide(bool)
PlayerModel:SetPortraitZoom(zoom)
PlayerModel:SetRotation(rotationRadians)
PlayerModel:SetUnit("unitId")
PlayerModel:StopAnimKit()
CinematicModel

CinematicModel was added in Patch 6.0.2 and has all the methods from PlayerModel, plus the following:

CinematicModel:EquipItem(itemID)
CinematicModel:InitializeCamera()
CinematicModel:InitializePanCamera()
CinematicModel:SetAnimOffset(offset)
CinematicModel:SetCreatureData(creatureID)
CinematicModel:SetFacingLeft(isFacingLeft)
CinematicModel:SetFadeTimes(fadeIn, fadeOut)
CinematicModel:SetHeightFactor(factor)
CinematicModel:SetJumpInfo(length, height)
CinematicModel:SetPanDistance(scale)
CinematicModel:SetSpellVisualKit(kitID)
CinematicModel:SetTargetDistance(scale)
CinematicModel:StartPan(panType, timeInSeconds[, doFade, visualKitID])
CinematicModel:StopPan()
CinematicModel:UnequipItems()
DressUpModel

DressUpModel has all the methods from PlayerModel, plus the following:

DressUpModel:Dress() - Sets the model to reflect the character's current inventory.
DressUpModel:GetAutoDress()
DressUpModel:GetSheathed()
DressUpModel:GetSlotTransmogSources(slotIndex)
DressUpModel:GetUseTransmogSkin()
DressUpModel:SetAutoDress(on/off)
DressUpModel:SetSheathed(on/off)
DressUpModel:SetUseTransmogSkin(on/off)
DressUpModel:TryOn(sourceID) - Adds the specified item to the model by sourceID.
DressUpModel:Undress() - Sets the model to reflect the character without inventory.
DressUpModel:UndressSlot(slotIndex)
TabardModel

TabardModel has all the methods from PlayerModel, plus the following:

TabardModel:CanSaveTabardNow() - Indicate if the tabard can be saved.
TabardModel:CycleVariation(variationIndex, delta)
TabardModel:GetLowerBackgroundFileName()
TabardModel:GetLowerEmblemFile()
TabardModel:GetLowerEmblemTexture("textureName")
TabardModel:GetUpperBackgroundFileName()
TabardModel:GetUpperEmblemFile()
TabardModel:GetUpperEmblemTexture("textureName")
TabardModel:InitializeTabardColors()
TabardModel:Save() - Save the tabard.

ModelScene

ModelScene has all the methods from Frame, plus the following:

ModelScene:ClearFog()
ModelScene:CreateActor()
ModelScene:GetActorAtIndex(actorIndex)
ModelScene:GetCameraFarClip()
ModelScene:GetCameraFieldOfView()
ModelScene:GetCameraForward()
ModelScene:GetCameraNearClip()
ModelScene:GetCameraPosition()
ModelScene:GetCameraRight()
ModelScene:GetCameraUp()
ModelScene:GetDrawLayer()
ModelScene:GetFogColor()
ModelScene:GetFogFar()
ModelScene:GetFogNear()
ModelScene:GetLightAmbientColor()
ModelScene:GetLightDiffuseColor()
ModelScene:GetLightDirection()
ModelScene:GetLightPosition()
ModelScene:GetLightType()
ModelScene:GetNumActors()
ModelScene:GetViewInsets()
ModelScene:GetViewTranslation()
ModelScene:IsLightVisible()
ModelScene:Project3DPointTo2D(x, y, z)
ModelScene:SetCameraFarClip(value)
ModelScene:SetCameraFieldOfView(radians)
ModelScene:SetCameraNearClip(value)
ModelScene:SetCameraOrientationByAxisVectors(forwardX, forwardY, forwardZ, rightX, rightY, rightZ, upX, upY, upZ) each vector must be orthonormal
ModelScene:SetCameraOrientationByYawPitchRoll(yaw, pitch, roll)
ModelScene:SetCameraPosition(x, y, z)
ModelScene:SetDrawLayer("layer")
ModelScene:SetFogColor(r, g, b)
ModelScene:SetFogFar(value)
ModelScene:SetFogNear(value)
ModelScene:SetLightAmbientColor(r, g, b)
ModelScene:SetLightDiffuseColor(r, g, b)
ModelScene:SetLightDirection(x, y, z)
ModelScene:SetLightPosition(x, y, z)
ModelScene:SetLightType(LE_MODEL_LIGHT_TYPE)
ModelScene:SetLightVisible()
ModelScene:SetViewInsets(l, r, t, b)
ModelScene:SetViewTranslation(x, y)
ModelScene:TakeActor()

MovieFrame

MovieFrame has all the methods from Frame, plus the following:

MovieFrame:EnableSubtitles(enable) - Enables or disables subtitles for movies played in the frame.
MovieFrame:StartMovie(movieID [, loop]) - Plays a specified movie in the frame
MovieFrame:StopMovie(enable) - Stops the movie currently playing in the frame

OffScreenFrame

OffScreenFrame has all the methods from Frame, plus the following:

OffScreenFrame:ApplySnapshot(texture, ID)
OffScreenFrame:Flush()
OffScreenFrame:GetMaxSnapshots()
OffScreenFrame:IsSnapshotValid(ID)
OffScreenFrame:SetMaxSnapshots(maxSnapshots)
OffScreenFrame:TakeSnapshot()
OffScreenFrame:UsesNPOT()

POIFrame

POIFrame is an abstract object type for points of interest on the map and has all the methods from Frame, plus the following:

POIFrame:DrawAll()
POIFrame:DrawBlob()
POIFrame:DrawNone()
POIFrame:EnableMerging()
POIFrame:EnableSmoothing()
POIFrame:GetMapID()
POIFrame:SetBorderAlpha()
POIFrame:SetBorderScalar()
POIFrame:SetBorderTexture([texture or fileDataID])
POIFrame:SetFillAlpha()
POIFrame:SetFillTexture()
POIFrame:SetMapID()
POIFrame:SetMergeThreshold()
POIFrame:SetNumSplinePoints()

ArchaeologyDigSiteFrame

ArchaeologyDigSiteFrame has all the methods from POIFrame but does not have any other methods.

QuestPOIFrame

QuestPOIFrame has all the methods from POIFrame, plus the following:

QuestPOIFrame:GetNumTooltips()
QuestPOIFrame:GetTooltipIndex()
QuestPOIFrame:UpdateMouseOverTooltip()

ScenarioPOIFrame

ScenarioPOIFrame has all the methods from POIFrame, plus the following:

ScenarioPOIFrame:GetScenarioTooltipText()
ScenarioPOIFrame:UpdateMouseOverTooltip()

ScrollFrame

ScrollFrame has all the methods from Frame, plus the following:

ScrollFrame:GetHorizontalScroll()
ScrollFrame:GetHorizontalScrollRange()
ScrollFrame:GetScrollChild()
ScrollFrame:GetVerticalScroll()
ScrollFrame:GetVerticalScrollRange()
ScrollFrame:SetHorizontalScroll(offset)
ScrollFrame:SetScrollChild()
ScrollFrame:SetVerticalScroll(offset)
ScrollFrame:UpdateScrollChildRect() - no longer required after patch 2.3

ScrollingMessageFrame

ScrollingMessageFrame is an intrinsic frame.

It has all the methods from Frame, FontInstance and ScrollingMessageFrameMixin.

SimpleHTML

SimpleHTML inherits from FontInstance, but there's a difference in that methods have an optional first parameter for which element's font to set ("h1", "h2", "p", etc). The FontInstance methods are not reflected in the SimpleHTML frame until you SetText on the frame. It also appears that you can only supply the block elements and not the inline elements (ie Hyperlinks cannot be colored a different color). Other than that, see FontInstance for documentation of these methods.

SimpleHTML has all the methods from Frame and FontInstance, plus the following:

SimpleHTML:GetContentHeight()
SimpleHTML:GetHyperlinkFormat() - Set the string.format format to use for displaying hyperlinks - New in 1.11.
SimpleHTML:SetHyperlinkFormat("format") - Set the string.format format to use for displaying hyperlinks.
SimpleHTML:SetText("text") - Set the HTML markup to be displayed (note: if there is any markup error, it will be displayed as plain text)

Slider

Slider has all the methods from Frame, plus the following:

Slider:Disable() - Disables the slider
Slider:Enable() - Enables the slider
Slider:GetMinMaxValues() - Get the current bounds of the slider.
Slider:GetObeyStepOnDrag() - Returns whether the slider constrains values to value steps when dragged.
Slider:GetOrientation() - Returns "HORIZONTAL" or "VERTICAL".
Slider:GetStepsPerPage() - Returns the number of steps the slider's value changes by when the slider is clicked.
Slider:GetThumbTexture() - Get the texture for this slider's thumb - New in 1.11.
Slider:GetValue() - Get the current value of the slider.
Slider:GetValueStep() - Get the current step size of the slider.
Slider:IsDraggingThumb()
Slider:IsEnabled() - Returns enabled status of the slider.
Slider:SetEnabled()
Slider:SetMinMaxValues(min, max) - Set the bounds of the slider.
Slider:SetObeyStepOnDrag(obeyStep) - Sets whether the slider constrains values to to value steps when dragged.
Slider:SetOrientation("orientation") - "HORIZONTAL" or "VERTICAL".
Slider:SetStepsPerPage(steps) - Controls slider behavior when the user clicks within the slider's tracking area.
Slider:SetThumbTexture(texture or "texture" or fileDataID or nil)
Slider:SetValue(value) - Set the value of the slider. Also causes the thumb to show on the first call.
Slider:SetValueStep(value) - Set the step size of the slider.

StatusBar

StatusBar has all the methods from Frame, plus the following:

StatusBar:GetFillStyle()
StatusBar:GetMinMaxValues() - Get the current bounds of the bar.
StatusBar:GetOrientation()
StatusBar:GetReverseFill()
StatusBar:GetRotatesTexture()
StatusBar:GetStatusBarAtlas()
StatusBar:GetStatusBarColor()
StatusBar:GetStatusBarTexture() - Returns the texture object for the bar - Before 1.11 it returned the filename.
StatusBar:GetValue() - Get the current value of the bar.
StatusBar:SetFillStyle(style) - Set the style in which the bar will be filled.
StatusBar:SetMinMaxValues(min, max) - Set the bounds of the bar.
StatusBar:SetOrientation("orientation") - "HORIZONTAL" or "VERTICAL".
StatusBar:SetReverseFill(state) - Sets the fill direction.
StatusBar:SetRotatesTexture()
StatusBar:SetStatusBarAtlas("atlasName")
StatusBar:SetStatusBarColor(r, g, b[, alpha]) - Set the color of the bar.
StatusBar:SetStatusBarTexture(texture or "texture" or fileDataID or nil [, "layer"[, subLayer]]) - Sets the texture of the bar - Added texture as valid arg in 1.11.
StatusBar:SetValue(value) - Set the value of the bar.

UnitPositionFrame

UnitPositionFrame has all the methods from Frame, plus the following:

UnitPositionFrame:AddUnit("unit", "texture", width, height, r, g, b, a, subLayer, showFacing)
UnitPositionFrame:AddUnitAtlas("unit", "texture", width, height, r, g, b, a, subLayer)
UnitPositionFrame:AddUnitFileID("unit", fileID, width, height, r, g, b, a, subLayer, showFacing)
UnitPositionFrame:ClearUnits()
UnitPositionFrame:FinalizeUnits()
UnitPositionFrame:GetMouseOverUnits()
UnitPositionFrame:GetPlayerPingScale()
UnitPositionFrame:GetUiMapID()
UnitPositionFrame:SetPlayerPingScale(scale)
UnitPositionFrame:SetPlayerPingTexture(textureIndex, "textureName" or fileDataID, [width, height])
UnitPositionFrame:SetUiMapID(mapID)
UnitPositionFrame:SetUnitColor("unit", r, g, b, a)
UnitPositionFrame:StartPlayerPing()
UnitPositionFrame:StopPlayerPing()

Special

WorldFrame

WorldFrame is the frame which is used to display 3D world itself; it inherits methods of a normal frame widget. The frame is initially nonprotected, but because nameplates are protected children of the world frame, becomes protected when the first nameplate is seen. No additional WorldFrames may be created by addons.

The 3D content of this frame is rendered while keeping the vertical field of vision. So, if you widen (or flatten) WorldFrame, you'll indeed gain a wider horizontal vision angle. Also, if you're designing interface elements covering large areas of valuable screen estate, you might consider sizing WorldFrame down and thus moving it out from under your interface, so that they do not overlap too much.

FrameXML virtual frames

There are several different FrameXML frame templates that are worth pointing out:

  • SecureTemplates and SecureHandlers are a set of protected button and frame templates that enable addons to perform secure actions like spell casting or targetting.
  • UIDropDownMenu allows you to create drop-down list boxes.