Struct

GioActionEntry

Description [src]

struct GActionEntry {
  const gchar* name;
  void (* activate) (
    GSimpleAction* action,
    GVariant* parameter,
    gpointer user_data
  );
  const gchar* parameter_type;
  const gchar* state;
  void (* change_state) (
    GSimpleAction* action,
    GVariant* value,
    gpointer user_data
  );
}

This struct defines a single action. It is for use with g_action_map_add_action_entries().

The order of the items in the structure are intended to reflect frequency of use. It is permissible to use an incomplete initialiser in order to leave some of the later values as NULL. All values after name are optional. Additional optional fields may be added in the future.

See g_action_map_add_action_entries() for an example.

Structure members
name

The name of the action.

activate

The callback to connect to the “activate” signal of the action. Since GLib 2.40, this can be NULL for stateful actions, in which case the default handler is used. For boolean-stated actions with no parameter, this is a toggle. For other state types (and parameter type equal to the state type) this will be a function that just calls change_state (which you should provide).

parameter_type

The type of the parameter that must be passed to the activate function for this action, given as a single GVariant type string (or NULL for no parameter).

state

The initial state for this action, given in GVariant text format. The state is parsed with no extra type information, so type tags must be added to the string if they are necessary. Stateless actions should give NULL here.

change_state

The callback to connect to the “change-state” signal of the action. All stateful actions should provide a handler here; stateless actions should not.