org.eclipse.ui.viewActions

Los conectores suelen efectuar contribuciones a las funciones de vistas que ya existen en el entorno de trabajo. Esto se lleva a cabo mediante el punto de extensión org.eclipse.ui.viewActions. Este punto de extensión permite a los conectores contribuir con entradas de elementos de menú, de submenús y de barra de herramientas al menú desplegable local y a la barra de herramientas local de una vista existente.

Tal vez se haya dado cuenta de que en la barra de herramientas local de la vista del navegador hay un elemento que se habilita siempre que se selecciona un archivo readme. Este elemento también aparece en el menú desplegable local de la vista. Estas acciones aparecen porque el conector de la herramienta readme contribuye con ellas utilizando la extensión viewActions.

A continuación, se muestra la contribución pertinente del plugin.xml.

<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="&amp;Readme View Extension"
                    menubarPath="additions"
                    toolbarPath="additions" 
                    icon="icons/basic/obj16/editor.gif" 
                    tooltip="Run Readme View Extension" 
                    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>

Se ha especificado una contribución de vista con un identificador único. La vista a la que se añade la acción se ha especificado en el ID destino. Se efectúa una contribución al menú de la vista del navegador de recursos.  Se especifica la etiqueta junto a las ubicaciones de la barra de menús y de la barra de herramientas para la nueva acción.  (En Vías de acceso de barra de menús y de herramientas encontrará más información sobre ubicaciones de barra de menús y de herramientas).

También se especifican las condiciones bajo las que debe habilitarse la acción. Observe que esta acción se habilitará cuando hay una selección de tipoIFile, cuyo nombre incluye ".readme" en la extensión de archivo. Con toda certeza, esto es lo que ocurre cuando pulsa alrededor del navegador de recursos.  

La información del plugin.xml es lo único que se necesita para rellenar las barras de menús y de herramientas adecuadas. No se ejecutará ningún conector hasta que la acción se seleccione realmente en la barra de menús o de herramientas. La clase de implementación especificada en el plugin.xml debe implementar la interfaz IViewActionDelegate.

En este ejemplo, el conector readme suministra ViewActionDelegate para implementar la acción. Si examina esta clase, verá que incluye métodos para manejar cambios de selección, invocar la acción y recordar para qué se creó la vista.

La acción tan sólo inicia un diálogo que indica que se ha ejecutado la acción de la vista.

public void run(org.eclipse.jface.action.IAction action) {
    MessageDialog.openInformation(view.getSite().getShell(),
        "Readme Editor", 
        "View Action executed");
}

Aunque esta acción es simple, puede resultar más interesante mediante selecciones y diálogos más funcionales.