FrameXML functions

From Warcraft Wiki
Jump to navigation Jump to search

FrameXML functions facilitate interacting with the UI.

UIParent

Note
Note: These functions toggle the Interface Panels, but if they use ShowUIPanel() they cannot be called in combat.
ShowUIPanel(frame, force)
PVEFrame_ToggleFrame() - Toggles the Group Finder.
ToggleAchievementFrame() - Shows the Achievements frame.
ToggleCharacter(index) - Toggles the character pane to the specified frame.
ToggleCollectionsJournal(index) - Toggles the Collections window.
ToggleEncounterJournal() - Toggles the Adventure Guide.
ToggleFriendsFrame([tabNumber]) - Opens/closes the friends pane, optionally on a specific tab.
ToggleGameMenu() - Opens/closes the game menu.
ToggleGuildFrame() - Toggles the Guild & Communites frame.
ToggleHelpFrame() - Opens the Help Request frame.
ToggleMinimap() - Turns the minimap display on/off.
TogglePVPUI() - Opens/closes the PvP frame.
ToggleSpellBook(bookType) - Shows the spellbook. Can show your spells or your pet's.
ToggleTalentFrame() - Opens the Talent frame.
AbbreviateLargeNumbers(value)
AbbreviateNumbers(value)

Mixins

See also the Complete list of mixins

Mixins are similar to classes in OOP languages. An object can "inherit" from multiple mixins.

Mixin(object, ...) - Copies mixins into an existing object.
CreateFromMixins(...) - Copies mixins into a new object.
CreateColor(r, g, b, a) - Returns a ColorMixin object.
CreateRectangle(left, right, top, bottom) - Returns a RectangleMixin object.
CreateVector2D(x, y) - Returns a Vector2DMixin object.
CreateVector3D(x, y, z) - Returns a Vector3DMixin object.
SpellMixin:CreateFromSpellID(spellID) - Returns a SpellMixin object.
Item:CreateFromItemID(itemID) - Returns an ItemMixin object.
ItemLocation:CreateFromBagAndSlot() - Returns an ItemLocationMixin object.
PlayerLocation:CreateFromGUID(guid) - Returns a PlayerLocationMixin object.
TransmogUtil.CreateTransmogLocation(slotDescriptor, transmogType, modification) - Returns a TransmogLocationMixin object.
CallbackRegistryMixin
AnchorMixin
AnimatedNumericFontStringMixin
DoublyLinkedListMixin
GridLayoutMixin
LineMixin
SecondsFormatterMixin
SparseGridMixin
TextureLoadingGroupMixin
CreateObjectPool(creationFunc, resetterFunc) - Creates a ObjectPoolMixin object for widgets.
CreateFramePool(frameType [, parent, frameTemplate, resetterFunc, forbidden]) - Creates a FramePoolMixin for Frames.
CreateTexturePool(parent [, layer, subLayer, textureTemplate, resetterFunc]) - Creates a TexturePoolMixin for Textures.
CreateFontStringPool(parent [, layer, subLayer, fontStringTemplate, resetterFunc]) - Creates a FontStringPoolMixin for FontStrings.
CreateActorPool(parent [, actorTemplate, resetterFunc]) - Creates an ActorPoolMixin for Actors.
CreateFramePoolCollection() - Creates a FramePoolCollectionMixin object for frame pools.

SharedXML

AccountUtil

GameLimitedMode_IsActive()
GetClampedCurrentExpansionLevel()

AnchorUtil

AnchorUtil.CreateAnchor(point, relativeTo, relativePoint, x, y)
AnchorUtil.CreateGridLayout(direction, rowSize, spacingX, spacingY)
AnchorUtil.CreateAnchorFromPoint(region, pointIndex)
AnchorUtil.GridLayout(frames, initialAnchor, layout)
AnchorUtil.GridLayoutFactoryByCount(factoryFunction, count, initialAnchor, layout)
AnchorUtil.GridLayoutFactory(factoryFunction, initialAnchor, totalWidth, totalHeight, overrideDirection, overridePaddingX, overridePaddingY)
AnchorUtil.MirrorRegionsAlongVerticalAxis(mirrorDescriptions)
AnchorUtil.MirrorRegionsAlongHorizontalAxis(mirrorDescriptions)

