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 :
l'intérêt des actions et des types de données pour les applications ;
les relations existant entre les actions et les types de données ;
les relations existant entre les actions et les types de données et les opérations d'impression.
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.
Le Chapitre 11explique comment créer des actions et des types de données à l'aide de l'utilitaire du bureau "Créer une action".
Ce programme permet de créer des actions et des types de données pour la plupart des applications, sans connaître la syntaxe utilisée pour leurs définitions.
Le Chapitre 12 et le Chapitre 13 expliquent comment créer des actions et des types de données manuellement, à l'aide de fichiers de configuration.
Vous devez utiliser cette méthode pour bénéficier des fonctions avancées non prises en charge par l'utilitaire "Créer une action".
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.
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.
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.
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.
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.
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.
La zone EXEC_STRING spécifie le comportement de l'icône d'application. Pour l'icône Xwd Display, la zone EXEC_STRING indique que l'icône d'action lance le client X xwud en utilisant certains arguments de ligne de commande.
La zone LABEL définit le libellé de l'icône d'application.
La zone DESCRIPTION définit le texte qui apparaît lorsque l'utilisateur accède à l'aide sur l'élément.
L'icône d'application Xwud utilise l'image par défaut car sa définition d'action ne contient pas la zone ICON qui spécifierait une image différente.
En revanche, l'icône Compresser fichier utilise une image personnalisée, définie dans la zone ICON :
Par exemple :
ACTION Compresser { LABEL Compresser fichier ICON Dtcmprs … }
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.
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.
Outre le lancement des applications, les actions permettent d'effectuer les opérations décrites ci-après.
Sur le Tableau de bord
La définition d'une option du Tableau de bord comporte des zones qui indiquent l'action exécutée lorsque l'utilisateur clique sur l'option ou y pose un fichier. Pour plus d'informations, reportez-vous à la section Définition des objets de commande du Tableau de bord.
Dans les menus
La syntaxe de la définition du menu Fenêtre et du menu de l'espace de travail permet d'indiquer l'action exécutée par une option de menu. Pour plus d'informations, reportez-vous à la section Menus du Gestionnaire de l'espace de travail et à la page de manuel dtwmrc(4).
Pour la communication entre les applications
Une application peut être configurée de manière à envoyer et à recevoir des informations par l'intermédiaire d'un type d'action particulier, appelé message ToolTalk (TT_MSG). Les actions TT_MSG sont décrites dans la documentation relative à l'environnement de développement.
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.
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).
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 :
une icône unique permettant d'identifier les fichiers de données ;
des informations d'aide contextuelles qui décrivent le type de données ;
un menu Sélectionné(s) personnalisé dans le Gestionnaire de fichiers, contenant les options Ouvrir et Imprimer (l'action Ouvrir lance l'action Xwud pour les fichiers XWD).
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).
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.
Cette fonction permet de créer une action qui en lance une autre, au lieu d'exécuter directement une commande. Par exemple, vous pouvez créer une action Ouvrir qui renvoie à (lance) l'action Xwud.
Restrictions en fonction du type de données
Les définitions d'actions peuvent contenir une zone ARG_TYPE permettant d'associer l'action à certains types de données uniquement. Par exemple, vous pouvez faire en sorte que l'action Ouvrir (qui renvoie à l'action Xwud) ne s'applique qu'aux fichiers dont le type de données est XWD.
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.
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.
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).
Pour imprimer un fichier de données à partir du bureau, vous pouvez :
utiliser l'option Imprimer du menu Sélectionné(s) du Gestionnaire de fichiers (le cas échéant) ;
poser un fichier sur une zone de pose d'impression (l'objet de commande Imprimante du Tableau de bord ou une icône d'imprimante dans le Gestionnaire d'impression).
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% }