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 scripts.

Abstract Base Implementations Frame Subclasses Animation Subclasses
Widget Hierarchy
Blizzard. XML Schema Definition.
Resike. BlizzardInterfaceResources.
Ketho. BlizzardInterfaceResources.
wowprogramming 2017-03-12. Widget Hierarchy.
Note
Note: This list is up to date as of Patch 8.3.0 (33062) Jan 14 2020

UIObject

UIObject is the abstract base for nearly all user interface elements. Widgets implementing UIObject have the following methods:

UIObject:GetDebugName() - Returns the object's _G accessible path.
UIObject:GetName() - Returns the widget object's name
UIObject:GetObjectType() - Returns the object's widget type
UIObject:GetParent() - Returns the object's parent (if any)
UIObject:IsForbidden() - Indicates whether insecure interaction with a widget is forbidden.
UIObject:IsObjectType(type) - Indicates whether the object belongs to a given widget type, or a subclass of that type.
PROTECTED UIObject:SetForbidden(boolean)

ScriptObject

ScriptObject is an abstract class for Frame, AnimationGroup and Animation. Widgets inheriting ScriptObject have the following methods:

ScriptObject:GetScript(scriptType [, bindingType]) - Returns the widget's handler function for a script.
ScriptObject:HasScript(scriptType) - Returns whether the widget supports a type of 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.

Region

Regions are abstract rectangular areas of the screen, providing common API inheritted by concrete subclasses such as Frame, FontString or Texture. Region has all the methods from UIObject, plus the following:

Fundamental properties
Region:SetParent(parent or parentName) - Defines this region as a child of parent or _G["parentName"], causing many properties to inherit
Region:SetPoint(...) - Defines an attachment point of this region
Region:SetAllPoints(frame or frameName) - Defines attachment points for this region to match edges of the specified frame
Region:ClearAllPoints() - Removes all previously-defined attachment points for this region
Region:GetNumPoints() - Returns the number of anchor points defined for this frame
Region:GetPoint(index) - Returns the details of the indexth anchor point defined for this frame (point, relativeTo, relativePoint, xofs, yofs)
Defining size and location
Region:SetHeight(height) - Defines the height of the object (scale dependent)
Region:SetWidth(width) - Defines the width of the object (scale dependent)
Region:SetSize(width,height) - Defines the width and the height, as shorthand for SetWidth() and SetHeight()
Region:SetScale(scale) - Defines the scale relative to an immediate parent or standard coordinate space, depending on IsIgnoringParentScale()
Region:SetIgnoreParentScale() - Directs the region to scale itself manually without inheritence
Computed size and location
Region:GetLeft() - Returns the distance from the left edge of the screen (scale dependent)
Region:GetBottom() - Returns the distance from the bottom edge of the screen (scale dependent)
Region:GetRight() - Returns the distance from the bottom of the screen (scale dependent)
Region:GetTop() - Returns the distance of the top edge from the bottom of the screen (scale dependent)
Region:GetCenter() - Returns the distance of the region's middle from the bottom-left corner of the screen (scale dependent)
Region:GetWidth() - Returns the width of this object (scale dependent)
Region:GetHeight() - Returns the height of this object (scale dependent)
Region:GetSize() - Returns the width and height (scale dependent)
Region:GetRect() - Returns the location and size (scale dependent), as shorthand for GetBottom(), GetLeft(), GetWidth() and GetHeight()
Region:GetScaledRect() - Returns the location and size in a standard coordinate space (as if effectiveScale = 1)
Region:IsRectValid() - Indicates the region has been sufficiently defined for placement on the screen
Region:GetScale() - Returns the set scale (normally relative to its parent)
Region:GetEffectiveScale() - Returns the net scale, inclusive of all parents
Region:IsIgnoringParentScale() - Indicates the region scales itself manually without inheritence
Visibilty
Region:Hide() - Directs the region and its children to disappear
Region:Show() - Directs the region to appear and permits its children to appear also, but not while the region's parent (if any) is hidden
Region:SetShown(boolean) - Directs the region to appear or disappar, as an alternative to Hide() and Show()
Region:IsShown() - Indicates the region will appear, but only while its parent appears or if it has no parent
Region:IsVisible() - Indicates the region and its parent (if any) are currently appearing
Opacity
Region:GetAlpha() - Returns the object's set opacity between 0 and 1 (normally relative to its parent)
Region:GetEffectiveAlpha() - Return's the net opacity, inclusive of all parents
Region:SetAlpha(alpha) - Defines the object's opacity between 0 and 1 (normally relative to its parent)
Region:SetIgnoreParentAlpha(boolean) - Directs the region to adopt a manually defined opacity uninherited from its parent
Region:IsIgnoringParentAlpha() - Indicates the region has a manually defined opacity uninherited from its parent
Other methods
Region:CanChangeProtectedState()[citation needed] 
Region:CreateAnimationGroup() - Constructs a new AnimationGroup as a child of this Region. - New in 3.1.0
Region:GetAnimationGroups() - Returns all AnimationGroups that are children of this Region. - New in 3.1.0
Region:IsDragging() - True if this Region or its Parent is being dragged. - New in 3.1.0
Region:IsMouseOver([top, bottom, left, right]) - Checks whether the mouse is over the frame (or within specified offsets).
Region:IsObjectLoaded()[citation needed] 
Region:IsProtected() - Indicates if this object can be manipulated in certain ways by tainted code in combat or not
Region:StopAnimating() - Halts any active Animations on the Region and its children - New in 3.1.0

LayeredRegion

LayeredRegion is an abstract interface shared by objects that only exist inside a Layer within a parent Frame.

LayeredRegion introduces the following methods to any object implementing it:

LayeredRegion:SetDrawLayer(layer [, sublevel]) - Assigns this object to a layer
LayeredRegion:GetDrawLayer() - Returns this object's assigned layer
LayeredRegion:SetVertexColor(r, g, b [, a]) - Shades the object

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

Animation is the abstract class for widgets inside an AnimationGroup that animate a Region. Widgets extending Animation have 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.

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 the same methods as Scale.

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 the same methods as Translation.

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.

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()

FontInstance

FontInstance is an interface implemented by Font, FontString, and several subclasses of Frame displaying text.

Classes implementing FontInstance have the following methods:

Font
FontInstance:GetFont() - Return the font path, height, and flags that may be used to construct an identical Font object.
FontInstance:GetFontObject() - Return the "parent" Font object, or nil if none.
FontInstance:SetFont(path, height[,flags]) - Constructs a new Font object and assigns it to this FontInstance.
FontInstance:SetFontObject(fontObject) - Sets the "parent" Font object from which this object inherits properties.
Shape
FontInstance:GetIndentedWordWrap() - Returns the indentation when text wraps beyond the first line
FontInstance:GetJustifyH() - Returns the horizontal text justification.
FontInstance:GetJustifyV() - Returns the vertical text justification.
FontInstance:GetSpacing() - Returns the line spacing.
FontInstance:SetIndentedWordWrap() - Defines the indentation when text wraps beyond the first line
FontInstance:SetJustifyH(justifyH) - Defines the horizontal text justification ("LEFT","RIGHT", or "CENTER")
FontInstance:SetJustifyV(justifyV) - Defines the vertical text justification ("TOP", "BOTTOM", or "MIDDLE")
FontInstance:SetSpacing(spacing) - Sets the spacing between lines of text in the object.
Appearance
FontInstance:GetShadowColor() - Returns the color of text shadow.
FontInstance:GetShadowOffset() - Returns the text shadow offset.
FontInstance:GetTextColor() - Returns the default text color.
FontInstance:SetShadowColor(r, g, b[, a]) - Sets the text shadow color.
FontInstance:SetShadowOffset(x, y) - Sets the text shadow offset.
FontInstance:SetTextColor(r, g, b[, a]) - Sets the default text color.

Font

Font objects define a common text appearance assignable using FontInstance:SetFontObject(fontObject).

Font has all the methods of 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

FontString is a subclass of LayeredRegion that implements that displays text.

FontString has all the methods from LayeredRegion and FontInstance, plus the following:

Fundamental properties
FontString:GetText() - Get the displayed text.
FontString:SetText(text) - Set the displayed text.
FontString:FindCharacterIndexAtCoordinate(x, y)
Calculated properties (extending Region)
FontString:GetNumLines() - Returns the number of lines
FontString:GetStringHeight() - Returns the height of the text in its current font, ignoring line wrapping
FontString:GetStringWidth() - Returns the length of the text, ignoring line wrapping
FontString:GetUnboundedStringWidth() - Returns the length of the text, ignoring line wrapping and truncation
FontString:GetWrappedWidth() - Returns the width of the longest line resulting from line wrapping
FontString:IsTruncated() - Returns whether the string is truncated because it lacked space
Shape
FontString:CanNonSpaceWrap() - Get whether long strings without spaces are wrapped or truncated - New in 1.11.
FontString:CanWordWrap()
FontString:GetFieldSize()
FontString:GetLineHeight()
FontString:GetMaxLines()
FontString:GetLineHeight()
FontString:GetMaxLines()
FontString:SetMaxLines()
FontString:SetNonSpaceWrap(wrapFlag) - Set whether long strings without spaces are wrapped or truncated.
FontString:SetTextHeight(pixelHeight) - Set the height of the text by scaling graphics (Note: Can distort text).
FontString:SetWordWrap()
Appearance
FontString:CalculateScreenAreaFromCharacterSpan(leftCharacterIndex, rightCharacterIndex)
FontString:SetAlphaGradient(start, length) - Create or remove an alpha gradient over the text.
FontString:SetFixedColor()
FontString:SetFormattedText(formatstring[, ...]) - Set the formatted display text. - New in 2.3.

Texture

Texture is a subclass of LayeredRegion to display an image.  It has all the methods from LayeredRegion plus the following:

Fundamental Properties
Texture:GetAtlas()
Texture:GetTexCoord() - Gets the 8 texture coordinates that map to the Texture's corners - New in 1.11.
Texture:GetTexture() - Gets this texture's current texture path.
Texture:GetTextureFileID()
Texture:GetTextureFilePath()
Texture:SetAtlas(atlasName [, useAtlasSize, filterMode])
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:SetTexture(file [, horizWrap, vertWrap, filterMode]) - Changes the texture displayed by the Texture widget.


Position (extending Region)
Texture:GetHorizTile()
Texture:GetRotation()
Texture:GetVertTile()
Texture:SetHorizTile(horizTile) - Sets whether the widget should adjust horizontal texture coordinates based on texture and widget dimensions.
Texture:SetRotation(angle [, cx, cy]) - Applies a counter-clockwise rotation to the texture.
Texture:SetVertTile(horizTile) - Sets whether the widget should adjust vertical texture coordinates based on texture and widget dimensions.


Masks and Shading (extending LayeredRegion)
Texture:AddMaskTexture(maskTexture)
Texture:GetBlendMode() - Returns the AlphaMode.
Texture:GetDesaturation()
Texture:GetMaskTexture(index)
Texture:GetNumMaskTextures()
Texture:GetVertexColor() - Gets the vertex color for the Texture.
Texture:IsDesaturated() - Gets the desaturation state of this Texture. - New in 1.11
Texture:RemoveMaskTexture(maskTexture)
Texture:SetBlendMode(mode) - Defines the AlphaMode.
Texture:SetColorTexture(r, g, b [, a]) - Creates a solid-color 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:SetMask(maskName)


Misc
Texture:GetNonBlocking()
Texture:GetVertexOffset(vertexIndex)
Texture:IsSnappingToPixelGrid()
Texture:SetNonBlocking()
Texture:GetTexelSnappingBias()
Texture:SetTexelSnappingBias(texelSnappingBias) where texelSnappingBias is [0-1]
Texture:SetSnapToPixelGrid()
Texture:SetVertexOffset(vertexIndex, offsetX, offsetY)

MaskTexture

MaskTexture can be can be used to mask any number of textures. It is created from Frame:CreateMaskTexture and has almost all the methods from Texture.

guema 2017-05-02. MaskTexture : new widget for 7.2.

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.

Frame

Frame is the highest-level concrete object type for most interactable objects and containers on the screen, providing the basis for responding to user interaction and game events. Frame has all the methods from Region and ScriptObject, plus the following:

Fundamental properties (extending UIObject)
Frame:GetID() - Returns the numeric ID associated with this frame.
Frame:SetID(id) - Associates a numeric ID with this frame.


Children and LayeredRegions
Frame:CreateFontString() - Create and return a new FontString.
Frame:CreateLine{) - Create and return a new Line.
Frame:CreateMaskTexture() - Create and return a new MaskTexture .
Frame:CreateTexture() - Create and return a new Texture.
Frame:GetChildren() - Return child Frames as multiple return values.
Frame:GetRegions() - Return child LayeredRegions as multiple return values.
Frame:GetNumChildren() - Return the number of child Frames.
Frame:GetNumRegions() - Return the number of child LayeredRegions.
Frame:DisableDrawLayer(layer) - Disable LayeredRegions in the specified draw layer.
Frame:EnableDrawLayer(layer) - Enable LayeredRegions in the specified draw layer.
Frame:DesaturateHierarchy(desaturation)
Frame:GetEffectivelyFlattensRenderLayers()
Frame:GetFlattensRenderLayers()
Frame:SetFlattensRenderLayers()
Frame:DoesClipChildren()


User Interaction
Frame:EnableJoystick()
Frame:EnableKeyboard(enableFlag) - Define whether to receive keyboard input.
Frame:EnableMouse(enableFlag) - Define whether to frame receives mouse input.
Frame:EnableMouseWheel(enableFlag) - Define whether to receive mouse wheel notifications.
Frame:GetHyperlinksEnabled()
Frame:GetPropagateKeyboardInput() - Returns whether keyboard inputs propagate.
Frame:IsJoystickEnabled()
Frame:IsKeyboardEnabled() - Returns whether receiving keyboard input.
Frame:IsMouseClickEnabled() - Returns whether receiving mouse click inputs.
Frame:IsMouseEnabled() - Returns whether receiving mouse input.
Frame:IsMouseMotionEnabled() - Returns whether receiving mouse enter/hover notifications.
Frame:IsMouseWheelEnabled() - Returns whether receiving mouse wheel notifications.
Frame:IsMovable() - Determine if the frame can be moved.
Frame:IsResizable() - Determine if the frame can be resized.
Frame:IsUserPlaced() - Determine if this frame has been relocated by the user.
Frame:RegisterForDrag(buttonType[,buttonType...]) - Direct the frame to monitor for mouse-dragging.
Frame:SetAttribute(name, value) - Set an attribute on the frame.
Frame:SetHyperlinksEnabled()
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.
Frame:SetResizable(isResizable) - Set whether the frame can be resized.
Frame:SetUserPlaced(isUserPlaced) - Set whether the frame has a user-defined position 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.
Code Execution
Frame:CanChangeAttribute()
Frame:ExecuteAttribute(name [, ...])
Frame:GetAttribute(prefix, name, suffix) - Returns the current value of an attribute matching a given pattern
Frame:IsEventRegistered(event) - Returns true if the given event is registered to the frame.
Frame:RegisterAllEvents() - Register this frame to receive all events (For debugging only!)
Frame:RegisterEvent(event) - Register for notifications when an event occurs.
Frame:RegisterUnitEvent(event, unit1 [, unit2]) - Register for notifications when events apply to certain units.
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.


Position (extending Region)
Frame:GetBoundsRect()
Frame:GetClampRectInsets() - Gets the modifiers used for limiting the frame from leaving the screen..
Frame:GetDepth()
Frame:GetDontSavePosition()
Frame:GetEffectiveAlpha() - Returns the effective alpha of a frame.
Frame:GetEffectiveDepth() -
Frame:GetFrameLevel() - Get the level of this frame.
Frame:GetFrameStrata() - Get the strata of this frame.
Frame:GetHitRectInsets(l, r, t, b) - Gets the frame's hit rectangle inset distances
Frame:GetMaxResize(w, h) - Gets the frame's maximum allowed resize bounds
Frame:GetMinResize(w, h) - Gets the frame's minimum allowed resize bounds
Frame:IgnoreDepth(ignoreFlag)
Frame:IsClampedToScreen() - Gets whether the frame is prohibited from being dragged off screen.
Frame:IsIgnoringDepth()
Frame:IsToplevel() - Get whether the frame is set as toplevel
Frame:Lower() - Lower this frame behind other frames.
Frame:Raise() - Raise this frame above other frames.
Frame:SetClampRectInsets(left, right, top, bottom) - Modify how much the frame may be dragged 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)
Frame:SetDontSavePosition()
Frame:SetFrameLevel(level) - Position the frame within a subdivision of its z-axis interval
Frame:SetFrameStrata(strata) - Position the frame within a z-axis interval.
Frame:SetHitRectInsets(left, right, top, bottom) - Set the inset distances for the frame's hit rectangle.
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:SetToplevel(isTopLevel) - Set whether the frame should raise itself when clicked