ColorUtil

CreateColorFromHexString(hexColor)
CreateColorFromBytes(r, g, b, a)
AreColorsEqual(left, right)
GetClassColor(classFilename)
GetClassColorObj(classFilename)
GetClassColoredTextForUnit(unit, text)
GetFactionColor(factionGroupTag)

CvarUtil

RegisterCVar(name, value)
ResetTestCvars()
SetCVar(name, value, eventName) : success
GetCVar(name) : value
SetCVarBitfield(name, index, value, scriptCVar) : success
GetCVarBitfield(name, index) : boolean
GetCVarBool(name) : boolean
GetCVarDefault(name) : value

EasingUtil

EasingUtil.InQuadratic(percent)
EasingUtil.OutQuadratic(percent)
EasingUtil.InOutQuadratic(percent)
EasingUtil.InCubic(percent)
EasingUtil.OutCubic(percent)
EasingUtil.InOutCubic(percent)
EasingUtil.InQuartic(percent)
EasingUtil.OutQuartic(percent)
EasingUtil.InOutQuartic(percent)
EasingUtil.InQuintic(percent)
EasingUtil.OutQuintic(percent)
EasingUtil.InOutQuintic(percent)

ErrorUtil

CallErrorHandler(...)

EventRegistry

CallbackRegistryMixin:RegisterCallback(event, func, ...)
CallbackRegistryMixin:TriggerEvent(event, ...)
EventRegistry:RegisterFrameEventAndCallback(event, func, ...)

EventUtil

EventUtil.ContinueAfterAllEvents(callback, ...)
EventUtil.ContinueOnVariablesLoaded(callback)
EventUtil.ContinueOnAddOnLoaded(addOnName, callback)
EventUtil.RegisterOnceFrameEventAndCallback(frameEvent, callback, ...)
EventUtil.CreateCallbackHandleContainer()

Flags

Flags_CreateMask(...) - Creates a bitmask.
Flags_CreateMaskFromTable(flagsTable)
FlagsUtil.IsSet(bitMask, flagOrMask)

FormattingUtil

SplitTextIntoLines(text, delimiter)
SplitTextIntoHeaderAndNonHeader(text)
FormatValueWithSign(value)
FormatLargeNumber(amount) - Formats a number with dot or comma number seperators.
GetMoneyString(money, separateThousands)
FormatPercentage(percentage, roundToNearestInteger)
FormatFraction(numerator, denominator)
GetHighlightedNumberDifferenceString(baseString, newString)
FormatUnreadMailTooltip(tooltip, headerText, senders)
GetCurrencyString(currencyID, overrideAmount, colorCode, abbreviate)
GetCurrenciesString(currencies)
ReplaceGenderTokens(string, gender)

FrameUtil

FrameUtil.RegisterFrameForEvents(frame, events)
FrameUtil.UnregisterFrameForEvents(frame, events)
FrameUtil.RegisterFrameForUnitEvents(frame, events, ...)
DoesAncestryInclude(ancestry, frame)
GetUnscaledFrameRect(frame, scale)
ApplyDefaultScale(frame, minScale, maxScale)
UpdateScaleForFit(frame)

FunctionUtil

ExecuteFrameScript(frame, scriptName, ...) - Manually calls the handler for a frame script.
CallMethodOnNearestAncestor(self, methodName, ...)
GetValueOrCallFunction(tbl, key, ...)
GenerateClosure(f, ...)
RunNextFrame(callback)

InterfaceUtil

ReloadUI()
StoreInterfaceUtil.OpenToSubscriptionProduct()

LinkUtil

ExtractHyperlinkString(linkString) - Gets the contents from a hyperlink.
ExtractLinkData(link)
ExtractQuestRewardID(linkString)
GetItemInfoFromHyperlink(link)
GetAchievementInfoFromHyperlink(link)
GetURLIndexAndLoadURL(self, link)

MathUtil

