Jeux d'actions

Identificateur : org.eclipse.ui.actionSets

Description : ce point d'extension est utilisé pour ajouter des menus, des options de menu et des boutons de barre d'outils aux zones communes de la fenêtre du plan de travail. Ces contributions sont collectivement connues sous le nom de jeu d'actions et apparaissent dans la fenêtre du plan de travail via les préférences utilisateur.

Marques de configuration :

   <!ELEMENT actionSet (menu)* (action)* (description?)>
   <!ATTLIST actionSet
      id        CDATA #REQUIRED
      label     CDATA #REQUIRED
      visible   (true | false) #IMPLIED
    >
    <!ELEMENT description (#PCDATA)>

   <!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 et des sous-menus peuvent être ajoutés.
  •    <!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
          pulldown          (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > Il est important de noter que le plan de travail ne génère pas de menu au nom du plug-in : les chemins d'accès au menu doivent faire référence aux menus qui existent déjà.

    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 d'une série de modificateurs et du caractère final du raccourci-clavier (par exemple, &amp;Save@Ctrl+S). Le modificateur peut être chaîné à l'aide du signe "+" comme délimiteur (comme dans @Ctrl+Maj+S).
    Exemples :

    L'exemple ci-dessous décrit un jeu d'actions (notez les sous-éléments et la façon dont sont utilisés les attributs) :

        <extension point = "org.eclipse.ui.actionSets">
            <actionSet id="com.xyz.actionSet"
                label="My Actions"
                visible="true">
                <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>
            </actionSet>
        </extension>

    Dans l'exemple ci-dessus, l'action spécifiée, désignée par "My Actions", est initialement visible dans chaque perspective. Elle n'active qu'une seule sélection (l'attribut enablesFor). De plus, les objets de la sélection doivent implémenter l'interface spécifiée (IFile) et être un fichier Java.

    Informations d'API : la valeur de l'attribut class doit être le nom complet qualifié d'une classe qui implémente org.eclipse.ui.IWorkbenchWindowActionDelegate ou org.eclipse.ui.IWorkbenchWindowPulldownDelegate. Cette dernière doit être implémentée dans les cas où la valeur de l'attribut pulldown est "true". Cette classe est chargée aussi tard que possible afin d'éviter le chargement du plug-in tout entier avant que cela ne soit réellement nécessaire.

    Implémentation fournie : les plug-ins peuvent utiliser ce point d'extension pour ajouter de nouveaux menus de niveau supérieur (par exemple, Débogage). Les plug-ins peuvent également définir des groupes désignés qui permettent aux autres plug-ins d'y ajouter leurs actions.

    Des menus de niveau supérieur sont créés à l'aide de la valeur suivante pour l'attribut path :

    L'omission de l'attribut path entraîne l'ajout du nouveau menu au groupe de la barre de menus additions.

    Les groupes par défaut dans une fenêtre du plan de travail sont définis dans l'interface IWorkbenchActionConstants. Ces constantes peuvent être utilisées dans du code pour une contribution dynamique. Les valeurs peuvent être également copiées dans un fichier XML pour une intégration étroite aux menus et à la barre d'outils existants dans le plan de travail.

    Diverses options de menu et de barre d'outils dans la fenêtre du plan de travail sont définies par algorithme. Dans ce genre de cas, un mécanisme distinct peut être utilisé pour étendre la fenêtre. Par exemple, l'ajout d'une nouvelle vue du plan de travail entraîne l'affichage d'une nouvelle option dans le menu Perspective. Les extensions Importation, Exportation et Nouveaux assistants sont également ajoutées automatiquement à la fenêtre.
     

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