module Gio::Action

Overview

#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 nil). 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.

Direct including types

Defined in:

lib/gi-crystal/src/auto/gio-2.0/action.cr

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.cast(obj : GObject::Object) : self #

Cast a GObject::Object to self, throws a TypeCastError if the cast can't be made.


[View source]

Class Method Detail

def self.cast?(obj : GObject::Object) : self | Nil #

[View source]
def self.g_type : UInt64 #

[View source]
def self.name_is_valid(action_name : String) : Bool #

[View source]
def self.print_detailed_name(action_name : String, target_value : _ | Nil) : String #

[View source]

Instance Method Detail

def activate(parameter : _ | Nil) : Nil #

[View source]
def change_state(value : _) : Nil #

[View source]
def enabled : Bool #

[View source]
def enabled? : Bool #

[View source]
def name : String #

[View source]
def name? : String | Nil #

Same as #name, but can return nil.


[View source]
def parameter_type : GLib::VariantType | Nil #

[View source]
def parse_detailed_name(detailed_name : String, action_name : String, target_value : _) : Bool #

[View source]
def state : GLib::Variant | Nil #

[View source]
def state_hint : GLib::Variant | Nil #

[View source]
def state_type : GLib::VariantType | Nil #

[View source]
abstract def to_unsafe #

[View source]