Solaris CDE - Guide avancé de l'utilisateur et de l'administrateur système

Chapitre 10 Présentation des actions et des types de données

Les actions et les types de données permettent d'intégrer des applications dans le bureau et de créer une interface utilisateur destinée à lancer les applications et à manipuler les fichiers de données associés.

Le présent chapitre définit les notions d'actions et de type de données. Il décrit :

Les procédures et les règles de création des actions et des types de données sont décrites dans trois chapitres du présent manuel.

Présentation des actions

Il s'agit d'instructions qui permettent d'automatiser les tâches du bureau telles que le lancement d'applications et l'ouverture de fichiers de données. Leur fonctionnement est semblable à celui des macros ou des fonctions de programmation. Toute action a un nom, qui est utilisé pour l'exécuter.

Une fois définie, une action permet de personnaliser l'interface utilisateur et de faciliter son utilisation. En effet, le bureau permet d'associer les éléments de l'interface (icônes, options du Tableau de bord et options de menus) à des actions.

Par exemple, le groupe d'applications Outils_Bureau du Gestionnaire d'applications contient des icônes qui permettent d'exécuter divers programmes.

Figure 10–1 Icônes d'action du groupe d'applications Outils_Bureau

Graphic

Lorsque vous cliquez deux fois sur chacune de ces icônes, une action est lancée. L'exemple ci-dessous représente une partie de la définition de l'action exécutée lorsque l'utilisateur clique deux fois sur l'icône Afficher fichier xwd. Cette action est définie dans le fichier de configuration /usr/dt/appconfig/types/langue/xclients.dt.

ACTION Xwud
 {
 	LABEL				Xwd Display
 	TYPE				COMMAND
 	EXEC_STRING		/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Fichier xwd à afficher:"%
	 	…
 }

La commande définie par la zone EXEC_STRING de l'action est exécutée lorsque l'utilisateur clique deux fois sur l'icône.

Les actions sont également utilisées sur le Tableau de bord. L'exemple ci-dessous représente une partie de la définition de l'option Terminal du panneau secondaire Applications personnelles, définie dans le fichier de configuration /usr/dt/appconfig/types/langue/dtwm.fp

CONTROL Term
 {
 	ICON				Fpterm
 	LABEL				Terminal
 	PUSH_ACTION		Dtterm
 	…
 }

La zone PUSH_ACTION indique l'action exécutée lorsque l'utilisateur clique deux fois sur l'option (en l'occurrence, il s'agit de l'action Dtterm).

Les actions sont également utilisées dans les menus, tels que le menu Sélectionné(s) associé aux fichiers de données, dans le Gestionnaire de fichiers. Par exemple, les fichiers XWD (portant l'extension .xwd ou .wd) disposent d'une action Ouvrir qui permet de les afficher à l'aide de l'action Xwud.

Figure 10–2 Action Ouvrir associée aux fichiers de type XWD

Graphic

Les actions du menu Sélectionné(s) sont indiquées dans la définition du type de données des fichiers XWD, figurant dans le fichier de configuration /usr/dt/appconfig/types/langue/xclients.dt.

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Ouvrir,Imprimer
 	ICON				Dtxwd
 	…
}

Le type de données XWD et les actions associées (Ouvrir et Imprimer) sont décrits à la section Association des fichiers de données aux actions.

Création d'icônes d'application

Par exemple, lorsque vous cliquez deux fois sur l'icône Afficher fichier xwd, dans le groupe d'applications Outils_Bureau, le client X xwud est lancé. Cependant, cette icône ne représente pas directement le programme exécutable xwud (/usr/bin/X11/xwud).

L'icône libellée Xwd Display apparaît dans le groupe d'applications car ce répertoire contient un fichier appelé Xwud (voir la Figure 10–3). Ce fichier représente une action sous-jacente portant le même nom (Xwud). Dans la définition de l'action, le nom de cette dernière est celui indiqué après le mot-clé ACTION :

ACTION Xwud
 {
 	LABEL					Afficher fichier xwd
 	TYPE					COMMAND
 	WINDOW_TYPE			NO_STDIO
 	EXEC_STRING			/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Fichier xwd à afficher:"%
 	DESCRIPTION			L'action Afficher fichier xwd (Xwud) \
 							permet d'afficher un fichier xwd 
 							créé à l'aide de \
 							l'action Capturer xwd (xwd). Elle utilise \
 							la commande xwud.
 }

Ce fichier définissant une action, il est appelé fichier d'action (un fichier d'action doit être exécutable et porter le même nom que l'action). Son icône dans le Gestionnaire d'applications ou le Gestionnaire de fichiers est appelée icône d'action ou icône d'application ; en effet, le fait de cliquer deux fois sur cette icône lance une application.

Figure 10–3 Icône d'application (d'action) correspondant à un fichier d'action

Graphic

Lorsque le Gestionnaire d'applications détecte un fichier exécutable, il vérifie qu'il existe une action portant le même nom dans la base de données des actions. Le cas échéant, il considère le fichier comme un fichier d'action.

Le contenu d'un fichier d'action n'a pas d'importance ; généralement, il fournit des informations sur la fonction de l'action.


Remarque :

ne confondez pas fichier d'action et fichier de définition d'action. Le fichier d'action porte le même nom que l'action ; il est utilisé pour créer une icône d'application dans le Gestionnaire de fichiers ou le Gestionnaire d'applications. Le fichier de définition d'action est le fichier nom.dt contenant la définition de l'action.


Une fois que le bureau a identifié un fichier comme étant un fichier d'action, la définition sous-jacente est utilisée pour définir l'apparence et le comportement de ce fichier.

Figure 10–4 Image d'icône indiquée dans la zone ICON de la définition d'action

Graphic

L'action Xwud est une action de commande car sa définition contient la commande (EXEC_STRING) à exécuter. La zone TYPE de la définition de l'action indique le type de cette dernière.

A l'origine, l'icône "Afficher fichier xwd apparaît dans le groupe d'applications Outils_Bureau ; vous pouvez cependant la copier dans n'importe quel répertoire auquel vous avez accès en écriture. Tant que la définition de l'action Xwud figure dans la base de données des actions, tout fichier exécutable Xwud que vous créez est considéré comme un fichier d'action associé, et son icône apparaissant dans le Gestionnaire de fichiers ou le Gestionnaire d'applications peut être utilisée pour lancer l'action.

Utilisation des fichiers de données comme arguments

L'argument d'une commande est l'élément (généralement, un fichier) sur lequel elle est exécutée. Des actions peuvent être écrites de manière à accepter des fichiers comme arguments.

Par exemple, le paramètre EXEC_STRING de l'action Xwud indique qu'un fichier doit être spécifié comme argument :

EXEC_STRING				/usr/bin/X11/xwud -noclick -in \
 							%(File)Arg_1"Fichier xwd à afficher:"%

Le terme Arg remplace le mot argument. La syntaxe Arg_1 désigne le premier argument et (File) indique que l'action considère l'argument comme un fichier.

Pour indiquer un fichier comme argument, la méthode la plus simple consiste à poser un fichier de données sur l'icône d'application. Le bureau identifie le chemin d'accès du fichier posé et le substitue, sur la ligne de commande, au texte figurant entre les signes % symbols (%(File)Arg_1"Fichier Xwd à afficher:"%). La commande exécutée est la suivante :

/usr/bin/X11/xwud -noclick -in chemin_fichier

Lorsque l'utilisateur clique deux fois sur l'icône d'application, le bureau détermine, à partir de la zone EXEC_STRING qu'un fichier est nécessaire comme argument et affiche une boîte de dialogue invitant l'utilisateur à spécifier un nom ou un chemin d'accès au fichier. Dans le cas de l'action Xwud, le message est le suivant :

Fichier xwd à afficher :

Le nom ou le chemin d'accès du fichier indiqué par l'utilisateur est utilisé comme argument.

Autres utilisations des actions

Outre le lancement des applications, les actions permettent d'effectuer les opérations décrites ci-après.

Types de données

Lorsque vous créez un nouveau fichier de données, l'apparence et le comportement de l'icône de ce fichier dans le Gestionnaire de fichiers dépendent du type de données du fichier. Le bureau permet d'associer des caractéristiques personnalisées aux fichiers et aux répertoires, grâce au mécanisme de classification des données selon leur type.

Définition

Un type de données est une structure définie dans la base de données du bureau. L'exemple ci-dessous illustre la définition du type de données XWD, figurant dans le fichier de configuration /usr/dt/appconfig/types/langue/xclients.dt.

DATA_ATTRIBUTES XWD
 {
 	ACTIONS				Ouvrir,Imprimer
 	ICON					Dtxwd
 	NAME_TEMPLATE		%s.xwd
 	MIME_TYPE      	application/octet-stream
 	SUNV3_TYPE    		xwd-file
 	DESCRIPTION  		Ce fichier contient une image au format XWD. \
 							Il s'agit généralement de captures de \
 							fenêtres effectuées à l'aide de l'action \
 							XWDCapture. Le type de données est XWD et \
 							l'extension, .xwd ou .wd.
 }
DATA_CRITERIA XWD1
 {
 	DATA_ATTRIBUTES_NAME			XWD
 	MODE									f
 	NAME_PATTERN						*.xwd
 }

 DATA_CRITERIA XWD2
 {
 	DATA_ATTRIBUTES_NAME			XWD
 	MODE									f
 	NAME_PATTERN						*.wd
 }

Toute définition de type de données se compose des deux parties suivantes :

DATA_ATTRIBUTES : définit l'apparence et le comportement du type de données.

DATA_CRITERIA : indique les critères (nom ou contenu) permettant d'attribuer le type de données à un fichier.

La zone DATA_ATTRIBUTES_NAME permet d'associer les critères aux attributs.

Plusieurs zones DATA_CRITERIA peuvent être indiquées pour une zone DATA_ATTRIBUTE. Par exemple, pour le type de données XWD, deux critères NAME_PATTERN permettent d'indiquer deux extensions différentes (.xwd et .wd).

Association des fichiers de données aux actions

Dans le cas du type de données XWD, l'utilisateur crée un fichier en lui attribuant l'une des extensions suivantes : .xwd ou .wd. Le bureau utilise le nom du fichier en tant que critère pour l'associer au type de données approprié.

Tout fichier de type XWD dispose des éléments suivants :

Lancement d'actions à partir du menu Sélectionné(s)

Le menu Sélectionné(s) du Gestionnaire de fichiers n'est actif que lorsqu'un fichier ou un répertoire est sélectionné. Les options figurant dans la partie inférieure de ce menu dépendent du type de données du fichier. Par exemple, s'il s'agit d'un fichier XWD, les actions Ouvrir et Imprimer sont disponibles.

La zone ACTIONS de la définition du type de données spécifie les commandes ajoutées dans la partie inférieure du menu Sélectionné(s) du type de données.

DATA_ATTRIBUTES XWD { ACTIONS Ouvrir,Imprimer … }

Le contenu du menu Sélectionné(s) dépend du type de données. Cependant, l'action Ouvrir est commune à de nombreux types de données (ce qui signifie qu'elle figure dans le menu qui s'affiche lorsque vous sélectionnez un fichier dans le Gestionnaire de fichiers et que vous ouvrez le menu Sélectionné(s) correspondant).

Figure 10–5 Menu Sélectionné(s) d'un fichier XWD

Graphic

Généralement, l'action Ouvrir lance l'application associée au fichier de données. Par exemple, lorsque vous ouvrez un fichier XWD, l'action Xwud est exécutée : le client X xwud est lancé pour afficher le fichier. En d'autres termes, l'action Ouvrir est équivalente à l'action Xwud. De même, lorsque vous ouvrez un fichier TEXTFILE, l'éditeur de texte est lancé ; dans le cas d'un fichier BM (bitmap) ou PM (pixmap), c'est l'éditeur d'icônes qui est lancé.

