File indexing completed on 2025-01-18 09:59:54
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022 #ifndef __G_ACTION_MAP_H__
0023 #define __G_ACTION_MAP_H__
0024
0025 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
0026 #error "Only <gio/gio.h> can be included directly."
0027 #endif
0028
0029 #include <gio/giotypes.h>
0030
0031 G_BEGIN_DECLS
0032
0033
0034 #define G_TYPE_ACTION_MAP (g_action_map_get_type ())
0035 #define G_ACTION_MAP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \
0036 G_TYPE_ACTION_MAP, GActionMap))
0037 #define G_IS_ACTION_MAP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \
0038 G_TYPE_ACTION_MAP))
0039 #define G_ACTION_MAP_GET_IFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), \
0040 G_TYPE_ACTION_MAP, GActionMapInterface))
0041
0042 typedef struct _GActionMapInterface GActionMapInterface;
0043 typedef struct _GActionEntry GActionEntry;
0044
0045 struct _GActionMapInterface
0046 {
0047 GTypeInterface g_iface;
0048
0049 GAction * (* lookup_action) (GActionMap *action_map,
0050 const gchar *action_name);
0051 void (* add_action) (GActionMap *action_map,
0052 GAction *action);
0053 void (* remove_action) (GActionMap *action_map,
0054 const gchar *action_name);
0055 };
0056
0057 struct _GActionEntry
0058 {
0059 const gchar *name;
0060
0061 void (* activate) (GSimpleAction *action,
0062 GVariant *parameter,
0063 gpointer user_data);
0064
0065 const gchar *parameter_type;
0066
0067 const gchar *state;
0068
0069 void (* change_state) (GSimpleAction *action,
0070 GVariant *value,
0071 gpointer user_data);
0072
0073
0074 gsize padding[3];
0075 };
0076
0077 GIO_AVAILABLE_IN_2_32
0078 GType g_action_map_get_type (void) G_GNUC_CONST;
0079
0080 GIO_AVAILABLE_IN_2_32
0081 GAction * g_action_map_lookup_action (GActionMap *action_map,
0082 const gchar *action_name);
0083 GIO_AVAILABLE_IN_2_32
0084 void g_action_map_add_action (GActionMap *action_map,
0085 GAction *action);
0086 GIO_AVAILABLE_IN_2_32
0087 void g_action_map_remove_action (GActionMap *action_map,
0088 const gchar *action_name);
0089 GIO_AVAILABLE_IN_2_32
0090 void g_action_map_add_action_entries (GActionMap *action_map,
0091 const GActionEntry *entries,
0092 gint n_entries,
0093 gpointer user_data);
0094 GIO_AVAILABLE_IN_2_78
0095 void g_action_map_remove_action_entries (GActionMap *action_map,
0096 const GActionEntry *entries,
0097 gint n_entries);
0098
0099 G_END_DECLS
0100
0101 #endif