Appearance
WoW Icon update.png Classic only from Patch 9.0.1; see BackdropTemplate
Frame:GetBackdrop() - Creates and returns a backdrop table suitable for use in SetBackdrop
Frame:GetBackdropBorderColor(r, g, b, a) - Gets the frame's backdrop border color
Frame:GetBackdropColor(r, g, b, a) - Gets the frame's backdrop color
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.

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

Buttons respond to clicks and provide a label to inform the user what to anticipate. A button might appear different whether it is pushed, normal (depressed), or highlighted (hovered).

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

Interaction
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:GetMotionScriptsWhileDisabled() - Get whether the button is allowed to run its OnEnter and OnLeave scripts even while disabled - New in 3.3.
Button:GetNormalTexture() - Get the normal texture for this button - New in 1.11.
Button:GetPushedTexture() - Get the texture for this button when pushed - New in 1.11.
Button:IsEnabled() - Determine whether the Button is enabled.
Button:RegisterForClicks(clickType[,clickType...]) - Specify which mouse button up/down actions cause this button to receive an OnClick notification.
Button:RegisterForMouse()
Button:SetButtonState(state[, lock]) - Set the state of the Button ("PUSHED", "NORMAL") and whether it is locked.
Button:SetEnabled(boolean) - Same as Enable() or Disable()
Button:SetMotionScriptsWhileDisabled([bool]) - Set whether button should fire its OnEnter and OnLeave scripts even while disabled - New in 3.3.
Appearance
Button:GetDisabledTexture() - Get the texture for this button when disabled - New in 1.11.
Button:GetHighlightTexture() - Get the texture for this button when highlighted.
Button:LockHighlight() - Set the Button to always be drawn highlighted.
Button:SetDisabledAtlas(atlasName)
Button:SetDisabledTexture(texture or texturePath) - Set the disabled texture for the Button - Updated in 1.10.
Button:SetHighlightAtlas(atlasName[, blendmode)
Button:SetHighlightTexture(texture or texturePath[,alphaMode]) - Set the highlight texture for the Button.
Button:SetNormalAtlas(atlasName)
Button:SetNormalTexture(texture or texturePath) - Set the normal texture for the Button - Updated in 1.10.
Button:UnlockHighlight() - Set the Button to not always be drawn highlighted.
Button:SetPushedAtlas(atlasName)
Button:SetPushedTexture(texture or texturePath) - Set the pushed texture for the Button - Updated in 1.10.
Label
Button:GetDisabledFontObject() - Return the font object for the Button when disabled - New in 1.10.
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:GetNormalFontObject() - Get the Font Object of the button.
Button:GetPushedTextOffset() - Get the text offset when this button is pushed (x, y) - 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:SetDisabledFontObject([font]) - Set the font object for settings when disabled - New in 1.10.
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:SetHighlightFontObject([font]) - Set the font object for settings when highlighted - New in 1.10.
Button:SetNormalFontObject(FontObject) - Set the Font Object of the button.
Button:SetPushedTextOffset(x, y) - Set the text offset for this button when pushed - New in 1.11.
Button:SetText(text) - Set the text label for the Button.

CheckButton

CheckButtons comprise a tickable box beside a plain-text label. A CheckButton saves its state (whether it is checked) and clicking anywhere (box or label) normally changes this state unless overridden.

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
CheckButton:GetDisabledCheckedTexture() - Get the texture used for a disabled checked box
CheckButton:SetChecked(boolean) - 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 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 nil) - Set the texture for the color wheel thumb - New in 1.11.

