org.eclipse.ui.viewActions

Generalmente i plug-in forniscono funzionalità a viste già esistenti nel workbench. Il contributo viene offerto mediante il punto di estensione org.eclipse.ui.viewActions. Questo punto di estensione consente ai plug-in di contribuire con voci di menu, sottomenu e barre degli strumenti a un menu a discesa e a una barra degli strumenti locali di una vista esistente.

Nella barra degli strumenti locale del pannello di selezione è presente un elemento che diventa attivo ogni qualvolta viene selezionato un file readme. Lo stesso elemento viene visualizzato nel menu a discesa locale del pannello di selezione. Queste azioni vengono mostrate perché sono fornite dal plug-in dello strumento readme mediante l'estensione viewActions.

Il contributo rilevante per plugin.xml è il seguente:

<extension
    point = "org.eclipse.ui.viewActions">
      <viewContribution 
         id="org.eclipse.ui.examples.readmetool.vc1" 
         targetID="org.eclipse.ui.views.ResourceNavigator">        
	   <action id="org.eclipse.ui.examples.readmetool.va1" 
              label="%PopupMenu.ResourceNav.label" 
	       menubarPath="additions"
              toolbarPath="additions" 
              icon="icons/obj16/editor.gif" 
              tooltip="%PopupMenu.ResourceNav.tooltip" 
   	      helpContextId="org.eclipse.ui.examples.readmetool.view_action_context"
              class="org.eclipse.ui.examples.readmetool.ViewActionDelegate" 
              enablesFor="1"> 
		<selection class="org.eclipse.core.resources.IFile" name="*.readme"/> 
	    </action>
      </viewContribution>
 </extension>

È specificato un contributo di visualizzazione con un unico id. La vista a cui viene aggiunta l'azione è specificata nel targetID. Il contributo viene aggiunto al menu di selezione risorse.  È necessario specificare l'etichetta e i percorsi della barra del menu e della barra degli strumenti per la nuova azione.   Per una trattazione relativa ai percorsi di menu e barre degli strumenti, consultare la sezione Percorsi di menu e barre degli strumenti.

È necessario specificare anche le condizioni in cui l'azione deve essere attivata. Nel caso specifico, questa azione sarà attivata in presenza di una selezione (enablesFor="1") di tipo IFile (class="org.eclipse.core.resources.IFile"), che abbia ".readme" come estensione del file (name="*.readme"). L'azione, ad esempio, sarà attivata se si fa clic nel pannello di selezione risorse.  

L'informazione presente nel plugin.xml è sufficiente per aggiungere voci ai menu e alla barra degli strumenti poiché il codice di plug-in verrà eseguito solo quando l'azione sarà effettivamente selezionata dal menu o dalla barra degli strumenti. Per fornire la funzione dell'azione, la classe di implementazione specificata in plugin.xml deve implementare l'interfaccia IViewActionDelegate.

In questo esempio, il plug-in di readme fornisce ViewActionDelegate per implementare l'azione. L'esplorazione di questa classe mostra che essa include metodi per mantenere traccia della vista, gestire le modifiche di selezione e richiamare l'azione.  Quando viene richiamata, l'azione avvia semplicemente una finestra di dialogo nella quale viene segnalata la sua esecuzione.

public void run(org.eclipse.jface.action.IAction action) {
MessageDialog.openInformation(view.getSite().getShell(),
		MessageUtil.getString("Readme_Editor"),  
		MessageUtil.getString("View_Action_executed")); 
}

Sebbene questa azione sia semplice, si può immaginare che l'utilizzo di selezioni e finestre di dialogo più funzionali possano renderla più complessa.

Copyright IBM Corporation e altri 2000, 2003.