From 535dcf4f22ba7621c6078f3fe96db6d3e64f0132 Mon Sep 17 00:00:00 2001 From: Ryan Lortie Date: Wed, 29 Jun 2011 14:53:24 +0100 Subject: [PATCH] Add example for 'change-state' signal Pulled from the testcase. --- gio/gsimpleaction.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gio/gsimpleaction.c b/gio/gsimpleaction.c index 0f26c0f74..bf8dd7373 100644 --- a/gio/gsimpleaction.c +++ b/gio/gsimpleaction.c @@ -351,6 +351,28 @@ g_simple_action_class_init (GSimpleActionClass *class) * default action is taken. If the state should change then you must * call g_simple_action_set_state() from the handler. * + * + * Example '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. + * * Since: 2.30 */ g_simple_action_signals[SIGNAL_CHANGE_STATE] =