Cartes d' Accélérateurs

Carte d'Accélérateurs  — Caractéristiques d'accélérateurs de clavier chargeable.

Synopsis


#include <gtk/gtk.h>

GtkAccelMap;
void (*GtkAccelMapForeach) (gpointer data,
const gchar *accel_path,
 guint accel_key,
 GdkModifierType accel_mods,
 gboolean changed);
void gtk_accel_map_add_entry (const gchar *accel_path,
 guint accel_key,
 GdkModifierType accel_mods);
gboolean gtk_accel_map_lookup_entry (const gchar *accel_path,
 GtkAccelKey *key);
gboolean gtk_accel_map_change_entry (const gchar *accel_path,
 guint accel_key,
 GdkModifierType accel_mods,
 gboolean replace);
void gtk_accel_map_load (const gchar *file_name);
void gtk_accel_map_save (const gchar *file_name);
void gtk_accel_map_foreach (gpointer data,
 GtkAccelMapForeach foreach_func);
void gtk_accel_map_load_fd (gint fd);
void gtk_accel_map_save_fd (gint fd);
void gtk_accel_map_load_scanner (GScanner *scanner);
void gtk_accel_map_add_filter (const gchar *filter_pattern);
void gtk_accel_map_foreach_unfiltered (gpointer data,
 GtkAccelMapForeach foreach_func);
GtkAccelMap* gtk_accel_map_get (void);
void gtk_accel_map_lock_path (const gchar *accel_path);
void gtk_accel_map_unlock_path (const gchar *accel_path);

Hiérarchie d'Objets

GObject
+----GtkAccelMap

Signaux

"changed"                                                 : Exécute en dernier / a des détails

Description

Details

GtkAccelMap


typedef struct _GtkAccelMap GtkAccelMap;

GtkAccelMapForeach ()


void 			(*GtkAccelMapForeach) 			(gpointer data, 
const gchar *accel_path,
 guint accel_key,
 GdkModifierType accel_mods,
 gboolean changed);


data :
accel_path :
accel_key :
accel_mods :
changed :

gtk_accel_map_add_entry ()


void 			gtk_accel_map_add_entry 		(const gchar *accel_path,
 guint accel_key,
 GdkModifierType accel_mods);

Déclare un nouvel accélérateur avec la carte d'accélérateur global. Cette fonction doit être appelée uniquementune fois par accel_path avec strictement  les accel_key et accel_mods pour ce chemin. Pour changer l'accélérateur pendant le temps d'exécution du programme, utilisez  gtk_accel_map_change_entry(). Le chemin de l'accélérateur doit se présenter ainsi "<WINDOWTYPE>/Category1/Category2/.../Action", où <WINDOWTYPE> doit être un unique identifiant spécifique )à l'application lequel correspond à une sorte de fenêtre dans laquelle l'accélérateur est utilisé, par exemple  "Gimp-Image", "Abiword-Document" ou "Gnumeric-Settings". La portion  Category1/.../Action est  choisie en fonction de  l'action déclenchée par l'accélérateur, c'est à dire, pour les accélérateurs des items de menu, chosissez le chemin du m enu de l'item, par exemple "Fichier/Enregistrer sous", "Image/Vue/Zoom" ou "Edition/Tout sélectionner". Ainsi un chemin d'accélérateur valide ressemblera à : "<Gimp-Toolbox>/Fichier/Dialogue/Options...".

accel_path : Chemin d'accélérateur valide
accel_key : Touche de l'accélérateur
accel_mods : Modifieurs de l'accélérateur

gtk_accel_map_lookup_entry ()


gboolean 		gtk_accel_map_lookup_entry 		(const gchar *accel_path,
 GtkAccelKey *key);

Recherche l'entrée d'accélérateur pour  accel_path et complète  key.

accel_path : Un chemin d'accélérateur valide 
key : La touche de l'accélérateur à compléter  (en option)
Retourne : TRUE  si accel_path est connu, FALSE autrement

gtk_accel_map_change_entry ()


gboolean 		gtk_accel_map_change_entry 		(const gchar *accel_path,
 guint accel_key,
 GdkModifierType accel_mods,
 gboolean replace);

Change  accel_key et accel_mods associés avec accel_path à ce moment. En raison des conflits possibles avec d'autres accélérateurs, un changement ne peut pas toujours être possible,  replaceindique si d'autres accélérateurs peuvent être supprimés pour résoudre de tels conflits. Un changement sera effectué uniquement si tous les conflits peuvent être résolus (ce qui peut ne pas être le cas si les accélérateurs en conflits sont bloqués). La réussite d'un changement est indiquée par la valeur  TRUE  qui est retournée.

accel_path : Un chemin d'accélérateur valide
accel_key : La nouvelle touche de l'accélérateur.
accel_mods : Les nouveau modifieurs de l'accélérateur
replace : TRUE  si d'autres accélérateurs peuvent être supprimés à l'occasion de conflits.
Retourne : TRUE si l'accélérateur a pu être changé, FALSE autrement.

gtk_accel_map_load ()


void 		gtk_accel_map_load 		(const gchar *file_name);

Analyse un fichier sauvegardé préalablement avec gtk_accel_map_save() pour les caractéristiques d'accélérateurs et les propage en conséquence. 

file_name : Un fichier contenant les caractéristiques d'un accélérateur, dans l'encodage de nom de fichier de Glib.

gtk_accel_map_save ()


void 		gtk_accel_map_save 		(const gchar *file_name);

Sauvegarde les caractéristiques de l'accélérateur courant (chemin de l'accélérateur, touche et modificateurs) dans

 file_name. Le fichier est écrit au format  approprié pour être relu par  gtk_accel_map_load().

