SimpleAction.connectChangeState

Connect to ChangeState signal.

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 gio.simple_action.SimpleAction.newStateful. 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 gio.simple_action.SimpleAction.setState 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 gio.simple_action.SimpleAction.setState 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.

class SimpleAction
ulong
connectChangeState
(
T
)
(,
Flag!"After" after = No.After
)
if (
isCallable!T &&
is(ReturnType!T == void)
&&
(
Parameters!T.length < 1 ||
(
ParameterStorageClassTuple!T[0] == ParameterStorageClass.none &&
is(Parameters!T[0] == glib.variant.VariantG)
)
)
&&
(
Parameters!T.length < 2 ||
(
ParameterStorageClassTuple!T[1] == ParameterStorageClass.none &&
)
)
&&
Parameters!T.length < 3
)

Parameters

callback T

signal callback delegate or function to connect

void callback(glib.variant.VariantG value, gio.simple_action.SimpleAction simpleAction)

value the requested value for the state (optional)

simpleAction the instance the signal is connected to (optional)

after Flag!"After"

Yes.After to execute callback after default handler, No.After to execute before (default)

Return Value

Type: ulong

Signal ID