struct Gio::SimpleAction::ChangeStateSignal

Overview

Indicates that the action just received a request to change its state.

@value will always be of the correct state type, i.e. the type of the initial state passed to g_simple_action_new_stateful(). If an incorrect type is given when requesting to change the state, this signal is not emitted.

If no handler is connected to this signal then the default behaviour is to call g_simple_action_set_state() to set the state to the requested value. If you connect a signal handler then no default action is taken. If the state should change then you must call g_simple_action_set_state() from the handler.

An example of a 'change-state' handler: |[ static void change_volume_state (GSimpleAction *action, GVariant *value, gpointer user_data) { gint requested;

requested = g_variant_get_int32 (value);

// Volume only goes from 0 to 10 if (0 <= requested && requested <= 10) g_simple_action_set_state (action, value); } ]|

The handler need not set the state to the requested value. It could set it to any value at all, or take some other action.

Defined in:

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

Instance Method Summary

Instance methods inherited from struct GObject::Signal

[](detail : String) : self [], name : String name

Constructor methods inherited from struct GObject::Signal

new(source : GObject::Object, detail : String? = nil) new

Instance Method Detail

def connect(*, after : Bool = false, &block : Proc(GLib::Variant?, Nil)) : GObject::SignalConnection #

def connect(handler : Proc(GLib::Variant?, Nil), *, after : Bool = false) : GObject::SignalConnection #

def connect(handler : Proc(Gio::SimpleAction, GLib::Variant?, Nil), *, after : Bool = false) : GObject::SignalConnection #

def emit(value : _?) : Nil #

def name : String #
Description copied from struct GObject::Signal

The signal name