Lerp(startValue, endValue, amount) : number - Linearly interpolates between two values for a parameter amount in the closed unit interval [0, 1]
Clamp(value, min, max) : number
Saturate(value) : number
Wrap(value, max) : number
ClampDegrees(value) : number
ClampMod(value, mod) : number
NegateIf(value, condition) : number
PercentageBetween(value, startValue, endValue) : number
ClampedPercentageBetween(value, startValue, endValue) : number
DeltaLerp(startValue, endValue, amount, timeSec) : number
FrameDeltaLerp(startValue, endValue, amount) : number
RandomFloatInRange(minValue, maxValue) : number
Round(value) : number - Rounds a value.
Square(value) : number - Squares a value.
CalculateDistanceSq(x1, y1, x2, y2) : number
CalculateDistance(x1, y1, x2, y2) : number
CalculateAngleBetween(x1, y1, x2, y2) : number

NineSlice

NineSliceUtil.ApplyUniqueCornersLayout(self, textureKit)
NineSliceUtil.ApplyIdenticalCornersLayout(self, textureKit)
NineSliceUtil.ApplyLayout(container, userLayout, textureKit)
NineSliceUtil.DisableSharpening(container)
NineSliceUtil.ApplyLayoutByName(container, userLayoutName, textureKit)
NineSliceUtil.GetLayout(layoutName)
NineSliceUtil.AddLayout(layoutName, layout)

PixelUtil

PixelUtil.GetPixelToUIUnitFactor()
PixelUtil.GetNearestPixelSize(uiUnitSize, layoutScale, minPixels)
PixelUtil.SetWidth(region, width, minPixels)
PixelUtil.SetHeight(region, height, minPixels)
PixelUtil.SetSize(region, width, height, minWidthPixels, minHeightPixels)
PixelUtil.SetPoint(region, point, relativeTo, relativePoint, offsetX, offsetY, minOffsetXPixels, minOffsetYPixels)
PixelUtil.SetStatusBarValue(statusBar, value)

RegionUtil

RegionUtil.IsDescendantOf(potentialDescendant, potentialAncestor)
RegionUtil.IsDescendantOfOrSame(potentialDescendant, potentialAncestorOrSame)
RegionUtil.CalculateDistanceSqBetween(region1, region2)
RegionUtil.CalculateDistanceBetween(region1, region2)
RegionUtil.CalculateAngleBetween(region1, region2)

RestrictedInfrastructure

tostringall(...)
IsFrameHandle(handle, protected)
GetFrameHandleFrame(handle, protected, onlyProtected)
GetFrameHandle(frame, protected)

ScriptAnimationUtil

ScriptAnimationUtil.GetScriptAnimationLock(region)
ScriptAnimationUtil.ReleaseScriptAnimationLock(region)
ScriptAnimationUtil.IsScriptAnimationLockActive(region)
ScriptAnimationUtil.ShakeFrameRandom(region, magnitude, duration, frequency)
ScriptAnimationUtil.ShakeFrame(region, shake, maximumDuration, frequency)
ScriptAnimationUtil.GenerateEasedVariationCallback(easingFunction, distanceX, distanceY, alpha, scale)
ScriptAnimationUtil.StartScriptAnimation(region, variationCallback, duration, onFinish)

ScriptedAnimationEffects

ScriptedAnimationEffectsUtil.GetEffectByID(effectID)
ScriptedAnimationEffectsUtil.ReloadDB()

TableUtil

ripairs(tbl) : iter, invariant, init - Reverse iterates over a sequential table.
tDeleteItem(tbl, item) - Removes a value from a sequential table.
tIndexOf(tbl, item) : index - Returns the index for a value in a table.
tContains(tbl, item) : boolean - Returns true if a sequential table contains a value.
tCompare(lhsTable, rhsTable [, depth]) : boolean - Does a deep compare on the values of the table.
tInvert(tbl) : table - Returns an inverted table.
tFilter(tbl, pred, isIndexTable) : table
tAppendAll(table, addedArray) - Appends the contents of a sequential table to another table.
tUnorderedRemove(tbl, index)
CopyTable(settings [, shallow]) : table - Returns a copy of a table, defaulting to a deep copy.
AccumulateIf(tbl, pred) : count
ContainsIf(tbl, pred) : boolean
FindInTableIf(tbl, pred) : key, value
SafePack(...) : table
SafeUnpack(tbl) : ...

TextureUtil

