pour obtenir un exemple détaillé de la création d'un module d'application, reportez-vous à la section "Exemple de création d'un module d'enregistrement".
Modifiez les ressources de l'application qui définissent les polices et les couleurs. Si vous ne le faites pas, les polices et les couleurs dynamiques du bureau ne s'afficheront pas correctement.
Reportez-vous à la section "Etape 1 : Modification des ressources des polices et des couleurs".
Créez un emplacement racine pour l'application.
Reportez-vous à la section "Etape 2 : Création du répertoire racine d'une application".
Créez la structure de répertoires sous la racine de l'application.
Reportez-vous à la section "Etape 3 : Création des répertoires du module d'enregistrement".
Créez les actions et les types de données de l'application.
Reportez-vous à la section "Etape 4 : Création des actions et des types de données de l'application".
Placez les fichiers d'aide dans le répertoire approprié.
Reportez-vous à la section "Etape 5 : Insertion des fichiers d'aide dans le module d'enregistrement".
Créez les icônes de l'application.
Reportez-vous à la section "Etape 6 : Création d'icônes pour l'application".
Créez le groupe de l'application.
Reportez-vous à la section "Etape 7 : Création du groupe d'applications".
Enregistrez l'application à l'aide de dtappintegrate.
Reportez-vous à la section "Etape 8 : Enregistrement de l'application à l'aide de dtappintegrate".
pour obtenir un exemple de modification des ressources d'une application, reportez-vous à l'étape 1 de la section "Exemple de création d'un module d'enregistrement".
Le bureau fournit des mécanismes de définition et de manipulation des polices de l'interface et des couleurs des fenêtres. Pour qu'une application utilise correctement ces mécanismes, il peut être nécessaire de modifier son fichier app-defaults.
cette section concerne les applications créées à l'aide d'OSF/Motif 1.2(TM) (ou de versions ultérieures). Le Gestionnaire de configuration ne peut pas définir de polices d'interface pour les applications créées avec des versions antérieures d'OSF/Motif.
Le Gestionnaire de configuration du bureau définit des polices d'interface pour les applications créées avec OSF/Motif version 1.2 (ou ultérieure) si l'application ne nécessite pas de polices spécifiques.
Le Gestionnaire de configuration propose deux types de police :
Police système : utilisée pour les zones du système telles que les libellés, les menus et les boutons.
Police utilisateur : utilisée pour les zones modifiables telles que les zones de texte.
Chaque police est disponible dans sept tailles, numérotées de 1 à 7 dans la boîte de dialogue Polices. Les polices du Gestionnaire de configuration sont liées aux polices réelles du système par l'intermédiaire des ressources du Gestionnaire de configuration définies dans /usr/dt/app-defaults/langue/Dtstyle.
Si vous souhaitez que l'application utilise les polices du Gestionnaire de configuration, supprimez les ressources de l'application comportant des références à des polices spécifiques. Le bureau définira alors automatiquement les ressources de l'application.
FontList : police système.
XmText*FontList : police utilisateur.
XmTextField*FontList : police utilisateur.
Le Gestionnaire de configuration permet de modifier de façon dynamique les couleurs des applications. L'application doit être un client OSF/Motif 1.1 ou 1.2. Les programmes clients créés avec d'autres outils de développement ne peuvent pas modifier leurs couleurs de façon dynamique. Ces modifications sont prises en compte au redémarrage du client.
La manière la plus simple d'utiliser les couleurs du bureau consiste à supprimer toutes les ressources de couleurs des applications, qu'il s'agisse des couleurs de premier plan ou d'arrière-plan.
pour obtenir un exemple de création du répertoire racine d'une application du bureau, reportez-vous à l'étape 2 de la section "Exemple de création d'un module d'enregistrement".
Les fichiers du module d'enregistrement de l'application sont regroupés dans un répertoire, appelé racine de l'application, ou racine_app. Le répertoire racine_app utilisé pour les fichiers de configuration du bureau peut être identique au répertoire racine_app d'installation de l'application ou d'un autre emplacement.
Supposons, par exemple, qu'une application soit installée dans le répertoire /usr/BTE. Ce même répertoire peut être utilisé comme répertoire racine_app des fichiers de configuration du bureau. Cependant, si vous intégrez une application "non-CDE" existante, créez un répertoire racine de bureau différent. Cela permet d'éviter que les fichiers de configuration en cours de création ne soient écrasés lors de la mise à jour de l'application.
Par exemple, un administrateur système peut souhaiter créer un répertoire /etc/desktop_approots/BTE comme répertoire racine_app du bureau.
pour obtenir un exemple de création des répertoires du module d'enregistrement d'une application, reportez-vous à l'étape 3 de la section "Exemple de création d'un module d'enregistrement".
Le module d'enregistrement correspond au groupe de fichiers de configuration utilisés par le bureau afin de fournir une interface graphique pour l'application.
Les fichiers de configuration du bureau comprennent :
les fichiers de définition des actions et des types de données ;
les fichiers des images des icônes ;
un répertoire de groupe d'applications et son contenu ;
éventuellement, les fichiers de données d'aide et un fichier de configuration du Tableau de bord.
Le module d'enregistrement est regroupé dans un répertoire de niveau supérieur, appelé racine de l'application, ou racine_app.
Les principales catégories de zones de configuration du répertoire racine_app/dt/appconfig sont présentées dans le Tableau 5-1.
Tableau 5-1 Principales catégories de zones de configuration
Sous-répertoire |
Contenu |
---|---|
types |
Fichiers de définition des actions et des types de données. |
help |
Fichiers d'aide du bureau. |
icons |
Fichiers d'images bitmap et pixmap utilisés par les actions et les types de données de l'application. |
appmanager |
Répertoire et contenu qui créent le groupe d'applications. |
Chacune de ces catégories comporte des sous-répertoires pour les fichiers propres à une langue. Les fichiers de langue par défaut sont placés dans le répertoire C.
Créez ces répertoires. Si vous avez des fichiers de configuration dépendant de la langue, créez un répertoire distinct pour chaque langue. Si vous ne proposez qu'une seule langue, placez les fichiers dans le répertoire C.
racine_app/dt/appconfig/types/langue
racine_app/dt/appconfig/help/langue
racine_app/dt/appconfig/icons/langue
racine_app/dt/appconfig/appmanager/langue/groupe_app,où groupe_app est le nom du groupe d'applications.
Par exemple, la Figure 5-5 affiche le Gestionnaire d'applications contenant un groupe dont groupe_app est "Outils_Media".
L'outil dtappintegrate fonctionne uniquement sur les fichiers de configuration du bureau dans les répertoires types, help, icons et appmanager. Le fichier exécutable binaire de l'application, app-defaults, et les fichiers de catalogues de messages sont gérés séparément.
pour obtenir un exemple de création d'actions et de types de données pour une application, reportez-vous à l'étape 4 de la section "Exemple de création d'un module d'enregistrement".
Les actions et les types de données fournissent une interface utilisateur à l'application.
Les actions constituent une interface utilisateur pour la commande de lancement de l'application.
Les types de données permettent de personnaliser l'aspect et le comportement des fichiers de données de l'application.
Les applications type requièrent les définitions d'actions et de types de données suivantes :
Une action qui ouvre l'application.
Un type de données pour les fichiers de l'application ; si vous créez un type de données, vous allez également créer :
une action Ouvrir pour les fichiers de données de l'application ;
une action Imprimer pour les fichiers de données de l'application.
Un type de données pour le groupe d'applications (voir la section "Configuration du groupe d'applications avec une seule icône").
Pour obtenir une présentation de l'utilisation des actions et des types de données du bureau, reportez-vous au Chapitre 10.
Les actions et les types de données sont définis dans les fichiers de configuration. La seule exigence de dénomination pour les fichiers comportant des définitions d'actions et de types de données est de comporter l'extension .dt. Par convention, vous pouvez attribuer au fichier le nom nom_action.dt ou nom_application.dt.
Placez les fichiers contenant les actions et les types de données sous la racine de l'application, dans le répertoire racine_app/dt/appconfig/types/langue. La langue par défaut est C.
Il existe deux façons de créer les définitions d'actions et de types de données d'une application :
Avec l'outil "Créer une action".
Cet outil offre une interface conviviale, avec des zones à renseigner. Cependant, il comporte certaines limites.
En créant des définitions manuellement.
Vous devez alors connaître la syntaxe de création des définitions, mais vous pouvez accéder à l'ensemble des fonctionnalités disponibles.
Cette procédure utilise l'outil "Créer une action" pour créer une action et des types de données pour l'application.
Pour plus d'informations sur "Créer une action", utilisez son aide en ligne ou reportez-vous au Chapitre 11.
Ouvrez le groupe d'applications "App_Bureau" et cliquez deux fois sur "Créer une action".
Utilisez cet outil pour créer les définitions d'actions et de types de données pour l'application et son type de données.
Le fichier de configuration créé par l'outil est enregistré dans RépPersonnel/.dt/type/nom_action.dt. Le fichier d'action (fichier exécutable portant le même nom que l'action) est placé dans votre répertoire personnel.
Testez l'action en cliquant deux fois sur l'icône du fichier d'action créé dans votre répertoire personnel.
Copiez le fichier de définitions d'actions RépPersonnel/.dt/type/nom_action.dt dans racine_app/dt/appconfig/types/langue.
Après avoir créé le répertoire du groupe d'applications (voir la section "Etape 7 : Création du groupe d'applications"), copiez le fichier d'action RépPersonnel/nom_action dans le répertoire racine_app/dt/appconfig/appmanager/langue/groupe_app.
Créez un fichier de configuration contenant les définitions des actions et des types de données de l'application.
Les fichiers d'actions et de types de données doivent respecter les conventions de dénomination nom.dt.
Vous pouvez placer vos définitions d'actions et de types de données dans un ou plusieurs fichiers. Pour chaque fichier, utilisez un nom que les administrateurs système associeront facilement à votre application.
Les noms des actions et des types de données doivent être en un seul "mot" (sans espaces). Vous pouvez utiliser un caractère de soulignement. Par convention, la première lettre de l'action ou du type de données est en majuscules. N'utilisez pas un nom d'action ou de fichier existant. Utilisez un nom que les administrateurs système et les utilisateurs confirmés associeront facilement à votre application.
Si vous souhaitez que l'icône de l'application ait un nom différent de celui de l'action, insérez une zone LABEL dans la définition de l'action.
Pour plus d'informations sur la création des actions et des types de données, reportez-vous aux chapitres suivants :
pour obtenir un exemple d'ajout de fichiers d'aide à un module d'enregistrement, reportez-vous à l'étape 5 de la section "Exemple de création d'un module d'enregistrement".
Si l'application comporte un volume d'aide du bureau (créé avec le kit du développeur de l'aide du bureau), le fichier maître du volume d'aide (*.sdl) doit être placé dans le répertoire racine_app/appconfig/help/langue.
Les graphiques utilisés par les fichiers d'aide sont généralement placés dans un sous-répertoire graphics. Ils doivent se trouver dans le même répertoire lié au fichier du volume d'aide (*.sdl) que celui utilisé lors de la création du volume d'aide.
Si l'application ne comporte pas de volume d'aide, vous pouvez en créer un si vous disposez du kit du développeur de l'aide.
Il existe deux niveaux d'intégration d'un volume d'aide :
Lorsque l'aide du bureau est totalement intégrée, l'utilisateur peut accéder au volume d'aide à partir de l'application, par exemple à partir de l'aide sur l'élément et du menu Aide. L'intégration totale implique la modification des exécutables de l'application.
Lorsque l'aide du bureau est partiellement intégrée, l'utilisateur peut y accéder à partir de la partie supérieure du Gestionnaire d'aide. Cependant, il ne peut pas accéder au volume d'aide à partir des fenêtres de l'application. Vous pouvez créer une action pour accéder à l'aide à partir du groupe d'applications. L'action de l'exemple suivant affiche le volume d'aide situé dans le fichier maître de l'aide MonApp.sdl :
ACTION OuvrirAideMonApp { LABEL AideMonApp ARG_COUNT 0 TYPE COMMAND WINDOW_TYPE NO_STDIO EXEC_STRING /usr/dt/bin/dthelpview -helpVolume MonApp DESCRIPTION Affiche l'aide sur l'application MonApp. }
pour obtenir un exemple de création de fichiers d'icônes pour une application, reportez-vous à l'étape 6 de la section "Exemple de création d'un module d'enregistrement".
Le bureau fournit des icônes par défaut pour les actions, les types de données et les groupes d'applications. Cependant, vous pouvez créer des icônes propres à l'application.
Les icônes sont placées dans le répertoire racine_app/dt/appconfig/icons/langue.
L'application utilise les images d'icônes suivantes sur le bureau :
Icône d'action. Il s'agit de l'icône sur laquelle vous cliquez deux fois pour lancer votre application (action). Elle est répertoriée dans la zone ICON de l'action qui lance l'application.
Elle existe en trois tailles : petite, moyenne et grande.
Icône de type de données. Cette icône est utilisée pour représenter les fichiers de données de l'application dans le Gestionnaire de fichiers. Elle est répertoriée dans la zone ICON de la définition du type de données.
Si votre application prend en charge différents types de données, vous devez attribuer une icône différente à chacun de ces types.
Elle existe en deux tailles : petite et moyenne.
Icône de groupe d'applications. Il s'agit de l'icône qui représente le répertoire dans la partie supérieure du Gestionnaire d'applications. Elle est répertoriée dans la zone ICON de la définition du type de données du groupe d'applications (voir la section "Etape 7 : Création du groupe d'applications").
Elle existe en deux tailles : petite et moyenne.
Vous devrez peut-être indiquer les versions pixmap et bitmap de chaque icône pour autoriser la prise en charge des écrans couleur (8 bits et plus) et monochromes (moins de 8 bits).
Taille |
Dimensions en pixels |
Nom bitmap |
Nom pixmap |
---|---|---|---|
Très petite |
16 x 16 |
nom_base.t.bm |
nom_base.t.pm |
Moyenne |
32 x 32 |
nom_base.m.bm |
nom_base.m.pm |
Grande |
48 x 48 |
nom_base.l.bm |
nom_base.l.pm |
Si vous ne disposez pas des fichiers bitmap, les spécifications des couleurs des fichiers pixmap seront le noir et le blanc. Il se peut alors que vous n'obteniez pas l'apparence voulue.
Pour plus d'informations sur les icônes, reportez-vous à la section "Fichiers d'images".
pour obtenir un exemple de création d'un groupe d'applications, reportez-vous à l'étape 7 de la section "Exemple de création d'un module d'enregistrement".
Lorsque vous avez créé les définitions des actions et des types de données de l'application, vous devez créer les fichiers de configuration qui vont prendre en charge la création des éléments visualisés effectivement par l'utilisateur : le groupe d'applications et son contenu.
Le groupe d'applications est un répertoire situé dans la partie supérieure du Gestionnaire d'applications (voir la Figure 5-1).
La création du groupe d'applications s'effectue en trois temps :
Créez le répertoire du groupe d'applications dans le module d'enregistrement.
Facultatif : configurez le groupe d'applications afin qu'il utilise une icône unique. Cela implique de définir le type de données du groupe d'applications.
Créez le contenu du groupe d'applications.
Pour créer un groupe d'applications, créez les répertoires dans le module d'enregistrement sous appmanager, comme indiqué dans la Figure 5-7.
Dans la Figure 5-7, <groupe_app> correspond au nom du groupe d'applications.
Le nom peut correspondre à n'importe quel nom de fichier (répertoire) autorisé. Utilisez un nom décrivant l'application.
Le bureau fournit une icône par défaut pour chaque groupe d'applications. Toutefois, vous pouvez personnaliser ces icônes.
Pour attribuer une icône unique au groupe d'applications, vous devez créer :
un type de données pour le répertoire apparaissant dans la partie supérieure du Gestionnaire d'applications ;
les actions Ouvrir et Imprimer pour le type de données.
Supposons, par exemple, que vous souhaitiez créer un groupe d'applications appelé Outils_Media. La définition des types de données suivante, placée dans un fichier racine_app/dt/appconfig/types/langue/nom.dt, attribue une icône unique au groupe d'applications.
DATA_ATTRIBUTES GroupeAppOutils_Media { ACTIONS OpenInPlace,OpenNewView ICON Outils_Media DESCRIPTION Cliquez deux fois pour ouvrir le groupe \ d'application Outils_Media }
DATA_CRITERIA Critère1GroupeAppOutils_Media { DATA_ATTRIBUTES_NAME GroupeAppOutils_Media MODE d PATH_PATTERN */appmanager/*/Outils_Media }
La section des attributs de la définition indique l'icône à utiliser. La section des critères indique que le type de données est défini dans un répertoire appelé Outils_Media, qui est lui-même un sous-répertoire d'un répertoire appelé appmanager.
La Figure 5-9 illustre la relation entre le nom du groupe d'applications et la définition du type de données. La zone PATH_PATTERN de la définition du type de données associe une icône unique au groupe d'applications.
Vous devez également créer une action Ouvrir et une action Imprimer pour le type de données du groupe d'applications :
ACTION Ouvrir { ARG_TYPE GroupeAppOutils_Media TYPE MAP MAP_ACTION OpenAppGroup }
ACTION Imprimer { ARG_TYPE GroupeAppOutils_Media TYPE MAP MAP_ACTION PrintAppGroup }
Les actions OpenAppGroup et PrintAppGroup sont des actions intégrées définies dans /usr/dt/appconfig/types/langue/dtappman.dt.
L'élément le plus important du groupe d'applications est l'icône permettant de lancer l'application (icône d'action). Si le groupe d'applications comporte une série d'applications, il existe, en général, une icône pour chaque application.
Outre les icônes d'action, le groupe d'applications peut comporter :
un ou plusieurs fichiers README ;
un ou plusieurs exemples de fichiers de données ;
des modèles ;
une icône sur laquelle l'utilisateur peut cliquer deux fois pour visualiser l'aide ;
une page de manuel ;
une icône particulière pour le Tableau de bord.
Le groupe d'applications peut contenir des sous-répertoires.
Le groupe d'applications doit contenir une icône permettant de lancer l'application. Si le groupe comporte une série d'applications, une icône doit exister pour chacune d'entre elles. Ces icônes s'appellent icônes d'application ou icônes d'action, puisqu'elles représentent une action sous-jacente.
Pour définir une icône d'action, vous devez créer un fichier exécutable dont le nom est identique à celui de l'action à exécuter.
racine_app/dt/appconfig/appmanager/groupe_app/nom_action
Le fichier est appelé fichier d'action, car son but est de créer une représentation visuelle de l'action sous-jacente.
Par exemple, si vous avez créé une action BestTextEditor qui exécute l'application BestTextEditor, vous devez créer un fichier exécutable portant le nom BestTextEditor. Dans le Gestionnaire de fichiers et le Gestionnaire d'applications, le fichier d'action utilisera l'icône indiquée dans la définition de l'action.
La Figure 5-10 illustre la relation entre la définition de l'action, le fichier d'action et l'entrée réelle dans la fenêtre du Gestionnaire d'applications.
Le bureau fournit un type de données README que vous pouvez utiliser pour les fichiers README de votre application. Utilisez l'une des conventions de dénomination suivantes :
README
readme
README.*
Read.*.Me
read.*.me
READ.*.ME
Dans la plupart des cas, il n'est pas nécessaire de définir une icône pour le Tableau de bord ; l'utilisateur peut en effet ajouter l'application au Tableau de bord en faisant glisser son icône d'action sur l'icône "Installer une icône" de ce panneau secondaire.
Vous pouvez créer un fichier de configuration du Tableau de bord contenant une définition de l'icône de votre application si vous souhaitez que les utilisateurs puissent installer une icône dont le comportement sera différent de celui de l'icône d'action (par exemple, si l'icône contrôle un fichier et change d'aspect lorsque ce fichier est modifié).
Les fichiers de configuration du Tableau de bord sont placés dans le répertoire racine_app/dt/appconfig/types/langue. La convention de dénomination est nom.fp.
Si vous disposez d'un fichier de configuration comportant une icône, l'utilisateur peut l'ajouter à un panneau secondaire en faisant glisser le fichier *.fp sur l'icône "Installer une icône" du panneau secondaire.
Par exemple, la définition suivante peut être placée dans un fichier de configuration du Tableau de bord du groupe d'applications. Si l'utilisateur fait glisser ce fichier sur l'icône "Installer une icône" d'un panneau secondaire, une icône est créée dans ce dernier et exécute une seule instance de l'application BestTextEditor. Si BestTextEditor est déjà lancé, sa fenêtre apparaît devant la pile de fenêtres de l'espace de travail courant.
CONTROL BestTextEditorControl { TYPE icon ICON BTEFPanel PUSH_RECALL True CLIENT_NAME BTEd PUSH_ACTION BTEditor DROP_ACTION BTEditor HELP_STRING Lance l'application BestTextEditor. }
Pour plus d'informations sur la création des fichiers de configuration du Tableau de bord, voir :
Chapitre 15le ,
la page de manuel dtfpfile(4).
pour obtenir un exemple d'enregistrement d'une application, reportez-vous à l'étape 8 de la section "Exemple de création d'un module d'enregistrement".
Lorsque vous avez créé un module d'enregistrement sous la racine d'une application, vous pouvez commencer l'enregistrement réel de l'application.
L'enregistrement de l'application crée des liens entre le module d'enregistrement et les répertoires situés dans les chemins de recherche du bureau (voir la section "Intégration des applications par dtappintegrate").
Si l'application est adaptée au bureau CDE, dtappintegrate est généralement exécuté automatiquement comme étape finale du processus d'installation. S'il n'est pas exécuté automatiquement, ou si vous avez créé les fichiers de configuration pour intégrer une application "non-CDE", vous pouvez alors lancer dtappintegrate manuellement.
Connectez-vous en tant que superutilisateur.
Exécutez la commande suivante :
/usr/dt/bin/dtappintegrate -s racine_app
où racine_app est le répertoire racine de l'application du bureau. Pour plus d'informations, reportez-vous à la page de manuel dtappintegrate(1).
Ouvrez le groupe d'applications Outils_Bureau et cliquez deux fois sur Recharger applications.
Vérifiez que l'application est correctement enregistrée :
dtappintegrate -s racine_app[-t chemin_cible ] [-l langue ] [-u]
-s racine_app |
Paramètre requis. Indique la racine sous laquelle l'application a été installée. |
-t chemin_cible |
Paramètre facultatif. A pour valeur par défaut l'emplacement du système /etc/dt/appconfig. Indique l'emplacement auquel les fichiers de configuration du bureau sont liés. Vous devez utiliser un emplacement dans le chemin de recherche de l'application. |
-l langue |
Paramètre facultatif. Par défaut, correspond à toutes les langues. Indique les fichiers de configuration du bureau dépendant de la langue à intégrer. |
-u |
Paramètre facultatif. Annule l'intégration de l'application, en supprimant tous les liens établis lors de l'intégration. |
dtappintegrate configure des liens entre les fichiers installés et les emplacements dans lesquels le bureau recherche les fichiers de configuration.
dtappintegrate crée des liens symboliques entre les fichiers de définition d'actions et de types de données du module d'enregistrement et le répertoire système, à travers le chemin de recherche d'aide de bases de données d'actions. Pour ce faire, il crée des liens entre
racine_app/dt/appconfig/types/langue/*.dt
et
/etc/dt/appconfig/types/langue/*.dt
dtappintegrate crée des liens symboliques entre les fichiers d'aide du module d'enregistrement et le répertoire système, à travers le chemin de recherche d'aide. Pour ce faire, il crée des liens entre
racine_app/dt/appconfig/help/langue/fichier_aide.sdl
et
/etc/dt/appconfig/help/langue/fichier_aide.sdl
dtappintegrate crée des liens symboliques entre les fichiers d'icônes du module d'enregistrement et le répertoire système, à travers le chemin de recherche des icônes. Pour ce faire, il crée des liens entre
racine_app/dt/appconfig/icons/langue/fichiers_icône
et
/etc/dt/appconfig/icons/langue/fichiers_icône
Pour placer le groupe de l'application dans la partie supérieure du Gestionnaire d'applications, dtappintegrate crée un lien entre le répertoire du groupe d'applications du module d'enregistrement et le répertoire système, à travers le chemin de recherche d'applications. Pour ce faire, il crée des liens entre
racine_app/dt/appconfig/appmanager/langue/groupe_app
et
/etc/dt/appconfig/appmanager/langue/groupe_app