GActionMap
GActionMap — Interface for action containers
|
|
Object Hierarchy
GInterface
╰── GActionMap
Prerequisites
GActionMap requires
GObject.
Includes
#include <gio/gio.h>
Description
The GActionMap interface is implemented by GActionGroup
implementations that operate by containing a number of
named GAction instances, such as GSimpleActionGroup.
One useful application of this interface is to map the
names of actions from various action groups to unique,
prefixed names (e.g. by prepending "app." or "win.").
This is the motivation for the 'Map' part of the interface
name.
Functions
g_action_map_lookup_action ()
GAction *
g_action_map_lookup_action (GActionMap *action_map,
const gchar *action_name);
Looks up the action with the name action_name
in action_map
.
If no such action exists, returns NULL.
Returns
a GAction, or NULL.
[transfer none]
Since: 2.32
g_action_map_add_action_entries ()
void
g_action_map_add_action_entries (GActionMap *action_map,
const GActionEntry *entries,
gint n_entries,
gpointer user_data);
A convenience function for creating multiple GSimpleAction instances
and adding them to a GActionMap.
Each action is constructed as per one GActionEntry.
Since: 2.32
g_action_map_add_action ()
void
g_action_map_add_action (GActionMap *action_map,
GAction *action);
Adds an action to the action_map
.
If the action map already contains an action with the same name
as action
then the old action is dropped from the action map.
The action map takes its own reference on action
.
Since: 2.32
g_action_map_remove_action ()
void
g_action_map_remove_action (GActionMap *action_map,
const gchar *action_name);
Removes the named action from the action map.
If no action of this name is in the map then nothing happens.
Since: 2.32
Types and Values
GActionMap
typedef struct _GActionMap GActionMap;
GActionMap is an opaque data structure and can only be accessed
using the following functions.
struct GActionMapInterface
struct GActionMapInterface {
GTypeInterface g_iface;
GAction * (* lookup_action) (GActionMap *action_map,
const gchar *action_name);
void (* add_action) (GActionMap *action_map,
GAction *action);
void (* remove_action) (GActionMap *action_map,
const gchar *action_name);
};
The virtual function table for GActionMap.
Since: 2.32
struct GActionEntry
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.