file_name : Un fichier contenant les caractéristiques d'un accélérateur, dans l'encodage de nom de fichier de Glib.

gtk_accel_map_foreach ()


void 		gtk_accel_map_foreach 		(gpointer data, 
GtkAccelMapForeach foreach_func);

Boucle sur les entrées dans la carte d'accélérateur dont le chemin d'accélérateur ne combine aucun des filtres ajoutés avec  gtk_accel_map_add_filter(), et exécute foreach_func sur chacune. La signature de foreach_func est celle de GtkAccelMapForeach, le paramètre changed  indique si  cette accélérateur a été changé pendant le temps d'exécution (ainsi, vous aurez besoin de sauvegarder pendant le vidage de la carte d'accélérateur)????
data : données à passer dans  foreach_func
foreach_func : fonction à exécuter pour chaque entrée de la carte d'accélérateur qui n'est pas filtrée.

gtk_accel_map_load_fd ()


void 		gtk_accel_map_load_fd 		(gint fd);


Descripteur de fichier , variante de gtk_accel_map_load().

Notez que le descripteur de fichier ne sera pas fermé par la fonction.

fd : un descripteur de fichier lisible valide

gtk_accel_map_save_fd ()


void 		gtk_accel_map_save_fd 			(gint fd);

Descripteur de fichier, variante de gtk_accel_map_save().

Notez que le descripteur de fichier ne sera pas fermé par la fonction.

fd : un descripteur de fichier lisible valide

gtk_accel_map_load_scanner ()


void 		gtk_accel_map_load_scanner 		(GScanner *scanner);

GScanner variante de gtk_accel_map_load().

scanner : a GScanner qui a déjà été pourvu d'un fichier d'entrée

gtk_accel_map_add_filter ()


void 		gtk_accel_map_add_filter 		(const gchar *filter_pattern);

Ajoute  un filtre à la liste globale des filtres de chemin d'accémérateur.

Les entrées de la carte d'accélérateur dont le chemin d'accélérateur combine un des filtres  sont sautées par gtk_accel_map_foreach().

Cette fonction est prévue pour les modules de GTK+ qui créent leurs propres menus, but don't want them to be saved into the applications accelerator map dump.

filter_pattern : un modèle (voir GPatternSpec)

gtk_accel_map_foreach_unfiltered ()


void 		gtk_accel_map_foreach_unfiltered 		(gpointer data,
 GtkAccelMapForeach foreach_func);

Boucle sur toutes les entrées dans la carte d'accélérateur, et exécute  foreach_func sur chacune. La signature de foreach_func est celle de GtkAccelMapForeach, le paramètre changed indique si cet accélérateur a été chnagé pendant le temps d'exécution (thus, would need saving during an accelerator map dump).

data : data to be passed into foreach_func
foreach_func : function to be executed for each accel map entry

gtk_accel_map_get ()


GtkAccelMap* 		gtk_accel_map_get 		(void);

Obtient l'objet singleton global GtkAccelMap. Cette objet est utile seulement pour notifier le changement à la carte d'accélérateur via le signal ::changed signal; ce n'est pas un paramètre pour les autres fonctions de carte d'accélérateur.

Retourne : L'objet global GtkAccelMap 

Depuis 2.4


gtk_accel_map_lock_path ()


void 		gtk_accel_map_lock_path 		(const gchar *accel_path);

Verrouille le chemin de l'accélérateur. Si la carte d'accélérateur ne contient pas encore d'entrée pouraccel_path, une nouvelle entrée est créée.

Le verrouillage d'un chemin d'accélérateur prévient cet accélérateur d'être modifié pendant le temps d'exécution. Un verrouillage d'un chemin d'accémérateur peut être déverrouillé avec gtk_accel_map_unlock_path().  Référez-vous à gtk_accel_map_change_entry() pour avoir des informations au sujet des changement des accélérateurs pendant le temps d'exécution.

Si elle est appelér plus d'un fois, accel_path le chemin restera verrouillé jusqu'à ce que  gtk_accel_map_unlock_path() ait été appelée un nombre équivalent de fois.

Notez que le verrouillage de chemin d'accélérateur individuellement est indépendant du verrouillage des  GtkAccelGroup qui les contiennent. Pour que des changements d'accélérateur pendant le temps d'exécution soient possibles le chemin d'accélérateur et son  GtkAccelGroup doivent être déverrouillés.

accel_path : Un chemin d'accélérateur valide

Depuis 2.4


gtk_accel_map_unlock_path ()


void 		gtk_accel_map_unlock_path 		(const gchar *accel_path);

Annule le dernier appel de  gtk_accel_map_lock_path() sur cet accel_path. Référez vous à  gtk_accel_map_lock_path() pour avoir plus d' informations au sujet du verrouillage de chemin d'accélérateur.

accel_path : Un chemin d'accélérateur valide

Dépuis 2.4

Détails de Signaux

Le signam "changed" 


void 		user_function 		(GtkAccelMap *object,
 gchar *accel_path,
 guint accel_key, GdkModifierType accel_mods,
gpointer user_data) : Exécution Dernier / A des Détails

Notifie d'un changement dans la carte d'accélérateur global. Le chemin est aussi utilisé comme détail pour le signal, aussi il est possible de connecter à "changed" ::accel_path.

object : L'objet carte accélérateur global
accel_path : Le chemin de l'accélérateur qui a changé
accel_key : La valeur de la touche pour le nouvel accélérateur
accel_mods : Le masque de modificatuer pour le nouvel accélérateur
user_data : donnée utilisateur définie quand le handler du signal a été connecté

Depuis 2.4