Menus Editeur, Barres d'outils et Actions

Identificateur : org.eclipse.ui.editorActions

Description : ce point d'extension est utilisé pour ajouter des actions au menu et à la barre d'outils d'éditeurs enregistrés par d'autres plug-ins.

Le jeu de contributions initial d'un éditeur est défini par un autre point d'extension (org.eclipse.ui.editors). Un jeu d'actions est créé et partagé par toutes les instances du même type d'éditeur. Une fois appelée, cette action agit sur l'éditeur actif. Ce point d'extension suit le même schéma. Chaque extension d'action est créée et partagée par toutes les instances du même type d'éditeur. La classe d'action est requise pour implémenter org.eclipse.ui.IEditorActionDelegate. L'éditeur actif est transmis au délégué en invoquant IEditorActionDelegate#setActiveEditor.

Marques de configuration :

   <!ELEMENT editorContribution (menu | action)*>
   <!ATTLIST editorContribution
      id         CDATA #REQUIRED
      targetID   CDATA #REQUIRED
   >

  • id : identificateur unique pouvant être utilisé pour faire référence à cette contribution.
  • editorID : identificateur unique d'un éditeur précédemment enregistré et qui est la cible de cette contribution.
  •    <!ELEMENT menu (separator)+>
       <!ATTLIST menu
          id         CDATA #REQUIRED
          label      CDATA #REQUIRED
          path       CDATA #IMPLIED
       >    <!ELEMENT separator EMPTY>
       <!ATTLIST separator
          name       CDATA #REQUIRED
       >
  • name : nom du séparateur auquel il peut être ultérieurement fait référence en tant que dernier jeton dans le chemin d'accès de l'action. De ce fait, les séparateurs servent de groupes désignés dans lesquels des actions peuvent être ajoutées.
  •    <!ELEMENT action (selection)*>
       <!ATTLIST action
          id                NMTOKEN #REQUIRED
          label             CDATA #REQUIRED
          menubarPath       CDATA #IMPLIED
          toolbarPath       CDATA #IMPLIED
          icon              CDATA #IMPLIED
          tooltip           CDATA #IMPLIED
          helpContextId     CDATA #IMPLIED
          state             (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > Les critères d'activation pour une extension d'action sont initialement définis par enablesFor et selection. Cependant, une fois le délégué d'action instancié, il peut contrôler l'état d'activation de l'action directement dans sa méthode selectionChanged.

    Les libellés d'actions et de menus peuvent contenir des caractères spéciaux qui encodent les mnémoniques et les raccourcis-clavier en respectant les règles suivantes :

    1. Les mnémoniques sont spécifiées à l'aide du caractère perluète (&) placé devant un caractère sélectionné dans le texte traduit. Comme le caractère perluète n'est pas autorisé dans les chaînes XML, utilisez l'entité de caractère &amp;.
    2. Des raccourcis-clavier optionnels sont spécifiés à la fin du nom de la chaîne, à l'aide du caractère @, suivi de la série de modificateurs et du caractère final du raccourci-clavier (par exemple, &amp;Save@Ctrl+S). Les modificateurs peuvent être chaînés à l'aide du signe "+" comme délimiteur (comme dans @Ctrl+Maj+S).
    Exemples :

    L'exemple suivant est celui d'un point d'extension d'action d'éditeur :

       <extension point="org.eclipse.ui.editorActions">
          <editorContribution
             id="com.xyz.xyzContribution"
             targetID="com.ibm.XMLEditor">
             <menu id="com.xyz.xyzMenu" label="&amp;XYZ Menu">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  state="true"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ">
             </action>
          </editorContribution>
       </extension>

    Dans l'exemple ci-dessus, l'action spécifiée apparaît sous la forme d'une option de case à cocher dans le menu et comme bouton à bascule dans la barre d'outils.

    Informations d'API : la valeur de l'attribut class doit être un nom complet qualifié d'une classe Java qui implémente org.eclipse.ui.IEditorActionDelegate. Cette interface est chargée aussi tardivement que possible afin d'éviter le chargement du plug-in tout entier avant que cela ne soit réellement nécessaire. La méthode setActiveEditor sera appelée chaque fois qu'un éditeur du type spécifié est activé. Un seul jeu d'actions et de menus sera créé pour toutes les instances du type d'éditeur spécifié, quel que soit le nombre d'instances d'éditeur ouverts dans le plan de travail.

    Ce point d'extension peut être utilisé pour ajouter des actions aux menus précédemment créés par l'éditeur cible. De plus, des menus et des actions peuvent être ajoutés à la fenêtre du plan de travail. Les identificateurs d'actions et les principaux groupes de 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. Des menus de niveau supérieur sont créés à l'aide de la valeur suivante pour 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" intégré. Les plug-ins peuvent contribuer à cet éditeur par défaut ou à ceux fournis par d'autres plug-ins.

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