GetTextureInfo(obj)
SetClampedTextureRotation(texture, rotationDegrees)
ClearClampedTextureRotation(texture)
GetTexCoordsByGrid(xOffset, yOffset, textureWidth, textureHeight, gridWidth, gridHeight)
GetTexCoordsForRole(role)
CreateTextureMarkup(file, fileWidth, fileHeight, width, height, left, right, top, bottom, xOffset, yOffset)
CreateAtlasMarkup(atlasName, width, height, offsetX, offsetY)
SetupAtlasesOnRegions(frame, regionsToAtlases, useAtlasSize)
GetFinalNameFromTextureKit(fmt, textureKits)
SetupTextureKitOnFrame(textureKit, frame, fmt, setVisibility, useAtlasSize)
SetupTextureKitOnFrames(textureKit, frames, setVisibilityOfRegions, useAtlasSize)
SetupTextureKitOnRegions(textureKit, frame, regions, setVisibilityOfRegions, useAtlasSize)
SetupTextureKitsFromRegionInfo(textureKit, frame, regionInfoList)

TimeUtil

SecondsToMinutes(seconds)
MinutesToSeconds(minutes)
HasTimePassed(testTime, amountOfTime)
SecondsToClock(seconds, displayZeroHours)
SecondsToTime(seconds, noSeconds, notAbbreviated, maxCount, roundUp) - Converts a number of seconds into a readable formatted string.
SecondsToTimeAbbrev(seconds) - Converts a number of seconds into a readable and abbreviated formatted string.
FormatShortDate(day, month, year)

UnitUtil

GetPlayerGuid()
IsPlayerGuid(guid)
IsPlayerInitialSpec()

FrameXML

AchievementUtil

AchievementUtil.IsCriteriaAchievementEarned(achievementID, criteriaIndex)
AchievementUtil.IsCriteriaReputationGained(achievementID, criteriaIndex, checkCriteriaAchievement, countHiddenCriteria)
AchievementUtil.IsCategoryFeatOfStrength(category)
AchievementUtil.IsFeatOfStrength(achievementID)

ActionButtonUtil

ActionButtonUtil.ShowAllActionButtonGrids()
ActionButtonUtil.HideAllActionButtonGrids()
ActionButtonUtil.SetAllQuickKeybindButtonHighlights(show)
ActionButtonUtil.ShowAllQuickKeybindButtonHighlights()
ActionButtonUtil.HideAllQuickKeybindButtonHighlights()

AzeriteEssenceUtil

AzeriteEssenceUtil.HasAnyUnlockableMilestones()
AzeriteEssenceUtil.GetMilestoneAtPowerLevel(powerLevel)
AzeriteEssenceUtil.GetMilestoneSpellInfo(milestoneID)

AzeriteUtil

AzeriteUtil.EnumerateEquipedAzeriteEmpoweredItems()
AzeriteUtil.AreAnyAzeriteEmpoweredItemsEquipped()
AzeriteUtil.DoEquippedItemsHaveUnselectedPowers()
AzeriteUtil.GetEquippedItemsUnselectedPowersCount()
AzeriteUtil.GenerateRequiredSpecTooltipLine(powerID)
AzeriteUtil.FindAzeritePowerTier(azeriteEmpoweredItemSource, powerID)
AzeriteUtil.GetSelectedAzeritePowerInTier(azeriteEmpoweredItemSource, tierIndex)
AzeriteUtil.HasSelectedAnyAzeritePower(azeriteEmpoweredItemSource)
AzeriteUtil.DoesBagContainAnyAzeriteEmpoweredItems(bagID)
AzeriteUtil.IsAzeriteItemLocationBankBag(azeriteItemLocation)

CalendarUtil

CalendarUtil.GetCalendarInviteStatusInfo(inviteStatus)
CalendarUtil.GetEventBroadcastText(event)
CalendarUtil.GetOngoingEventBroadcastText(event)
CalendarUtil.FormatCalendarTimeWeekday(messageDate)
CalendarUtil.AreDatesEqual(firstCalendarTime, secondCalendarTime)

CampaignUtil

CampaignUtil.BuildChapterProgressText(campaign, formatString)
CampaignUtil.GetSingleChapterText(chapterID, lineSpacing)
CampaignUtil.BuildAllChaptersText(campaign, lineSpacing)

CommunitiesUtil

