Équipe Analyse/Synthèse |
Les widgets et les applications peuvent déclarer toutes leurs variables comme resources.
Dans la pratique, seules celles ayant besoin de valeurs entrées par l'utilisateur seront définies
en resources (comme les configurations de fenêtres par exemple).
La bibliothèque Xt permet de définir les resources en utilisant une structure XtResource déclarée comme suit:
typedef struct { String resource_name; /* specifiee par le symbole XmN */ String resource_class; /* specifiee par le symbole XmC */ String resource_type; /* type de la variable actuelle */ Cardinal resource_size; /* taille determinee par sizeof() */ Cardinal resource_offset; /* determinee par XtOffsetOf() */ String default_type; /* valeur immediate ou fonction */ XtPointer default_address; /* adr. de la valeur par defaut */ } XtResource, *XtResourceList;
Pour utiliser des resources dans des widgets existants, il suffit d'écrire un fichier de resources.
Normalement, ce fichier se trouve dans le répertoire /usr/lib/X11/app-defaults et a pour nom le même que l'argument
classname de XtVaAppInitialize(). Par convention, ce nom est le même que celui de l'application, avec la première
lettre en majuscule. Si l'application commence par X, les deux premières lettres seront en majuscules. Par exemple pour
xclock, ce serait XClock.
La gestion des resources s'effectuent en plusieurs étapes :
Note:
xspect +askBeforeExitlancera Xspect avec l'option askBeforeExit même si dans le fichier de resource cette option est désactivée.