Blame docs/reference/gio/html/GActionMap.html

Packit ae235b
Packit ae235b
<html>
Packit ae235b
<head>
Packit ae235b
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit ae235b
<title>GActionMap: GIO Reference Manual</title>
Packit ae235b
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit ae235b
<link rel="home" href="index.html" title="GIO Reference Manual">
Packit ae235b
<link rel="up" href="application.html" title="Application support">
Packit ae235b
<link rel="prev" href="GActionGroup.html" title="GActionGroup">
Packit ae235b
<link rel="next" href="GSimpleActionGroup.html" title="GSimpleActionGroup">
Packit ae235b
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit ae235b
<link rel="stylesheet" href="style.css" type="text/css">
Packit ae235b
</head>
Packit ae235b
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit ae235b
Packit ae235b
Packit ae235b
Top  | 
Packit ae235b
                  Description  | 
Packit ae235b
                  Object Hierarchy  | 
Packit ae235b
                  Prerequisites  | 
Packit ae235b
                  Known Implementations
Packit ae235b
Packit ae235b
Home
Packit ae235b
Up
Packit ae235b
Prev
Packit ae235b
Next
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

GActionMap

Packit ae235b

GActionMap — Interface for action containers

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Functions

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
GAction *
Packit ae235b
Packit ae235b
Packit ae235b
g_action_map_lookup_action ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
void
Packit ae235b
Packit ae235b
Packit ae235b
g_action_map_add_action_entries ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
void
Packit ae235b
Packit ae235b
Packit ae235b
g_action_map_add_action ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
void
Packit ae235b
Packit ae235b
Packit ae235b
g_action_map_remove_action ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Types and Values

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
 
Packit ae235b
GActionMap
Packit ae235b
Packit ae235b
Packit ae235b
struct
Packit ae235b
GActionMapInterface
Packit ae235b
Packit ae235b
Packit ae235b
struct
Packit ae235b
GActionEntry
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Object Hierarchy

Packit ae235b
    GInterface
Packit ae235b
    ╰── GActionMap
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Prerequisites

Packit ae235b

Packit ae235b
GActionMap requires
Packit ae235b
 GObject.

Packit ae235b
Packit ae235b
Packit ae235b

Known Implementations

Packit ae235b

Packit ae235b
GActionMap is implemented by
Packit ae235b
 GApplication and  GSimpleActionGroup.

Packit ae235b
Packit ae235b
Packit ae235b

Includes

Packit ae235b
#include <gio/gio.h>
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Description

Packit ae235b

The GActionMap interface is implemented by GActionGroup

Packit ae235b
implementations that operate by containing a number of
Packit ae235b
named GAction instances, such as GSimpleActionGroup.

Packit ae235b

One useful application of this interface is to map the

Packit ae235b
names of actions from various action groups to unique,
Packit ae235b
prefixed names (e.g. by prepending "app." or "win.").
Packit ae235b
This is the motivation for the 'Map' part of the interface
Packit ae235b
name.

Packit ae235b
Packit ae235b
Packit ae235b

Functions

Packit ae235b
Packit ae235b

g_action_map_lookup_action ()

Packit ae235b
GAction *
Packit ae235b
g_action_map_lookup_action (GActionMap *action_map,
Packit ae235b
                            const gchar *action_name);
Packit ae235b

Looks up the action with the name action_name

Packit ae235b
 in action_map
Packit ae235b
.

Packit ae235b

If no such action exists, returns NULL.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

action_map

Packit ae235b

a GActionMap

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

action_name

Packit ae235b

the name of an action

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

a GAction, or NULL.

Packit ae235b

[transfer none]

Packit ae235b
Packit ae235b

Since: 2.32

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_action_map_add_action_entries ()

Packit ae235b
void
Packit ae235b
g_action_map_add_action_entries (GActionMap *action_map,
Packit ae235b
                                 const GActionEntry *entries,
Packit ae235b
                                 gint n_entries,
Packit ae235b
                                 gpointer user_data);
