Action

interface Action

#GAction represents a single named action.

The main interface to an action is that it can be activated with g_action_activate(). This results in the 'activate' signal being emitted. An activation has a #GVariant parameter (which may be null). The correct type for the parameter is determined by a static parameter type (which is given at construction time).

An action may optionally have a state, in which case the state may be set with g_action_change_state(). This call takes a #GVariant. The correct type for the state is determined by a static state type (which is given at construction time).

The state may have a hint associated with it, specifying its valid range.

#GAction is merely the interface to the concept of an action, as described above. Various implementations of actions exist, including #GSimpleAction.

In all cases, the implementing class is responsible for storing the name of the action, the parameter type, the enabled state, the optional state type and the state and emitting the appropriate signals when these change. The implementor is responsible for filtering calls to g_action_activate() and g_action_change_state() for type safety and for the state being enabled.

Probably the only useful thing to do with a #GAction is to put it inside of a #GSimpleActionGroup.

Skipped during bindings generation

  • parameter action_name: action_name: Out parameter is not supported

Inheritors

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open val enabled: Boolean

If @action is currently enabled.

Link copied to clipboard
abstract val gioActionPointer: <Error class: unknown class><<Error class: unknown class>>
Link copied to clipboard
open val name: String

The name of the action. This is mostly meaningful for identifying the action once it has been added to a #GActionGroup. It is immutable.

Link copied to clipboard
open val parameterType: <Error class: unknown class>?

The type of the parameter that must be given when activating the action. This is immutable, and may be null if no parameter is needed when activating the action.

Link copied to clipboard
open val state: <Error class: unknown class>?

The state of the action, or null if the action is stateless.

Link copied to clipboard
open val stateType: <Error class: unknown class>?

The #GVariantType of the state that the action has, or null if the action is stateless. This is immutable.

Functions

Link copied to clipboard
open fun activate(parameter: <Error class: unknown class>? = null)

Activates the action.

Link copied to clipboard
open fun changeState(value: <Error class: unknown class>)

Request for the state of @action to be changed to @value.

Link copied to clipboard
open fun getEnabled(): Boolean

Checks if @action is currently enabled.

Link copied to clipboard
open fun getName(): String

Queries the name of @action.

Link copied to clipboard
open fun getParameterType(): <Error class: unknown class>?

Queries the type of the parameter that must be given when activating

Link copied to clipboard
open fun getState(): <Error class: unknown class>?

Queries the current state of @action.

Link copied to clipboard
open fun getStateHint(): <Error class: unknown class>?

Requests a hint about the valid range of values for the state of

Link copied to clipboard
open fun getStateType(): <Error class: unknown class>?

Queries the type of the state of @action.