CommunitiesUtil.GetMemberRGB(memberInfo)
CommunitiesUtil.SortClubs(clubs)
CommunitiesUtil.SortStreams(streams)
CommunitiesUtil.SortMemberInfo(clubId, memberInfoArray)
CommunitiesUtil.GetMemberIdsSortedByName(clubId, streamId)
CommunitiesUtil.GetMemberInfo(clubId, memberIds)
CommunitiesUtil.GetMemberInfoLookup(memberInfoArray)
CommunitiesUtil.GetOnlineMembers(memberInfoArray)
CommunitiesUtil.SortMembersByList(memberInfoLookup, memberIds)
CommunitiesUtil.GetAndSortMemberInfo(clubId, streamId, filterOffline)
CommunitiesUtil.DoesAnyCommunityHaveUnreadMessages()
CommunitiesUtil.DoesOtherCommunityHaveUnreadMessages(ignoreClubId)
CommunitiesUtil.DoesCommunityHaveUnreadMessages(clubId)
CommunitiesUtil.DoesCommunityHaveOtherUnreadMessages(clubId, ignoreStreamId)
CommunitiesUtil.GetStreamNotificationSettingsLookup(clubId)
CommunitiesUtil.DoesCommunityStreamHaveUnreadMessages(clubId, streamId)
CommunitiesUtil.CanKickClubMember(clubPrivileges, memberInfo)
CommunitiesUtil.ClearAllUnreadNotifications(clubId)
CommunitiesUtil.OpenInviteDialog(clubId, streamId)
CommunitiesUtil.FindCommunityAndStreamByName(communityName, streamName)
CommunitiesUtil.FindGuildStreamByType(clubStreamType)
CommunitiesUtil.GetRoleSpecClassLine(classID, specID)
CommunitiesUtil.AddLookingForLines(tooltip, recruitingSpecIds, recruitingSpecIdMap, playerSpecs)

CovenantUtil

CovenantUtil.GetRenownRewardDisplayData(rewardInfo, onItemUpdateCallback)
CovenantUtil.GetUnformattedRenownRewardInfo(rewardInfo, onItemUpdateCallback)
CovenantUtil.GetRenownRewardInfo(rewardInfo, onItemUpdateCallback)

CurrencyContainer

CurrencyContainerUtil.GetCurrencyContainerInfo(currencyID, numItems, name, texture, quality)
CurrencyContainerUtil.GetCurrencyContainerInfoForAlert(currencyID, quantity, name, texture, quality)

DifficultyUtil

DifficultyUtil.GetDifficultyName(difficultyID)
DifficultyUtil.IsPrimaryRaid(difficultyID)
DifficultyUtil.GetNextPrimaryRaidDifficultyID(difficultyID)
DifficultyUtil.GetMaxPlayers(difficultyID)

ItemRef

SetItemRef(link, text, button, chatFrame) - Handles item link tooltips in chat.
GetFixedLink(text, quality)
GetBattlePetAbilityHyperlink(abilityID, maxHealth, power, speed)
GetPlayerLink(characterName, linkDisplayText, lineID, chatType, chatTarget)
GetBNPlayerLink(name, linkDisplayText, bnetIDAccount, lineID, chatType, chatTarget)
GetGMLink(gmName, linkDisplayText, lineID)
GetBNPlayerCommunityLink(playerName, linkDisplayText, bnetIDAccount, clubId, streamId, epoch, position)
GetPlayerCommunityLink(playerName, linkDisplayText, clubId, streamId, epoch, position)
GetClubTicketLink(ticketId, clubName, clubType)
GetClubFinderLink(clubFinderId, clubName)
GetCalendarEventLink(monthOffset, monthDay, index)
GetCommunityLink(clubId)
LinkUtil.SplitLink(link)
LinkUtil.ExtractLink(text)
LinkUtil.IsLinkType(link, matchLinkType)

ItemUtil

ItemButtonUtil.RegisterCallback(...)
ItemButtonUtil.UnregisterCallback(...)
ItemButtonUtil.TriggerEvent(...)
ItemButtonUtil.GetItemContext()
ItemButtonUtil.HasItemContext()
ItemButtonUtil.GetItemContextMatchResultForItem(itemLocation)
ItemButtonUtil.GetItemContextMatchResultForContainer(bagID)
ItemUtil.GetItemDetails(itemLink, quantity, isCurrency, lootSource)
ItemUtil.PickupBagItem(itemLocation)
ItemUtil.GetOptionalReagentCount(itemID)