Packit ae235b

A convenience function for creating multiple GSimpleAction instances

Packit ae235b
and adding them to a GActionMap.

Packit ae235b

Each action is constructed as per one GActionEntry.

Packit ae235b
Packit ae235b
  
Packit ae235b
    
Packit ae235b
      
Packit ae235b
        
1
Packit ae235b
2
Packit ae235b
3
Packit ae235b
4
Packit ae235b
5
Packit ae235b
6
Packit ae235b
7
Packit ae235b
8
Packit ae235b
9
Packit ae235b
10
Packit ae235b
11
Packit ae235b
12
Packit ae235b
13
Packit ae235b
14
Packit ae235b
15
Packit ae235b
16
Packit ae235b
17
Packit ae235b
18
Packit ae235b
19
Packit ae235b
20
Packit ae235b
21
Packit ae235b
22
Packit ae235b
23
Packit ae235b
24
Packit ae235b
25
Packit ae235b
26
Packit ae235b
27
Packit ae235b
28
Packit ae235b
29
Packit ae235b
30
Packit ae235b
        
static void
Packit ae235b
activate_quit (GSimpleAction *simple,
Packit ae235b
               GVariant      *parameter,
Packit ae235b
               gpointer       user_data)
Packit ae235b
{
Packit ae235b
  exit (0);
Packit ae235b
}
Packit ae235b
Packit ae235b
static void
Packit ae235b
activate_print_string (GSimpleAction *simple,
Packit ae235b
                       GVariant      *parameter,
Packit ae235b
                       gpointer       user_data)
Packit ae235b
{
Packit ae235b
  g_print ("%s\n", g_variant_get_string (parameter, NULL));
Packit ae235b
}
Packit ae235b
Packit ae235b
static GActionGroup *
Packit ae235b
create_action_group (void)
Packit ae235b
{
Packit ae235b
  const GActionEntry entries[] = {
Packit ae235b
    { "quit",         activate_quit              },
Packit ae235b
    { "print-string", activate_print_string, "s" }
Packit ae235b
  };
Packit ae235b
  GSimpleActionGroup *group;
Packit ae235b
Packit ae235b
  group = g_simple_action_group_new ();
Packit ae235b
  g_action_map_add_action_entries (G_ACTION_MAP (group), entries, G_N_ELEMENTS (entries), NULL);
Packit ae235b
Packit ae235b
  return G_ACTION_GROUP (group);
Packit ae235b
}
Packit ae235b
      
Packit ae235b
    
Packit ae235b
  
Packit ae235b
Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

action_map

Packit ae235b

a GActionMap

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

entries

Packit ae235b

a pointer to

Packit ae235b
the first item in an array of GActionEntry structs. 

Packit ae235b
[array length=n_entries][element-type GActionEntry]
Packit ae235b
Packit ae235b
Packit ae235b

n_entries

Packit ae235b

the length of entries

Packit ae235b
, or -1 if entries
Packit ae235b
is NULL-terminated

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

user_data

Packit ae235b

the user data for signal connections

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.32

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_action_map_add_action ()

Packit ae235b
void
Packit ae235b
g_action_map_add_action (GActionMap *action_map,
Packit ae235b
                         GAction *action);
Packit ae235b

Adds an action to the action_map

Packit ae235b
.

Packit ae235b

If the action map already contains an action with the same name

Packit ae235b
as action
Packit ae235b
 then the old action is dropped from the action map.

Packit ae235b

The action map takes its own reference on action

Packit ae235b
.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

action_map

Packit ae235b

a GActionMap

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

action

Packit ae235b

a GAction

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.32

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_action_map_remove_action ()

Packit ae235b
void
Packit ae235b
g_action_map_remove_action (GActionMap *action_map,
Packit ae235b
                            const gchar *action_name);
Packit ae235b

Removes the named action from the action map.

Packit ae235b

If no action of this name is in the map then nothing happens.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

