Serie di azioni

Identificativo: org.eclipse.ui.actionSets

Descrizione: questo punto di estensione viene utilizzato per aggiungere menu, voci di menu e pulsanti della barra degli strumenti alle aree comuni presenti nella finestra del workbench. Questi contributi sono conosciuti collettivamente come serie di azioni e vengono visualizzati nella finestra del workbench in base alle preferenze dell'utente.

Tag di configurazione:

   <!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 - un nome del separatore a cui si può in seguito fare riferimento come ultimo token nel percorso dell'azione. Pertanto, i separatori fungono da gruppi denominati in cui è possibile aggiungere azioni e sottomenu.
  •    <!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
       > Si osservi che il workbench non genera menu per conto del plug-in: i percorsi di menu devono fare riferimento a menu già presenti.

    I criteri di abilitazione per l'estensione di un'azione vengono definiti inizialmente da enablesFor e selection.  Tuttavia, dopo aver creato l'istanza di gestione dell'azione, è possibile controllare lo stato di abilitazione dell'azione utilizzando direttamente il relativo metodo selectionChanged.

    L'utente può includere nelle etichette delle azioni e dei menu caratteri speciali, che codificano tasti di scelta e tasti di scelta rapida, utilizzando le seguenti regole:

    1. I tasti di scelta vengono specificati mediante il carattere e commerciale ('&') davanti al carattere selezionato nel testo tradotto. Dal momento che il carattere e commerciale non è supportato nelle stringhe XML, utilizzare il carattere &amp;.
    2. I tasti di scelta rapida facoltativi vengono specificati alla fine della stringa del nome, utilizzando @ seguito da una serie di modificatori e il carattere di scelta rapida finale (ad esempio, &amp;Save@Ctrl+S). I modificatori possono essere uniti tramite il simbolo '+' come il delimitatore (ad esempio, @Ctrl+Shift+S).
    Esempi:

    di seguito viene riportato un esempio di una serie di azioni (si notino i sottoelementi e il modo in cui vengono utilizzati gli attributi):

        <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>

    Nell'esempio sopra riportato, l'azione specificata, denominata "My Actions", può inizialmente essere visualizzata in ciascuna prospettiva.  Viene abilitata per una sola selezione (attributo enablesFor). Inoltre, gli oggetti all'interno della selezione devono implementare l'interfaccia specificata (IFile) e devono essere un file Java.

    Informazioni API: il valore dell'attributo class deve costituire il nome completo di una classe che implementa org.eclipse.ui.IWorkbenchWindowActionDelegate o org.eclipse.ui.IWorkbenchWindowPulldownDelegate.  Il secondo viene implementato nei casi in cui pulldown sia true.  Questa classe viene caricata il più tardi possibile per evitare di caricare l'intero plug-in prima che sia realmente necessario.

    Implementazione fornita: i plug-in possono utilizzare questo punto di estensione per aggiungere nuovi menu di livello superiore (ad esempio, debug). I plug-in possono anche definire gruppi denominati mediante i quali altri plug-in possono fornire il proprio contributo.

    I menu di livello superiore vengono creati utilizzando per l'attributo path i seguenti valori:

    Se l'attributo path viene omesso, il nuovo menu viene aggiunto nel gruppo della barra dei menu additions.

    I gruppi predefiniti di una finestra del workbench sono definiti nell'interfaccia IWorkbenchActionConstants.  È possibile utilizzare queste costanti in codice per un contributo dinamico.  È anche possibile copiare i valori in un file XML per integrarli in maniera precisa con i menu e la barra degli strumenti presenti sul workbench.

    Diversi elementi del menu e della barra degli strumenti presenti nella finestra del workbench sono definiti mediante algoritmi.  In questi casi, è necessario utilizzare un meccanismo separato per estendere la finestra.  Ad esempio, l'aggiunta di una nuova visualizzazione del workbench determina la visualizzazione di un nuovo elemento nel menu Prospettiva. Anche le estensioni relative a Importazione, Esportazione e Nuove procedure guidate vengono aggiunte automaticamente alla finestra.
     

    Copyright IBM Corp. 2000, 2001. Tutti i diritti riservati.