diff options
author | Marco Pesenti Gritti <marco@it.gnome.org> | 2003-01-21 02:57:20 +0800 |
---|---|---|
committer | Marco Pesenti Gritti <mpeseng@src.gnome.org> | 2003-01-21 02:57:20 +0800 |
commit | c2beffd03405e6db4295afd6c2982388b808cb2e (patch) | |
tree | 819e50881626c5109ccdba5abb158585a3ca148b /lib/egg/egg-action-group.h | |
parent | 822ca51797e05edbe42b80f1a33a70a7327d732e (diff) | |
download | gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.gz gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.bz2 gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.lz gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.xz gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.tar.zst gsoc2013-epiphany-c2beffd03405e6db4295afd6c2982388b808cb2e.zip |
Merge eog-menu-api branch
2003-01-20 Marco Pesenti Gritti <marco@it.gnome.org>
* Merge eog-menu-api branch
Diffstat (limited to 'lib/egg/egg-action-group.h')
-rw-r--r-- | lib/egg/egg-action-group.h | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/lib/egg/egg-action-group.h b/lib/egg/egg-action-group.h new file mode 100644 index 000000000..2ee05dcec --- /dev/null +++ b/lib/egg/egg-action-group.h @@ -0,0 +1,71 @@ +#ifndef EGG_ACTION_GROUP_H +#define EGG_ACTION_GROUP_H + +#include <gtk/gtk.h> +#include <egg-action.h> + +#define EGG_TYPE_ACTION_GROUP (egg_action_group_get_type ()) +#define EGG_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), EGG_TYPE_ACTION_GROUP, EggActionGroup)) +#define EGG_ACTION_GROUP_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), EGG_TYPE_ACTION_GROUP, EggActionGroupClass)) +#define EGG_IS_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), EGG_TYPE_ACTION_GROUP)) +#define EGG_IS_ACTION_GROUP_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), EGG_TYPE_ACTION_GROUP)) +#define EGG_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), EGG_TYPE_ACTION_GROUP, EggActionGroupClass)) + +typedef struct _EggActionGroup EggActionGroup; +typedef struct _EggActionGroupClass EggActionGroupClass; +typedef struct _EggActionGroupEntry EggActionGroupEntry; + +struct _EggActionGroup +{ + GObject parent; + + gchar *name; + GHashTable *actions; +}; + +struct _EggActionGroupClass +{ + GObjectClass parent_class; + + EggAction *(* get_action) (EggActionGroup *action_group, + const gchar *action_name); +}; + +typedef enum { + NORMAL_ACTION, + TOGGLE_ACTION, + RADIO_ACTION +} EggActionGroupEntryType; + +struct _EggActionGroupEntry { + gchar *name; + gchar *label; + gchar *stock_id; + gchar *accelerator; + gchar *tooltip; + + GCallback callback; + gpointer user_data; + + EggActionGroupEntryType entry_type; + gchar *extra_data; +}; + +GType egg_action_group_get_type (void); + +EggActionGroup *egg_action_group_new (const gchar *name); + +const gchar *egg_action_group_get_name (EggActionGroup *action_group); +EggAction *egg_action_group_get_action (EggActionGroup *action_group, + const gchar *action_name); +GList *egg_action_group_list_actions (EggActionGroup *action_group); +void egg_action_group_add_action (EggActionGroup *action_group, + EggAction *action); +void egg_action_group_remove_action (EggActionGroup *action_group, + EggAction *action); + +void egg_action_group_add_actions (EggActionGroup *action_group, + EggActionGroupEntry *entries, + guint n_entries); + +#endif |