Menus Vue, Barres d'outils et Actions

Identificateur : org.eclipse.ui.viewActions

Description : ce point d'extension est utilisé pour ajouter des actions au menu et à la barre d'outils pour les vues enregistrées par d'autres plug-ins. Chaque vue comporte un menu déroulant local que l'on active normalement en cliquant dans la zone supérieure droite. D'autres plug-ins peuvent ajouter des sous-menus et des actions à ce menu. Les plug-ins peuvent également ajouter des actions à la barre d'outils d'une vue. Les propriétaires de vue reçoivent en premier l'opportunité de remplir ces zones. Des ajouts optionnels sont réalisés par d'autres plug-ins.

Marques de configuration :

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

  • id : identificateur unique pouvant être utilisé pour faire référence à la contribution.
  • targetID : identificateur unique de la vue (comme spécifié dans le registre) dans lequel la contribution est réalisée.
  •    <!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 du 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 mnémonique dans le texte traduisible. 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 d'une 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 ci-dessous décrit un point d'extension d'actions de vue (notez les sous-éléments et la façon dont sont utilisés les attributs) :

       <extension point="org.eclipse.ui.viewActions">
          <viewContribution
             id="com.xyz.xyzViewC1"
             targetID="org.eclipse.ui.views.navigator.ResourceNavigator">
             <menu id="com.xyz.xyzMenu"
                label="XYZ Menu"
                path="additions">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ"
                  enablesFor="1"/>
                  <selection class="org.eclipse.core.resources.IFile" name="*.java">
             </action>
         </viewContribution>
       </extension>

    Dans l'exemple ci-dessus, l'action spécifiée n'active qu'une seule sélection (l'attribut enablesFor). De plus, chaque objet de la sélection doit implémenter l'interface spécifiée (IFile) et être un fichier Java. Plusieurs éléments selection peuvent être spécifiés, signifiant "l'un de".

    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.IViewActionDelegate. 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. Elle étend org.eclipse.ui.IActionDelegate et ajoute une méthode supplémentaire qui permet au délégué de s'initialiser avec la nouvelle instance à laquelle elle contribue.

    Implémentation fournie : chaque vue est généralement fournie avec un certain nombre d'options standard dans le menu déroulant et la barre d'outils locale. Les ajouts émanant d'autres plug-ins sont annexés au complément standard. Il est utile de publier les identificateurs d'action pour une vue dans une interface publique. Par exemple, les actions et les groupes majeurs destinés à la fenêtre du plan de travail sont définis dans org.eclipse.ui.IWorkbenchActionConstants.

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