Pour un exemple détaillé de création d'un module d'application, voir "Exemple de création d'un module d'enregistrement".
Modifiez les ressources de l'application qui définissent les polices et les couleurs. Sinon, les polices et les couleurs dynamiques du Bureau ne s'afficheront pas correctement.
Voir "Étape 1 : Modification des ressources polices et couleurs".
Créez un emplacement racine pour l'application.
Voir "Étape 2 : Création du répertoire racine d'une application".
Créez la structure du répertoire sous la racine de l'application.
Voir "Étape 3 : Création des répertoires du module d'enregistrement"
Créez les actions et les types de données de l'application.
Voir "Étape 4 : Création des actions et des types de données de l'application".
Placez les fichiers d'aide dans le répertoire approprié.
Voir "Étape 5 : Insertion des fichiers d'aide dans le module d'enregistrement".
Créez les icônes de l'application.
Créez le groupe de l'application.
Enregistrez l'application à l'aide de dtappintegrate.
Voir "Étape 8 : Enregistrement de l'application à l'aide de dtappintegrate".
Pour un exemple de modification des ressources d'une application, reportez-vous à l'Etape 1 dans "Exemple de création d'un module d'enregistrement".
Le Bureau fournit des mécanismes de définition et de manipulation des polices d'interface et des couleurs de 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 suivantes). Le Gestionnaire de configuration ne peut pas définir des polices d'interface pour les applications écrites 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 suivantes) si l'application ne requiert 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 écrits avec d'autres outils de développement ne peuvent pas modifier leurs couleurs dynamiquement. Ces modifications prennent effet lorsque le client est redémarré.
La manière la plus simple d'utiliser les couleurs du Bureau consiste à supprimer toutes les ressources couleurs des applications, qu'il s'agisse des couleurs de premier plan ou d'arrière-plan.
Pour un exemple de création du répertoire racine d'une application du Bureau, reportez-vous à l'Etape 2 dans "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 est 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 un exemple de création des répertoires du module d'enregistrement d'une application, reportez-vous à l'Etape 3 dans "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éfinitions des actions et des types de données ;
les fichiers d'images d'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é sous un répertoire de premier niveau, appelé racine de l'application, ou racine_app.
Les principales catégories de zones de configuration du répertoire racine_app/dt/appconfig figurent dans Tableau 5-1.
Tableau 5-1 Principales catégories de zones de configuration
Sous-répertoire |
Contenu |
---|---|
types |
Fichiers de définitions des actions et des types de données. |
help |
Fichiers d'aide du Bureau. |
icons |
Fichiers d'images bitmaps et pixmaps utilisés par les actions et les types de données de l'application. |
appmanager |
Le répertoire et le contenu qui créent le groupe d'applications. |
Chacune de ces catégories comporte des sous-répertoires pour les fichiers dépendant de la 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, 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 un exemple de création d'actions et de types de données pour une application, reportez-vous à l'Etape 4 dans "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 un nom d'icône unique").
Pour une présentation de l'utilisation des actions et des types de données du Bureau, voir 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 qu'ils doivent avoir l'extension .dt. Selon les conventions, vous pouvez appeler le fichier 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 action".
Cet outil offre une interface conviviale et son utilisation est aisée. Cependant, il comporte certaines limites.
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 action" pour créer une action et des types de données pour l'application.
Pour plus de détails sur "Créer action", utilisez son aide en ligne ou voir Chapitre 11.
Ouvrez le groupe d'applications "App_Bureau" et cliquez deux fois sur "Créer 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 écrit 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 vers racine_app/dt/appconfig/types/langue.
Après la création du répertoire du groupe d'applications (voir "Étape 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 d'actions et de 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 de détails sur la création d'actions et de types de données, reportez-vous aux chapitres indiqués ci-dessous.
Pour un exemple d'ajout de fichiers d'aide à un module d'enregistrement, reportez-vous à l'Etape 5 dans "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 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 du Bureau CDE.
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 du premier niveau 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 un exemple de création de fichiers d'icônes pour une application, reportez-vous à l'Etape 6 dans "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 souhaiter 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 ces images d'icônes 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 à chaque type.
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 au premier niveau 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 "Étape 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 |
---|---|---|---|
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, le Bureau fait correspondre les spécifications couleur des fichiers pixmap en noir et blanc. Cependant, cette correspondance peut ne pas produire l'apparence souhaitée.
Pour plus de détails, reportez-vous à la section "Fichiers d'images".
Pour un exemple de création d'un groupe d'applications, reportez-vous à l'Etape 7 dans "Exemple de création d'un module d'enregistrement".
Une fois que vous avez créé les définitions d'actions et de types de données de l'application, vous devez créer les fichiers de configuration qui vont prendre en charge la création de ce que l'utilisateur voit réellement -- le groupe d'applications et son contenu.
Le groupe d'applications est un répertoire situé au premier niveau du Gestionnaire d'applications (voir Figure 5-1).
Il existe trois étapes pour la création du groupe d'applications :
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 la création de la définition du 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 Figure 5-7.
Le <groupe_app> de Figure 5-7 correspond au nom du groupe d'applications.
Le nom peut être n'importe quel nom de fichier (répertoire) autorisé. Utilisez un nom décrivant l'application.
Le Bureau fournit une icône de groupe d'applications par défaut. Toutefois, vous souhaiterez probablement attribuer au groupe d'applications une icône personnalisée.
Pour attribuer une icône unique au groupe d'applications, vous devez créer :
un type de données pour le répertoire apparaissant au premier niveau 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 de types de données suivante, placée dans un fichier racine_app/dt/appconfig/types/langue/nom.dt, attribue une icône unique à l'icône du groupe d'applications.
DATA_ATTRIBUTES Media_ToolsAppgroup { ACTIONS OpenInPlace,OpenNewView ICON MediaTools DESCRIPTION Cliquez deux fois pour ouvrir le groupe d'applications Outils_Media \ }
DATA_CRITERIA Media_ToolsAppgroupCriteria1 { DATA_ATTRIBUTES_NAME Media_ToolsAppgroup 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.
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 Media_ToolsAppGroup TYPE MAP MAP_ACTION OpenAppGroup }
ACTION Imprimer { ARG_TYPE Media_ToolsAppGroup 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 la ou les icônes d'action, le groupe d'applications peut contenir :
un ou plusieurs fichiers README,
un ou plusieurs fichiers de données échantillon,
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 spécialisée 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 doit être 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 d'image indiquée dans la définition de l'action.
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" d'un panneau secondaire.
Vous pouvez créer un fichier de configuration du Tableau de bord contenant une définition d'icône de votre application si vous voulez que les utilisateurs puissent installer une icône ayant un comportement 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é, la fenêtre est déplacée sur le haut de 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 de détails sur la création des fichiers de configuration du Tableau de bord, voir :
page de manuel dtfpfile(4)
Pour un exemple d'enregistrement d'une application, reportez-vous à l'Etape 8 dans "Exemple de création d'un module d'enregistrement".
Une fois que 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 "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 qu'utilisateur root.
Exécutez la commande :
/usr/dt/bin/dtappintegrate -s racine_app
où racine_app est le répertoire racine de l'application du Bureau. Pour plus de détails, 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. A pour valeur par défaut 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 où le Bureau recherche les fichiers de configuration.
dtappintegratecrée des liens symboliques entre les fichiers de définitions d'actions et de types de données du module d'enregistrement et le répertoire de niveau 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 de niveau 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 de niveau système, à travers le chemin de recherche d'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 au premier niveau du Gestionnaire d'applications, dtappintegrate crée un lien entre le répertoire du groupe d'applications du module d'enregistrement et l'emplacement de niveau 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