DEFINITION MODULE FOR "C" GSimpleAction ; (* m2-GTK4 - GSimpleAction: the simplest GAction implementation. Mapped onto . A parameterless action is created with a NIL parameter type: action := g_simple_action_new("quit", NIL); A stateful action carries an initial GVariant state: action := g_simple_action_new_stateful("bold", NIL, g_variant_new_boolean(0)); Signals: "activate" void(GSimpleAction*, GVariant *parameter, gpointer) "change-state" void(GSimpleAction*, GVariant *value, gpointer) Both callbacks have the same (action, variant, data) shape. *) FROM SYSTEM IMPORT ADDRESS; EXPORT UNQUALIFIED GSimpleAction, g_simple_action_new, g_simple_action_new_stateful, g_simple_action_set_enabled, g_simple_action_set_state; TYPE GSimpleAction = ADDRESS; (* GSimpleAction *g_simple_action_new(const gchar *name, const GVariantType *parameter_type) *) PROCEDURE g_simple_action_new (name: ARRAY OF CHAR; parameter_type: ADDRESS) : GSimpleAction; (* GSimpleAction *g_simple_action_new_stateful(const gchar *name, const GVariantType *parameter_type, GVariant *state) *) PROCEDURE g_simple_action_new_stateful (name: ARRAY OF CHAR; parameter_type: ADDRESS; state: ADDRESS) : GSimpleAction; (* void g_simple_action_set_enabled(GSimpleAction *simple, gboolean enabled) *) PROCEDURE g_simple_action_set_enabled (simple: GSimpleAction; enabled: INTEGER); (* void g_simple_action_set_state(GSimpleAction *simple, GVariant *value) *) PROCEDURE g_simple_action_set_state (simple: GSimpleAction; value: ADDRESS); END GSimpleAction.