1 /* 2 * Copyright © 2010 Codethink Limited 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General 15 * Public License along with this library; if not, see <http://www.gnu.org/licenses/>. 16 * 17 * Authors: Ryan Lortie <desrt@desrt.ca> 18 */ 19 20 #ifndef __G_SIMPLE_ACTION_GROUP_H__ 21 #define __G_SIMPLE_ACTION_GROUP_H__ 22 23 #if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION) 24 #error "Only <gio/gio.h> can be included directly." 25 #endif 26 27 #include "gactiongroup.h" 28 #include "gactionmap.h" 29 30 G_BEGIN_DECLS 31 32 #define G_TYPE_SIMPLE_ACTION_GROUP (g_simple_action_group_get_type ()) 33 #define G_SIMPLE_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_CAST ((inst), \ 34 G_TYPE_SIMPLE_ACTION_GROUP, GSimpleActionGroup)) 35 #define G_SIMPLE_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_CAST ((class), \ 36 G_TYPE_SIMPLE_ACTION_GROUP, GSimpleActionGroupClass)) 37 #define G_IS_SIMPLE_ACTION_GROUP(inst) (G_TYPE_CHECK_INSTANCE_TYPE ((inst), \ 38 G_TYPE_SIMPLE_ACTION_GROUP)) 39 #define G_IS_SIMPLE_ACTION_GROUP_CLASS(class) (G_TYPE_CHECK_CLASS_TYPE ((class), \ 40 G_TYPE_SIMPLE_ACTION_GROUP)) 41 #define G_SIMPLE_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), \ 42 G_TYPE_SIMPLE_ACTION_GROUP, GSimpleActionGroupClass)) 43 44 typedef struct _GSimpleActionGroupPrivate GSimpleActionGroupPrivate; 45 typedef struct _GSimpleActionGroupClass GSimpleActionGroupClass; 46 47 /** 48 * GSimpleActionGroup: 49 * 50 * The #GSimpleActionGroup structure contains private data and should only be accessed using the provided API. 51 * 52 * Since: 2.28 53 */ 54 struct _GSimpleActionGroup 55 { 56 /*< private >*/ 57 GObject parent_instance; 58 59 GSimpleActionGroupPrivate *priv; 60 }; 61 62 struct _GSimpleActionGroupClass 63 { 64 /*< private >*/ 65 GObjectClass parent_class; 66 67 /*< private >*/ 68 gpointer padding[12]; 69 }; 70 71 GLIB_AVAILABLE_IN_ALL 72 GType g_simple_action_group_get_type (void) G_GNUC_CONST; 73 74 GLIB_AVAILABLE_IN_ALL 75 GSimpleActionGroup * g_simple_action_group_new (void); 76 77 GLIB_DEPRECATED_IN_2_38_FOR (g_action_map_lookup_action) 78 GAction * g_simple_action_group_lookup (GSimpleActionGroup *simple, 79 const gchar *action_name); 80 81 GLIB_DEPRECATED_IN_2_38_FOR (g_action_map_add_action) 82 void g_simple_action_group_insert (GSimpleActionGroup *simple, 83 GAction *action); 84 85 GLIB_DEPRECATED_IN_2_38_FOR (g_action_map_remove_action) 86 void g_simple_action_group_remove (GSimpleActionGroup *simple, 87 const gchar *action_name); 88 89 GLIB_DEPRECATED_IN_2_38_FOR (g_action_map_add_action_entries) 90 void g_simple_action_group_add_entries (GSimpleActionGroup *simple, 91 const GActionEntry *entries, 92 gint n_entries, 93 gpointer user_data); 94 95 G_END_DECLS 96 97 #endif /* __G_SIMPLE_ACTION_GROUP_H__ */ 98