Editeurs internes et externes

Identificateur : org.eclipse.ui.editors

Description : ce point d'extension est utilisé pour ajouter de nouveaux éditeurs au plan de travail. Un éditeur est un composant visuel dans une page du plan de travail. Il est généralement utilisé pour éditer ou parcourir un document ou un objet d'entrée. Pour ouvrir un éditeur, l'utilisateur appelle généralement la commande "Open" (ouvrir) sur un IFile. Lorsque cette action est effectuée, le registre du plan de travail est consulté pour déterminer l'éditeur approprié au type de fichier, puis une nouvelle instance du type de l'éditeur est créée. Le résultat réel dépend du type de l'éditeur. Le plan de travail fournit le support pour la création des éditeurs internes qui sont étroitement intégrés au plan de travail et les éditeurs externes qui sont lancés dans un cadre de fenêtre distinct. Il existe divers niveaux d'intégration entre ces extrêmes.

Dans le cas d'un éditeur interne, une étroite intégration peut être obtenue entre la fenêtre du plan de travail et la partie éditeur. Le menu du plan de travail et la barre d'outils sont préchargés avec un certain nombre d'actions courantes, tel que couper, copier et coller. La partie active, vue ou éditeur, est supposée fournir l'implémentation de ces actions. Un éditeur interne peut également définir de nouvelles actions qui apparaissent dans la fenêtre du plan de travail. Ces actions apparaissent uniquement lorsque l'éditeur est actif.

L'intégration entre le plan de travail et les éditeurs externes est plus ténue. Dans ce cas, le plan de travail peut lancer un éditeur, mais ensuite il n'a aucun moyen pour déterminer l'état de l'éditeur externe ou collaborer avec lui par un quelconque moyen, excepté via le système de fichiers.

Marques de configuration :

   <!ELEMENT editor EMPTY>
   <!ATTLIST editor
      id                 CDATA #REQUIRED
      name               CDATA #REQUIRED
      icon               CDATA #IMPLIED
      class              CDATA #IMPLIED
      command            CDATA #IMPLIED
      launcher           CDATA #IMPLIED
      contributorClass   CDATA #IMPLIED
      extensions         CDATA #OPTIONAL
      filenames          CDATA #OPTIONAL
      default            CDATA (true|false) "false"

Exemples :

L'exemple suivant est celui d'une définition d'extension d'éditeur interne :

   <extension point="org.eclipse.ui.editors">
      <editor
         id="com.xyz.XMLEditor"
         name="Fancy XYZ XML editor"
         icon="./icons/XMLEditor.gif"
         extensions="xml"
         class="com.xyz.XMLEditor"
         contributorClass="com.xyz.XMLEditorContributor"
         default="false">
      </editor>
   </extension>

Informations d'API:

Si l'attribut command est utilisé, il est traité en tant que ligne de commande de programme externe qui sera exécutée de manière dépendante de la plateforme.

Si l'attribut launcher est utilisé, l'éditeur est également traité en tant que programme externe. Dans ce cas, la classe spécifiée doit implémenter org.eclipse.ui.IEditorLauncher. Le lanceur sera instancié, puis open(IFile file) sera appelé pour lancer l'éditeur.

Si l'attribut class est utilisé, le plan de travail présume qu'il s'agit d'un éditeur interne et que la classe spécifiée doit implémenter org.eclipse.ui.IEditorPart. Il est pratique courante de sous-classer org.eclipse.ui.EditorPart lors de la définition d'un nouveau type d'éditeur. Il est également nécessaire de définir un attribut contributorClass. La classe spécifiée doit implémenter org.eclipse.ui.IEditorActionBarContributor et est utilisée pour ajouter de nouvelles actions au menu et à la barre d'outils du plan de travail qui reflètent les fonctions du type d'éditeur.

Dans le plan de travail, plusieurs éditeurs d'un type spécifique peuvent être ouverts. Par exemple, il peut y avoir plusieurs éditeurs Java ouverts. Pour éviter la création d'actions dupliquées et d'images d'action, le concept de l'éditeur a été décomposé en deux parties. Un IEditorActionBarContributor est responsable de la création des actions. L'éditeur est responsable de l'implémentation des actions. En outre, l'élément de contribution est partagé par chaque éditeur ouvert. De cette conception résulte un seul jeu d'actions pour un ou plusieurs éditeurs ouverts.

L'élément de contribution ajoute de nouvelles actions au menu et à la barre d'outils du plan de travail qui reflètent le type d'éditeur. Ces actions sont partagées et une fois appelées, agissent sur l'éditeur actif. Ce dernier est transmis à l'élément de contribution en appelant IEditorActionBarContributor#setActiveEditor. Les identificateurs des actions et des groupes majeurs dans la fenêtre du plan de travail sont définis dans org.eclipse.ui.IWorkbenchActionConstants. Ils doivent être utilisés comme point de référence pour l'ajout de nouvelles actions. Les menus de niveau supérieur sont créés à l'aide de la valeur suivante de l'attribut path :

Les actions et les menus ajoutés à ces chemins d'accès ne s'affichent que lorsque l'éditeur associé est actif. Lorsque l'éditeur est fermé, les menus et les actions sont supprimés.

Implémentation fournie : le plan de travail fournit un "éditeur de texte par défaut". Le produit de l'utilisateur final peut contenir d'autres éditeurs faisant partie de l'offre de livraison. Dans ce cas, les éditeurs sont enregistrés en tant qu'extensions à l'aide de la syntaxe décrite ci-dessus.

Copyright IBM Corp. 2000, 2001. Tous droits réservés.