Object Hierarchy:

Object hierarchy for AccelMap


[ CCode ( type_id = "gtk_accel_map_get_type ()" ) ]
public class AccelMap : Object

Accelerator maps are used to define runtime configurable accelerators.

Functions for manipulating them are are usually used by higher level convenience mechanisms like UIManager and are thus considered “low-level”. You’ll want to use them if you’re manually creating menus that should have user-configurable accelerators.

An accelerator is uniquely defined by: - accelerator path - accelerator key - accelerator modifiers

The accelerator path must consist of “<WINDOWTYPE>/Category1/Category2/.../Action”, where WINDOWTYPE should be a unique application-specific identifier that corresponds to the kind of window the accelerator is being used in, e.g. “Gimp-Image”, “Abiword-Document” or “Gnumeric-Settings”. The “Category1/.../Action” portion is most appropriately chosen by the action the accelerator triggers, i.e. for accelerators on menu items, choose the item’s menu path, e.g. “File/Save As”, “Image/View/Zoom” or “Edit/Select All”. So a full valid accelerator path may look like: “<Gimp-Toolbox>/File/Dialogs/Tool Options...”.

All accelerators are stored inside one global AccelMap that can be obtained using @get. See Monitoring changes for additional details.

Manipulating accelerators

New accelerators can be added using add_entry. To search for specific accelerator, use lookup_entry. Modifications of existing accelerators should be done using change_entry.

In order to avoid having some accelerators changed, they can be locked using lock_path. Unlocking is done using unlock_path.

Saving and loading accelerator maps

Accelerator maps can be saved to and loaded from some external resource. For simple saving and loading from file, save and load are provided. Saving and loading can also be done by providing file descriptor to save_fd and load_fd.

Monitoring changes

AccelMap object is only useful for monitoring changes of accelerators. By connecting to changed signal, one can monitor changes of all accelerators. It is also possible to monitor only single accelerator path by using it as a detail of the changed signal.

Namespace: Gtk
Package: gtk+-3.0


Static methods:

Creation methods:


Inherited Members: