Menús, barras de herramientas y acciones de vistas

Identificador: org.eclipse.ui.viewActions

Descripción: Este punto de extensión se utiliza para añadir acciones al menú y la barra de herramientas para vistas registradas por otros plug-ins. Cada vista posee un menú desplegable local, que se activa generalmente al pulsar en el área superior derecha. Otros plug-ins pueden contribuir submenús y acciones a este menú. Los plug-ins pueden también contribuir acciones para una barra de herramientas de vista. Los propietarios de la vista son los primeros en recibir la opción de poblar estas áreas. Las adiciones opcionales de otros plug-ins se añaden.

Señalamiento de configuración:

   <!ELEMENT viewContribution (menu | action)*>
   <!ATTLIST viewContribution
      id         CDATA #REQUIRED
      targetID   CDATA #REQUIRED
   >

  • id - identificador único que puede utilizarse para denominar esta contribución
  • targetID - identificador exclusivo de la vista (como se especifica en el registro) a la cual se efectúa la contribución.
  •    <!ELEMENT menu (separator)+>
       <!ATTLIST menu
          id         CDATA #REQUIRED
          label      CDATA #REQUIRED
          path       CDATA #IMPLIED
       >    <!ELEMENT separator EMPTY>
       <!ATTLIST separator
          name       CDATA #REQUIRED
       >
  • name - nombre del separador que más tarde puede ser mencionado como el último símbolo de la vía de acceso de la acción. Por tanto, los separadores sirven como grupos nominados en los cuales pueden añadirse acciones.
  •    <!ELEMENT action (selection)*>
       <!ATTLIST action
          id                NMTOKEN #REQUIRED
          label             CDATA #REQUIRED
          menubarPath       CDATA #IMPLIED
          toolbarPath       CDATA #IMPLIED
          icon              CDATA #IMPLIED
          tooltip           CDATA #IMPLIED
          helpContextId     CDATA #IMPLIED
          state             (true | false) #IMPLIED
          class             CDATA #REQUIRED
          enablesFor        CDATA #IMPLIED
       >    <!ELEMENT selection EMPTY>
       <!ATTLIST selection
          class             CDATA #REQUIRED
          name              CDATA #IMPLIED
       > Los criterios de habilitación para la extensión de una acción son definidos inicialmente por enablesFor y selection.  Sin embargo, una vez que la acción delegada ha sido solicitada, podrá controlar el estado de habilitación de la acción directamente dentro de su método selectionChanged.

    Las etiquetas de acción y de menú pueden contener caracteres especiales que codifican mnemotécnicos y aceleradores utilizando las reglas siguientes:

    1. Los mnemotécnicos se especifican utilizando el signo "y comercial" ('&') delante de un carácter seleccionado del texto traducible. Como no se permite usar el signo "y comercial" en las series XML, utilice el carácter &amp;.
    2. Los aceleradores opcionales se especifican al final de la cadena de caracteres del nombre, utilizando @ seguido de una serie de modificadores y el carácter acelerador final (por ejemplo, &amp;Save@Ctrl+S). Lo modificado puede encadenarse utilizando el signo '+' como delimitador (como en @Ctrl+Shift+S).
    Ejemplos:

    A continuación vemos un ejemplo de punto de extensión de acciones de vista (adviértanse los subelementos y la manera de utilizar los atributos):

       <extension point="org.eclipse.ui.viewActions">
          <viewContribution
             id="com.xyz.xyzViewC1"
             targetID="org.eclipse.ui.views.navigator.ResourceNavigator">
             <menu id="com.xyz.xyzMenu"
                label="Menú XYZ"
                path="additions">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Run XYZ Tool"
                  menubarPath="com.xyz.xyzMenu/group1"
                  toolbarPath="Normal/XYZ"
                  icon="icons/runXYZ.gif"
                  tooltip="Run XYZ Tool"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ"
                  enablesFor="1"/>
                  <selection class="org.eclipse.core.resources.IFile" name="*.java">
             </action>
         </viewContribution>
       </extension>

    En el ejemplo anterior, la acción especificada habilitará únicamente una selección (atributo enablesFor). Por añadidura, los objetos de esta selección deben implementar el interfaz especificado (IFile) y deben ser archivos de Java. Pueden especificarse múltiples elementos de selection, significando "uno de".

    Información del API: El valor del atributo class debe ser un nombre totalmente calificado de una clase de Java que implemente org.eclipse.ui.IViewActionDelegate. Este interfaz se cargará lo más tarde posible a fin de evitar cargar el plug-in en su totalidad antes de que sea verdaderamente necesario. Extiende org.eclipse.ui.IActionDelegate y añade un método adicional que permite al delegado inicializar con la instancia de vista que éste contribuye.

    Información suministrada: Cada vista por lo general posee varios elementos estándar en el menú desplegable y en la barra de herramientas local. Las adiciones efectuadas por otros plug-ins se añadirán al complemento estándar.  Es útil publicar los identificadores de acción de una vista dentro de un interfaz público.  Por ejemplo, las acciones y los grupos principales de la ventana del entorno de trabajo están definidos en org.eclipse.ui.IWorkbenchActionConstants.

    Copyright IBM Corp. 2000, 2001.  Reservados todos los derechos.