action_map

Packit ae235b

a GActionMap

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

action_name

Packit ae235b

the name of the action

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.32

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Types and Values

Packit ae235b
Packit ae235b

GActionMap

Packit ae235b
typedef struct _GActionMap GActionMap;
Packit ae235b

GActionMap is an opaque data structure and can only be accessed

Packit ae235b
using the following functions.

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

struct GActionMapInterface

Packit ae235b
struct GActionMapInterface {
Packit ae235b
  GTypeInterface g_iface;
Packit ae235b
Packit ae235b
  GAction * (* lookup_action) (GActionMap  *action_map,
Packit ae235b
                               const gchar *action_name);
Packit ae235b
  void      (* add_action)    (GActionMap  *action_map,
Packit ae235b
                               GAction     *action);
Packit ae235b
  void      (* remove_action) (GActionMap  *action_map,
Packit ae235b
                               const gchar *action_name);
Packit ae235b
};
Packit ae235b
Packit ae235b

The virtual function table for GActionMap.

Packit ae235b
Packit ae235b

Members

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

lookup_action ()

Packit ae235b

the virtual function pointer for g_action_map_lookup_action()

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

add_action ()

Packit ae235b

the virtual function pointer for g_action_map_add_action()

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

remove_action ()

Packit ae235b

the virtual function pointer for g_action_map_remove_action()

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.32

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

struct GActionEntry

Packit ae235b
struct GActionEntry {
Packit ae235b
  const gchar *name;
Packit ae235b
Packit ae235b
  void (* activate) (GSimpleAction *action,
Packit ae235b
                     GVariant      *parameter,
Packit ae235b
                     gpointer       user_data);
Packit ae235b
Packit ae235b
  const gchar *parameter_type;
Packit ae235b
Packit ae235b
  const gchar *state;
Packit ae235b
Packit ae235b
  void (* change_state) (GSimpleAction *action,
Packit ae235b
                         GVariant      *value,
Packit ae235b
                         gpointer       user_data);
Packit ae235b
};
Packit ae235b
Packit ae235b

This struct defines a single action. It is for use with

Packit ae235b
g_action_map_add_action_entries().

Packit ae235b

The order of the items in the structure are intended to reflect

Packit ae235b
frequency of use.  It is permissible to use an incomplete initialiser
Packit ae235b
in order to leave some of the later values as NULL.  All values
Packit ae235b
after name
Packit ae235b
 are optional.  Additional optional fields may be added in
Packit ae235b
the future.

Packit ae235b

See g_action_map_add_action_entries() for an example.

Packit ae235b
Packit ae235b

Members

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

const gchar *name;

Packit ae235b

the name of the action

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

activate ()

Packit ae235b

the callback to connect to the "activate" signal of the

Packit ae235b
action.  Since GLib 2.40, this can be NULL for stateful
Packit ae235b
actions, in which case the default handler is used.  For
Packit ae235b
boolean-stated actions with no parameter, this is a
Packit ae235b
toggle.  For other state types (and parameter type equal
Packit ae235b
to the state type) this will be a function that
Packit ae235b
just calls change_state
Packit ae235b
(which you should provide).

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

const gchar *parameter_type;

Packit ae235b

the type of the parameter that must be passed to the

Packit ae235b
activate function for this action, given as a single
Packit ae235b
GVariant type string (or NULL for no parameter)

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

const gchar *state;

Packit ae235b

the initial state for this action, given in

Packit ae235b
GVariant text format.  The state is parsed
Packit ae235b
with no extra type information, so type tags must be added to
Packit ae235b
the string if they are necessary.  Stateless actions should
Packit ae235b
give NULL here.

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

change_state ()

Packit ae235b

the callback to connect to the "change-state" signal

Packit ae235b
of the action.  All stateful actions should provide a
Packit ae235b
handler here; stateless actions should not.

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Generated by GTK-Doc V1.27
Packit ae235b
</body>
Packit ae235b
</html>