struct Gio::SimpleAction::ChangeStateSignal
- Gio::SimpleAction::ChangeStateSignal
- GObject::Signal
- Struct
- Value
- Object
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.crInstance Method Summary
- #connect(*, after : Bool = false, &block : Proc(GLib::Variant | Nil, Nil)) : GObject::SignalConnection
- #connect(handler : Proc(GLib::Variant | Nil, Nil), *, after : Bool = false) : GObject::SignalConnection
- #connect(handler : Proc(Gio::SimpleAction, GLib::Variant | Nil, Nil), *, after : Bool = false) : GObject::SignalConnection
- #emit(value : _ | Nil) : Nil
-
#name : String
The signal name