Gio.Action

const Gio = imports.gi.Gio;

let action = new Gio.Action({
});
  

Gio.Action represents a single named action.

The main interface to an action is that it can be activated with Gio.Action.prototype.activate. This results in the 'activate' signal being emitted. An activation has a GLib.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.prototype.change_state. This call takes a GLib.Variant. 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 is merely the interface to the concept of an action, as described above. Various implementations of actions exist, including Gio.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 responsible for filtering calls to Gio.Action.prototype.activate and Gio.Action.prototype.change_state for type safety and for the state being enabled.

Probably the only useful thing to do with a Gio.Action is to put it inside of a Gio.SimpleActionGroup.

Prerequisites

Action requires GObject.Object

Known Implementations

Action is implemented by PropertyAction and SimpleAction