gio.action

Module for [Action] interface

Types 2

interfaceAction

[gio.action.Action] represents a single named action.

The main interface to an action is that it can be activated with [gio.action.Action.activate]. This results in the 'activate' signal being emitted. An activation has a [glib.variant.Variant] 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 [gio.action.Action.changeState]. 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.

[gio.action.Action] is merely the interface to the concept of an action, as described above. Various implementations of actions exist, including [gio.simple_action.SimpleAction].

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 [gio.action.Action.activate] and [gio.action.Action.changeState] for type safety and for the state being enabled.

Probably the only useful thing to do with a [gio.action.Action] is to put it inside of a [gio.simple_action_group.SimpleActionGroup].

Methods
bool enabled() @propertyGet `enabled` property. Returns: If @action is currently enabled.
string name() @propertyGet `name` property. Returns: The name of the action. This is mostly meaningful for identifying the action once it has been added to a #GActionGroup. It is immutable.
glib.variant_type.VariantType parameterType() @propertyGet `parameterType` property. Returns: 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.
glib.variant.Variant state() @propertyGet `state` property. Returns: The state of the action, or null if the action is stateless.
glib.variant_type.VariantType stateType() @propertyGet `stateType` property. Returns: The #GVariantType of the state that the action has, or null if the action is stateless. This is immutable.
bool nameIsValid(string actionName)Checks if action_name is valid.
bool parseDetailedName(string detailedName, out string actionName, out glib.variant.Variant targetValue)Parses a detailed action name into its separate name and target components.
string printDetailedName(string actionName, glib.variant.Variant targetValue = null)Formats a detailed action name from actionname and targetvalue.
void activate(glib.variant.Variant parameter = null)Activates the action.
void changeState(glib.variant.Variant value)Request for the state of action to be changed to value.
bool getEnabled()Checks if action is currently enabled.
string getName()Queries the name of action. Returns: the name of the action
glib.variant_type.VariantType getParameterType()Queries the type of the parameter that must be given when activating action.
glib.variant.Variant getState()Queries the current state of action.
glib.variant.Variant getStateHint()Requests a hint about the valid range of values for the state of action.
glib.variant_type.VariantType getStateType()Queries the type of the state of action.