Exemple : Création d'un fragment allemand pour le plug-in XYZ

Dans PDE, les assistants et les éditeurs permettant de manipuler plug-ins et fragments sont quasiment identiques. Cependant, il convient de noter quelques différences importantes.

Commençons par créer un projet de fragment.  

Dans la première page de l'assistant Nouveau fragment, tapez "com.example.german" comme nom de projet.  Cliquez sur Suivant et acceptez les valeurs par défaut proposées dans la deuxième page.  (Cliquez de nouveau sur Suivant.)  Dans la page "Générateurs de code de fragment", activez le bouton d'option de création d'un fragment à partir d'un modèle, puis sélectionnez l'assistant "Générateur de fragment par défaut".  Cliquez sur Suivant. La page "Contenu de fragment simple" apparaît.

Cette page est un peu différente de l'assistant de plug-in car elle comporte deux zones supplémentaires concernant l'ID et la version du plug-in cible. Comme nous créons un fragment pour un plug-in spécifique, nous pouvons cliquer sur le bouton Parcourir pour sélectionner le "Plug-in XYZ" dans le groupe "Plug-ins de l'espace de travail" (nous pourrions également sélectionner n'importe quel plug-in externe).

Une fois le projet créé, l'éditeur de manifeste de fragment s'exécute.

Cet éditeur est quasiment identique à l'éditeur de manifeste de plug-in à quelques exceptions près :

  1. L'attribut "classe" a disparu de la page Présentation.  Les fragments ne possèdent pas de classe de plug-in puisqu'ils suivent le cycle de vie de leur plug-in cible.  En revanche, l'ID et la version du plug-in cible sont affichés.

  2. L'éditeur ne comporte pas de page Dépendences.  Si vous sélectionnez le fragment de projet et Propriétés->Chemin de compilation, vous pouvez constater que le fragment et le plug-in cible partagent le même chemin de compilation.

Nous allons ajouter un ensemble d'actions similaire à celui du plug-in mais cette fois en allemand. Pour ce faire :

  1. Ouvrez la page  Extensions de l'éditeur de manifeste de fragment. Cliquez sur Nouveau pour lancer l'assistant Extension.
  2. Sélectionnez "Assistants génériques" et "Extension créée en fonction du schéma". Cliquez sur Suivant
  3. Sélectionnez "Ensembles d'actions" dans la liste des points d'extension. Cliquez sur Terminer.
  4. Sélectionnez le nouvel ensemble d'actions. Sélectionnez Nouveau->Ensemble d'actions dans le menu contextuel.
  5. Dans la page de propriétés, changez la propriété label en "Deutsche Aktionsmenge."
  6. Allez à la section "Elément d'extension secondaire", puis sélectionnez Nouveau->menu dans le menu contextuel.
  7. Changez la propriété label en "Beispiel Menu", et la propriété id en "beispielMenu."
  8. Sélectionnez de nouveau l'élément de menu, puis Nouveau->séparateur dans le menu contextuel. Modifiez son nom en "beispielGruppe", puis enregistrez-le.
  9. Créez un élément "action" (de la même façon qu'à l'étape 6). Définissez la propriété label en "Beispiel Aktion" et la propriété menubarPath en "beispielMenu/beispielGruppe."
  10. Sélectionnez la propriété class pour la modifier, et affichez la boîte de dialogue de l'éditeur de cellule. Sélectionnez le bouton d'option "Générer une nouvelle classe".
  11. Recherchez le conteneur de classe, puis sélectionnez le dossier "Fragment allemand" dans le projet "com.example.german".
  12. Changez le nom de la classe en "DeutscheBeispielAktion". Cliquez sur Terminer.
  13. Lorsque la nouvelle classe apparaît dans l'éditeur Java, recherchez la méthode "run" et ajoutez l'instruction suivante :

System.out.println("Hallo, PDE welt!");

Enregistrez le fichier, puis fermez l'éditeur Java et l'éditeur de manifeste de fragment.

Lorsque vous exécutez le fragment en cliquant sur le bouton "Exécuter" de la barre d'outils, la liste d'actions de l'instance de la plateforme d'exécution doit comporter l'ensembles d'actions "Deutsche Aktionsmenge". (Pour accéder à la liste d'actions, sélectionnez Perspective->Personnaliser...->Autre). Si vous activez cet ensemble d'actions, le menu "Beispiel Menu" doit apparaître dans la barre d'outils. Lorsque vous sélectionnez sa commande de menu, le message "Hallo, PDE welt!" apparaît sur la console. La plateforme d'exécution n'accède pas directement au fragment allemand. En fait, le registre du plug-in a tout d'abord résolu les références aux fragments de telle sorte que l'ensemble d'actions du fragment soit présenté à la plateforme comme s'il était directement extrait du plug-in XYZ.