org.eclipse.ui.actionSets

Il plug-in può fornire menu e voci ai menu e alla barra degli strumenti del workbench mediante il punto di estensione org.eclipse.ui.actionSets. I contributi sono raggruppati in serie di azioni, che possono essere visualizzate in base alle preferenze dell'utente, per evitare che vengano mostrati contemporaneamente i contributi di tutti i plug-in.

È possibile visualizzare le serie di azioni che hanno contribuito al workbench, selezionando Prospettiva->Personalizza... dal menu del workbench. La selezione consente di visualizzare una finestra di dialogo in cui sono elencate tutte le serie di azioni disponibili. Un segno di spunta accanto alla serie indica che le azioni del menu e della barra degli strumenti sono visibili nel workbench. Se si seleziona il nome della serie, sulla destra viene visualizzato l'elenco delle azioni disponibili. L'immagine sotto riportata mostra l'elenco delle serie di azioni disponibili nel workbench.  Il workbench dell'utente potrebbe avere un aspetto differente a seconda dei plug-in installati e della prospettiva attiva.

Lo strumento readme contribuisce all'azione di "apertura browser del readme" nel menu del workbench attraverso una serie di azioni  (un'azione identica è stata fornita al menu di scelta rapida del navigator delle risorse.  Il tag ha il seguente aspetto:

<extension 
    point = "org.eclipse.ui.actionSets">
    <actionSet id="org_eclipse_ui_examples_readmetool_actionSet"
        label="ReadMe Actions"
        visible="true">
        <menu id="org_eclipse_ui_examples_readmetool"
            label="Readme &amp;File Editor"
            path="window/additions"> 
            <separator name="slot1"/>
            <separator name="slot2"/>
            <separator name="slot3"/>
        </menu>
        <action id="org_eclipse_ui_examples_readmetool_readmeAction"
            menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
            toolbarPath="readme"
            label="&amp;Open Readme Browser@Ctrl+R"
            tooltip="Open Readme Browser"
            helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
            icon="icons/basic/ctool16/openbrwsr.gif"
            class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
            enablesFor="1">
            <selection class="org.eclipse.core.resources.IFile"
                name="*.readme">
            </selection>
        </action>
    </actionSet>
</extension>

Da un'analisi dettagliata del tag sopra riportato si evincono i seguenti aspetti. 

Innanzitutto la serie di azioni viene dichiarata e fornita di un'etichetta.  L'etichetta "ReadMe Actions" viene utilizzata per visualizzare la serie di azioni nella finestra di dialogo sopra riportata.  Poiché visible è stato impostato su true, la serie di azioni inizialmente apparirà nell'elenco con un segno di spunta accanto e le azioni saranno visibili nel workbench.

Il resto della dichiarazione è volto a definire l'azione e il menu nel quale essa deve essere mostrata.

Nell'esempio è stato definito un menu la cui etichetta ("Editor del & file Readme") viene visualizzata nei menu del workbench.  Il percorso del menu indica al workbench di posizionare il nuovo menu negli slot Aggiunte del menu Finestra.  Per una trattazione relativa a percorsi e slot di menu, consultare la sezione Percorsi di menu e barre degli strumenti.  Nell'esempio vengono definiti nel nuovo menu alcuni slot da utilizzare per inserire azioni in posizioni specifiche del menu.

L'operazione è sufficiente per far visualizzare il menu all'interno del menu Finestra del workbench.

Successivamente, è stata definita l'azione.  La definizione dell'azione (id, label, icon, class) è identica a quella utilizzata per visualizzazioni, editor e menu di scelta rapida.  La differenza è costituita dal percorso dell'azione:   in questo caso, sono stati utilizzati   menubarPath e toolbarPath per indicare la posizione.  In primo luogo, l'azione è stata aggiunta a uno slot del menu appena definito.  

Quindi, è stato definito un nuovo toolbarPath per inserire l'azione nella barra degli strumenti del workbench.  Poiché si tratta del percorso di un nuovo strumento, il workbench ne decide la posizione in relazione ai contributi alla barra degli strumenti apportati dagli altri plug-in.

Si osservi che per questa azione sono fornite anche le condizioni di attivazione.  Le voci del menu e della barra degli strumenti saranno attivate soltanto nel momento in cui sarà selezionato un singolo (enablesFor="1") file readme (selectionClass ="org.eclipse.core.resources.IFile" name="*.readme").

Queste voci del menu e della barra degli strumenti vengono visualizzate e attivate esclusivamente in base al tag del file plugin.xml.  Nessun codice di plug-in verrà eseguito finché l'azione non verrà scelta dall'utente e la classe dell'azione non verrà eseguita dal workbench.

La classe deve implementare IWorkbenchWindowActionDelegate o IWorkbenchWindowPulldownDelegate quando la serie di azioni viene visualizzata come un elenco a discesa in una barra degli strumenti.  Poiché nell'esempio non è stato creato alcun elenco a discesa, è stata fornita la classe WindowActionDelegate,  che è uguale a ObjectActionDelegate.  Questa classe avvia la finestra di dialogo delle sezioni readme quando l'utente sceglie l'azione . La finestra di dialogo delle sezioni sarà illustrata in Finestre di dialogo dell'applicazione.