Signal
GioSimpleAction::change-state
since: 2.30
Description [src]
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.
Default handler: The default handler is called after the handlers added via |
Available since: 2.30 |