Detail

Actions are organised into groups. An action group is essentially a map
from names to Action objects.

All actions that would make sense to use in a particular context should
be in a single group. Multiple action groups may be used for a particular
user interface. In fact, it is expected that most nontrivial applications
will make use of multiple groups. For example, in an application that can
edit multiple documents, one group holding global actions (e.g. quit, about,
new), and one group per document holding actions that act on that document
(eg. save, cut/copy/paste, etc). Each window's menus would be constructed
from a combination of two action groups.

Accelerators are handled by the Gtk+ accelerator map. All actions are
assigned an accelerator path (which normally has the form
<Actions>/group-name/action-name) and a shortcut is associated with
this accelerator path. All menuitems and toolitems take on this accelerator
path. The Gtk+ accelerator map code makes sure that the correct shortcut is
displayed next to the menu item.

Adds an action object to the action group. Note that this function does
not set up the accel path of the action, which can lead to problems if a
user tries to modify the accelerator of a menuitem associated with the
action. Therefore you must either set the accel path yourself with
actionSetAccelPath, or use actionGroupAddActionWithAccel ... Nothing.