org.eclipse.ui.actionSets

Il plug-in può fornire menu, voci di menu e voci della barra degli strumenti 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.

E possibile visualizzare le serie di azioni che hanno contribuito al workbench, selezionando Finestra->Personalizza prospettiva... dal menu del workbench. Questa opzione consente di visualizzare una finestra di dialogo in cui sono elencati tutti i collegamenti e le serie di azioni disponibili per la prospettiva corrente.  Le serie di azioni sono elencate in Altro.  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.

Finestra
di dialogo Personalizza prospettiva con l'elenco delle serie di azioni

Lo strumento readme utilizza una serie di azioni per contribuire a diverse azioni di "apertura browser del readme" nel menu del workbench.  (Un'azione analoga è 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="%ActionSet.name"
		   visible="true">
		   <menu id="org_eclipse_ui_examples_readmetool"
			   label="%ActionSet.menu"
			   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="%ReadmeAction.label"
			   tooltip="%ReadmeAction.tooltip"
			   helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
			   icon="icons/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" (definita per la chiave %ActionSet.name nel file delle proprietà del plug-in) 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 accanto e le azioni saranno visibili nel workbench.

Il resto della dichiarazione è volto a definire le azioni e il menu nel quale devono essere visualizzate.

Nell'esempio è stato definito un menu la cui etichetta viene visualizzata nel menu del workbench.  Il percorso del menu indica al workbench di posizionare il nuovo menu nello slot aggiunte del menu Finestra.  (Per una trattazione relativa a slot e percorsi e di menu, consultare Percorsi di menu e barre degli strumenti.)  Nell'esempio sono stati anche definiti alcuni slot nel nuovo menu che consentono di inserire le azioni in posizioni specifiche all'interno del menu.

Questo tag è sufficiente per far visualizzare il menu nel menu Finestra del workbench.

Menu
Finestra del workbench con la voce Editor del file readme

Successivamente, sono state definite le azioni vere e proprie.  

La definizione di un'azione (, , icon, class) è molto simile a quella di visualizzazioni, editor e menu di scelta rapida.  La differenza è costituita dal  percorso dell'azione.  In questo caso, vengono utilizzati  menubarPath e toolbarPath per indicare la posizione.  In primo luogo, è stato specificato il menubarPath per aggiungere l'azione a uno slot nel menu appena definito ( "window/org_eclipse_ui_examples_readmetool/slot1").

Editor
del file readme con le voci di menu

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

Barra
degli strumenti del workbench con l'azione del readme

Quando viene selezionata dall'utente, l'azione viene implementata dalla classe specificata nell'attributo class.  La classe dell'azione deve implementare IWorkbenchWindowActionDelegate oppure IWorkbenchWindowPulldownDelegate se l'azione verrà visualizzata come elemento degli strumenti a discesa nella barra degli strumenti.  Poiché non si è creato un elemento di questo tipo, è stata fornita la classe WindowActionDelegate,  che è simile alla classe ObjectActionDelegate  e avvia la finestra di dialogo relativa alle sezioni del readme alla selezione dell'azione da parte dell'utente.  (La finestra di dialogo relativa alle sezioni verrà trattata in Finestre di dialogo per applicazioni.)

L'azione fornisce anche le condizioni di attivazione per la voce del menu e la voce della barra degli strumenti.  Le voci del menu e della barra degli strumenti verranno attivate solo quando l'utente selezionerà un singolo (enablesFor="1") file readme (selectionClass ="org.eclipse.core.resources.IFile" name="*.readme").  Le voci del menu e della barra degli strumenti di questa azione vengono visualizzate e attivate mediante il tag nel 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.

Le altre due azioni saranno illustrate in seguito, nel contesto delle azioni ridestinabili.

Copyright
IBM Corp. e altri 2000,2002.