Appearance
ColorPicker
A color swatch with an optional label that opens Blizzard's ColorPickerFrame when clicked, with optional alpha (opacity) support.
Create with AceGUI:Create("ColorPicker"). It inherits the Common Widget API.
Widget type: ColorPicker
Methods
SetColor
method#
lua
widget:SetColor(r, g, b, a?)Stores the current color and tints the swatch texture to match.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
r | number | Red component in the 0–1 range. | |
g | number | Green component in the 0–1 range. | |
b | number | Blue component in the 0–1 range. | |
a (optional) | number | 1 | Alpha in the 0–1 range. |
SetHasAlpha
method#
lua
widget:SetHasAlpha(HasAlpha)Controls whether the color picker exposes the opacity slider. When alpha is disabled, the widget forces alpha to 1 in its callbacks.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
HasAlpha | boolean | true to allow editing the alpha channel. |
SetLabel
method#
lua
widget:SetLabel(text?)Sets the text shown to the right of the swatch.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
text (optional) | string | The label string, or nil to clear. |
SetDisabled
method#
lua
widget:SetDisabled(disabled)Enables or disables the swatch. A disabled swatch will not open the color picker and its label is greyed.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
disabled | boolean | true to disable, false to enable. |
Defaults
On acquire the widget resets to: height 24, width 200, alpha disabled, color black opaque (0, 0, 0, 1), not disabled, and no label.
Callbacks
OnValueChanged
callback#
lua
OnValueChanged(r, g, b, a)Fired live while the ColorPickerFrame is open and the color is changed (and not equal to the previous value). Subscribe with widget:SetCallback.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
r | number | Red component in the 0–1 range. | |
g | number | Green component in the 0–1 range. | |
b | number | Blue component in the 0–1 range. | |
a | number | Alpha in the 0–1 range. |
OnValueConfirmed
callback#
lua
OnValueConfirmed(r, g, b, a)Fired once after the color picker is closed (on the final alpha callback), to signal the user committed a value, including via cancel which restores the original color. Subscribe with widget:SetCallback.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
r | number | Red component in the 0–1 range. | |
g | number | Green component in the 0–1 range. | |
b | number | Blue component in the 0–1 range. | |
a | number | Alpha in the 0–1 range. |
OnEnter
callback#
lua
OnEnter()Fired when the mouse enters the swatch. Subscribe with widget:SetCallback.
OnLeave
callback#
lua
OnLeave()Fired when the mouse leaves the swatch. Subscribe with widget:SetCallback.
Example
lua
local cp = AceGUI:Create("ColorPicker")
cp:SetLabel("Bar color")
cp:SetHasAlpha(true)
cp:SetColor(db.r, db.g, db.b, db.a)
cp:SetCallback("OnValueConfirmed", function(widget, event, r, g, b, a)
db.r, db.g, db.b, db.a = r, g, b, a
end)