control

This type represents an abstract GUI control.

id

Type: int

Control ID.


id_string

Type: string

String representation of control's ID. This may be empty for some controls.


is_visible

Type: bool

Control's visibility state.


parent

Type: control?

Parent control. Might be nil on some controls.


type

Type: control_type

Control's type.


inactive

Type: bool

If set to true, will mark this control to the inactive state.


inactive_text

Type: string

Tooltip replacement to show when control is inactive.


inactive_color

Type: color

Label color override for inactive controls.


tooltip

Type: string

Tooltip text.


aliases

Type: table[string]

Alias list for this control. Used in search box to support different naming (e.g. if a user searches for "Double tap", will find "Rapid fire" instead).


get_hotkey_state

Returns true if any of the control's hotkeys are active.

Arguments

None.

Returns

Type

Description

bool

true if any hotkey is active.

Example

if ctrl:get_hotkey_state() then
    -- ...
end

set_visible

Changes visibility state for this control.

Arguments

Name

Type

Description

val

bool

Visibility state.

Returns

Nothing.

Example

ctrl:set_visible(false);

add_callback

Adds a callback to this control.

Arguments

Name

Type

Description

cbk

function

Callback.

Returns

Nothing.

Example

ctrl:add_callback(function ()
    print('Callback invoked!');
end);

cast

Attempts to downcast the control to the correct type.

Arguments

None.

Returns

Type

Description

<control>

New type, if any.

Example

local checkbox = maybe_checkbox:cast();

reset

Resets control's state. This action is usually required if you change control's value directly by interacting with value_param.

You also should call this method on layouts if you add multiple controls into them.

Arguments

None.

Returns

Nothing.

Example

ctrl:reset();

Last updated