Cooldown

Cooldowns provide an animated translucent 'sweep' that rotates along a timer.

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

Time
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:IsPaused() - Returns whether the cooldown is currently paused
Cooldown:Pause() - Pause the cooldown
Cooldown:Resume() - Resume the cooldown after being paused
Cooldown:SetCooldown(start, duration[, modRate]) - Shows a cooldown animation.
Cooldown:SetCooldownDuration(duration[, modRate])
Cooldown:SetCooldownUNIX(start, duration[, modRate])
Appearance
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:SetBlingTexture(file or fileDataID, [r, g, b, a])
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:AddAtlas(atlas [, minx, maxx, miny, maxy] or [, textureInfoTable])
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: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:SetInventoryItemByID(itemID)
GameTooltip:SetInventoryItem(unit, slot[, nameOnly, hideUselessStats])
GameTooltip:SetItemByID(itemID) - Shows the tooltip for a specified Item ID. (added in 4.2.0.14002 along with the Encounter Journal)
GameTooltip:SetItemKey(itemID, itemLevel, itemSuffix)
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(index, item)
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:SetQuestPartyProgress(questID, omitTitle, ignoreActivePlayer)
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:SetAuctionItem(type, index) - Shows the tooltip for the specified auction item.
WoW Icon update.png GameTooltip:SetAuctionSellItem()
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()

ModelSceneActor

ModelSceneActor can be created from ModelScene:CreateActor. It has the following methods:

ModelSceneActor:AttachToMount()
ModelSceneActor:CalculateMountScale()
ModelSceneActor:ClearModel()
ModelSceneActor:Dress()
ModelSceneActor:GetActiveBoundingBox()
ModelSceneActor:GetAlpha()
ModelSceneActor:GetAnimation()
ModelSceneActor:GetAnimationBlendOperation()
ModelSceneActor:GetAnimationVariation()
ModelSceneActor:GetAutoDress()
ModelSceneActor:GetDebugName()
ModelSceneActor:GetDesaturation()
ModelSceneActor:GetMaxBoundingBox()
ModelSceneActor:GetModelFileID()
ModelSceneActor:GetModelPath()
ModelSceneActor:GetModelUnitGUID()
ModelSceneActor:GetParent()
ModelSceneActor:GetPitch()
ModelSceneActor:GetPosition()
ModelSceneActor:GetRoll()
ModelSceneActor:GetScale()
ModelSceneActor:GetSheathed()
ModelSceneActor:GetSlotTransmogSources()
ModelSceneActor:GetSpellVisualKit()
ModelSceneActor:GetUseTransmogSkin()
ModelSceneActor:GetYaw()
ModelSceneActor:Hide()
ModelSceneActor:IsForbidden()
ModelSceneActor:IsLoaded()
ModelSceneActor:IsShown()
ModelSceneActor:IsUsingCenterForOrigin()
ModelSceneActor:IsVisible()
ModelSceneActor:PlayAnimationKit()
ModelSceneActor:SetAlpha()
ModelSceneActor:SetAnimation()
ModelSceneActor:SetAnimationBlendOperation()
ModelSceneActor:SetAutoDress()
ModelSceneActor:SetDesaturation()
ModelSceneActor:SetForbidden()
ModelSceneActor:SetModelByCreatureDisplayID()
ModelSceneActor:SetModelByFileID()
ModelSceneActor:SetModelByPath()
ModelSceneActor:SetModelByUnit()
ModelSceneActor:SetPitch()
ModelSceneActor:SetPlayerModelFromGlues()
ModelSceneActor:SetPosition()
ModelSceneActor:SetRoll()
ModelSceneActor:SetScale()
ModelSceneActor:SetSheathed()
ModelSceneActor:SetShown()
ModelSceneActor:SetSpellVisualKit()
ModelSceneActor:SetUseCenterForOrigin()
ModelSceneActor:SetUseTransmogSkin()
ModelSceneActor:SetYaw()
ModelSceneActor:Show()
ModelSceneActor:StopAnimationKit()
ModelSceneActor:TryOn()
ModelSceneActor:Undress()
ModelSceneActor:UndressSlot()

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 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 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()

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.

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.