org.eclipse.ui.actionSets

Un conector puede contribuir con menús, elementos de menú y elementos de barra de herramientas a la barra de menús y de herramientas del entrono de trabajo mediante el punto de extensión org.eclipse.ui.actionSets. Para evitar la sensación de desorden que se tiene al mostrar a la vez todas las contribuciones de menú de los conectores, se han agrupado las contribuciones en conjuntos que pueden verse según la preferencia del usuario.

Puede ver con qué conjuntos de acciones se ha contribuido al entorno de trabajo seleccionando Perspectiva->Personalizar... del menú del entorno de trabajo. Aparecerá un diálogo con una lista de todos los conjuntos de acciones disponibles. Una marca de selección junto al diálogo significa que las acciones de la barra de menús y de de herramientas pueden verse en el entorno de trabajo. Puede seleccionar el nombre del conjunto de acciones para ver la lista de acciones disponibles en el lado derecho. La figura siguiente muestra la lista de conjuntos de acciones disponibles en el entorno de trabajo.  (El entorno de trabajo puede ser diferente dependiendo de lo conectores que haya instalado y de qué perspectiva esté activa.)

La herramienta readme utiliza un conjunto de acciones para contribuir con la acción "Abrir navegador de readme" al menú de entorno de trabajo.  (Se ha contribuido con una acción similar al menú emergente del navegador de recursos.)   A continuación, se muestra la marcación:

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

Puesto que esta marcación es bastante extensa, conviene explicarla paso a paso. 

En primer lugar, se declara el conjunto de acciones y se le proporciona una etiqueta.  La etiqueta "ReadMe Actions" se utiliza para visualizar el conjunto de acciones del diálogo que se ha mostrado anteriormente.  Puesto que visible se ha establecido en true (verdadero), en el entorno de trabajo aparecerá inicialmente este conjunto de acciones con una marca de selección en la lista de conjunto de acciones y las acciones podrán verse.

El resto de la declaración del conjunto de acciones hace referencia a la definición del menú en el que aparece la acción y a la acción misma.

Se define un menú cuya etiqueta ("Readme &File Editor") aparece en los menús del entorno de trabajo.  La vía de acceso del menú indica al entorno de trabajo que coloque el menú nuevo en la ranura Adiciones del menú Ventana.  (Para obtener más información sobre vías de acceso y ranuras, consulte Vías de acceso de la barra de menús y de herramientas.)  Se definen algunas ranuras en el nuevo menú que pueden utilizarse para insertar acciones en ubicaciones específicas del mismo.

Sólo esto ya es suficiente para hacer que el menú aparezca en el menú Ventana del entorno de trabajo.

A continuación, se define la acción.  La definición de la acción (id, etiqueta, icono, clase) es similar a las otras acciones que se han visto en vistas, editores y menús emergentes.  La diferencia radica  en el lugar al que se dirige la acción.  Se utiliza  menubarPath y toolbarPath para indicar la ubicación.  En primer lugar, se añade la acción en una ranura del menú que se acaba de definir.  

Después se define una vía de acceso de barra de herramientas (toolbarPath) nueva para insertar la acción en la barra de herramientas del entorno de trabajo.  Puesto que se trata de una vía de acceso nueva, el entorno de trabajo decidirá si será relativa a otras contribuciones de barra de herramientas del conector.

Observe que también se habilitan condiciones para esta acción.  El nuevo elemento de menú y el nuevo elemento de barra de herramientas sólo se habilitará cuando se seleccione un solo (enablesFor="1") archivo readme (selectionClass ="org.eclipse.core.resources.IFile" name="*.readme").

Estos elementos de barra de menú y de herramientas aparecen y se habilitan dependiendo únicamente de la marcación del archivo plugin.xml.  No se ejecutará ningún código de conector hasta que el usuario elija la acción y el entorno de trabajo ejecute la acción class.

La acción class debe implementar IWorkbenchWindowActionDelegate, o IWorkbenchWindowPulldownDelegate si el conjunto de acciones aparece como un menú desplegable en una barra de acciones.  Puesto que se crea un menú desplegable de barra de herramientas, se proporciona WindowActionDelegate.  Este clase es similar a ObjectActionDelegate.  Inicia el diálogo de secciones de readme cuando el usuario elige la acción.  En Diálogos de aplicación se tratará el diálogo de secciones.