MapUtil

MapUtil.IsMapTypeZone(mapID)
MapUtil.GetMapParentInfo(mapID, mapType, topMost)
MapUtil.ShouldMapTypeShowQuests(mapType)
MapUtil.ShouldShowTask(mapID, info)
MapUtil.MapHasUnlockedBounties(mapID)
MapUtil.MapHasEmissaries(mapID)
MapUtil.FindBestAreaNameAtMouse(mapID, normalizedCursorX, normalizedCursorY)
MapUtil.GetDisplayableMapForPlayer()
MapUtil.GetBountySetMaps(bountySetID)
MapUtil.GetMapCenterOnMap(mapID, topMapID)
MapUtil.IsChildMap(mapID, ancestorMapID)
MapUtil.IsOribosMap(mapID)
MapUtil.IsShadowlandsZoneMap(mapID)
MapUtil.MapShouldShowWorldQuestFilters(mapID)

PVPUtil

PVPUtil.GetTierName(tierEnum)
PVPUtil.ShouldShowLegacyRewards()

PartyUtil

PartyUtil.GetMinLevel()
PartyUtil.GetPhasedReasonString(phaseReason, unitToken)
GetGroupMemberCountsForDisplay()

PlayerUtil

PlayerUtil.GetCurrentSpecID()
PlayerUtil.GetSpecName()
PlayerUtil.GetSpecNameBySpecID()
PlayerUtil.GetSpecIconBySpecID()
PlayerUtil.ShouldUseNativeFormInModelScene()
PlayerUtil.GetClassID()
PlayerUtil.GetClassName()
PlayerUtil.GetClassInfo()
PlayerUtil.GetClassFile()
PlayerUtil.GetClassColor()
PlayerUtil.CanUseClassTalents()
PlayerUtil.HasFriendlyReaction()

QuestUtils

QuestUtil.GetWorldQuestAtlasInfo(worldQuestType, inProgress, tradeskillLineID)
QuestUtil.GetQuestIconOffer(isLegendary, frequency, isRepeatable, isCampaign, isCovenantCalling)
QuestUtil.ApplyQuestIconOfferToTexture(texture, ...)
QuestUtil.GetQuestIconActive(isComplete, isLegendary, frequency, isRepeatable, isCampaign, isCovenantCalling)
QuestUtil.ApplyQuestIconActiveToTexture(texture, ...)
QuestUtil.ShouldQuestIconsUseCampaignAppearance(questID)
QuestUtil.GetQuestIconOfferForQuestID(questID)
QuestUtil.ApplyQuestIconOfferToTextureForQuestID(texture, ...)
QuestUtil.GetQuestIconActiveForQuestID(questID)
QuestUtil.ApplyQuestIconActiveToTextureForQuestID(texture, ...)
QuestUtil.SetupWorldQuestButton(button, info, inProgress, selected, isCriteria, isSpellTarget, isEffectivelyTracked)

RuneforgeUtil

RuneforgeUtil.GetCostsString(costs)
RuneforgeUtil.IsUpgradeableRuneforgeLegendary(itemLocation)
RuneforgeUtil.GetRuneforgeFilterText(filter)
RuneforgeUtil.GetPreviewClassAndSpec()

TitleUtil

TitleUtil.GetNameFromTitleMaskID(titleMaskID)

TransmogUtil

TransmogUtil.GetInfoForEquippedSlot(transmogLocation)
TransmogUtil.CanEnchantSource(sourceID)
TransmogUtil.GetWeaponInfoForEnchant(transmogLocation)
TransmogUtil.GetBestWeaponInfoForIllusionDressup()
TransmogUtil.GetSlotID(slotName)
TransmogUtil.GetSlotName(slotID)
TransmogUtil.CreateTransmogLocation(slotDescriptor, transmogType, modification)
TransmogUtil.GetTransmogLocation(slotDescriptor, transmogType, modification)
TransmogUtil.GetTransmogLocationLookupKey(slotID, transmogType, modification)
TransmogUtil.GetSetIcon(setID)