Skip to content

InteractiveLabel

A Label that responds to mouse interaction, adding a highlight texture and click/hover callbacks.

Create with AceGUI:Create("InteractiveLabel"). It inherits the Common Widget API. It is built on top of the Label widget and supports all of Label's methods (SetText, SetImage, SetColor, SetFontObject, etc.) in addition to the methods below.

Widget type: InteractiveLabel

Methods

SetHighlight

method#
lua
widget:SetHighlight(...)

Sets the texture shown when the label is hovered.

Parameters

ParameterTypeDefaultDescription
...anyArguments forwarded to the highlight texture's SetTexture (e.g. a texture path or file ID); pass nothing to clear the highlight.

SetHighlightTexCoord

method#
lua
widget:SetHighlightTexCoord(...)

Sets the texture coordinates of the highlight texture.

Parameters

ParameterTypeDefaultDescription
...numberEither 4 (left, right, top, bottom) or 8 coordinate values. Any other count falls back to the full texture (0, 1, 0, 1).

SetDisabled

method#
lua
widget:SetDisabled(disabled)

Enables or disables interaction. When disabled, the frame stops accepting mouse input and the text is greyed out.

Parameters

ParameterTypeDefaultDescription
disabledbooleantrue to disable, false to enable.

Defaults

On acquire the interactive label runs the inherited Label acquire (resetting text, image, color, font, and justification), then clears the highlight texture and tex-coords and sets the widget enabled.

Callbacks

In addition to any callbacks inherited from Label, the following are fired:

OnClick

callback#
lua
OnClick(button)

Fired when the label is clicked (on mouse down); AceGUI clears focus afterward. Subscribe with widget:SetCallback.

Parameters

ParameterTypeDefaultDescription
buttonstringThe mouse button that was pressed (e.g. "LeftButton").

OnEnter

callback#
lua
OnEnter()

Fired when the mouse enters the label. Subscribe with widget:SetCallback.

OnLeave

callback#
lua
OnLeave()

Fired when the mouse leaves the label. Subscribe with widget:SetCallback.

Example

lua
local label = AceGUI:Create("InteractiveLabel")
label:SetText("Click me")
label:SetHighlight("Interface\\QuestFrame\\UI-QuestTitleHighlight")
label:SetCallback("OnClick", function(widget, event, button)
    print("Clicked with", button)
end)

Ace3, a World of Warcraft addon framework.