La possibilité de créer des actions Ouvrir qui effectuent différentes opérations repose sur les deux fonctions décrites ci-dessous.

Voici la définition de l'action qui permet d'associer l'action Ouvrir à l'action Xwud pour le type de données XWD. Elle figure dans le fichier de configuration de la base de données /usr/dt/appconfig/types/C/xclients.dt.

ACTION Ouvrir
 {
 	LABEL				Ouvrir
 	ARG_TYPE			XWD
 	TYPE				MAP
 	MAP_ACTION		Xwud
 }

La zone TYPE indique qu'il s'agit d'une action de correspondance et la zone MAP_ACTION, qu'elle exécute l'action Xwud. La zone ARG_TYPE spécifie que l'action ne s'applique qu'aux fichiers dont le type de données est XWD.

Comparez la définition précédente de l'action Ouvrir à la définition suivante, qui figure dans le fichier de la base de données /usr/dt/appconfig/types/C/dt.dt.

ACTION Ouvrir
 {
 	LABEL					Ouvrir
 	ARG_TYPE				BM
 	TYPE					MAP
 	MAP_ACTION			Dticon
 }

Cette définition ne s'applique qu'aux fichiers dont le type de données (ARG_TYPE) est BM (fichiers bitmap). Elle renvoie l'action Ouvrir à l'action Dticon, qui lance l'Editeur d'icônes.

Comportement du double-clic

Le comportement du double-clic est défini par la première entrée de la zone ACTIONS. Par exemple, pour le type de données XWD, vous pouvez exécuter l'action Ouvrir en cliquant deux fois sur l'icône : l'action Xwud est alors lancée.

Pose d'un fichier sur une icône d'action

Lorsque l'utilisateur pose un fichier de données sur une icône d'action, le système lance l'action en utilisant le fichier comme argument (voir la section Utilisation des fichiers de données comme arguments).

Par exemple, lorsqu'un fichier XWD est placé sur l'icône Afficher fichier xwd, l'action Xwud est lancée et le fichier est utilisé comme argument (le client X xwud est lancé pour afficher le fichier de données).

Impression pour un type de données

Pour imprimer un fichier de données à partir du bureau, vous pouvez :

Vous pouvez également lancer des impressions à partir de nombreuses applications.

L'impression à partir du bureau s'effectue à l'aide de l'action Imprimer. Tout comme l'action Ouvrir, cette action est utilisée pour de nombreux types de données. Elle est donc associée à d'autres actions, la zone ARG_TYPE permettant de personnaliser l'impression pour les différents types de données.

Par exemple, l'exemple ci-dessous illustre l'action Imprimer associée au type de données XWD. Elle est définie dans le fichier /usr/dt/appconfig/types/langue/xclients.dt:

ACTION Imprimer
 {
 	LABEL					Imprimer
 	ARG_TYPE				XWD
 	TYPE					MAP
 	MAP_ACTION			NoPrint
 }

Cette action Imprimer, propre aux fichiers XWD, est associée à une action NoPrint, définie dans le fichier /usr/dt/appconfig/types/langue/dt.dt. Elle affiche une boîte de dialogue informant l'utilisateur que l'impression du type de données est impossible.

Comparez l'action Imprimer des fichiers XWD avec la suivante (fichiers PCL) :

ACTION Print
{
 	LABEL				Print
 	ARG_TYPE			PCL
 	TYPE				MAP
 	MAP_ACTION		PrintRaw
 }

L'action PrintRaw, définie dans le fichier de configuration /usr/dt/appconfig/types/langue/print.dt, indique la commande permettant d'imprimer les fichiers PCL.

ACTION PrintRaw
 {
 	TYPE						COMMAND
 	WINDOW_TYPE				NO_STDIO
 	EXEC_STRING				/usr/dt/bin/dtlp -w %(File)Arg_1%
 }