Menús, barras de tareas y acciones del editor

Identificador: org.eclipse.ui.editorActions

Descripción: Este punto de extensión se utiliza para añadir acciones a las barras de menú y de herramientas para los editores registrados por otros plug-ins.

El conjunto de contribución inicial para un editor lo define otro punto de extensión (org.eclipse.ui.editors). Todas las instancias del mismo tipo de editor crean y comparten un conjunto de acciones.  Cuando se recurre a una de ellas, esta acción actúa sobre el editor activo.  Este punto de extensión actúa del mismo modo.  Todas las instancias del mismo tipo de editor crean y comparten cada extensión de acción.  La clase de acción es necesaria para implementar org.eclipse.ui.IEditorActionDelegate.  El editor activo pasa al delegado al recurrir a IEditorActionDelegate#setActiveEditor.

Señalamiento de configuración:

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

  • id - identificador único que puede utilizarse para denominar esta contribución
  • editorId - identificador único de un editor registrado previamente que constituye el objetivo de esta 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 la última señal 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 traducido. 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). Los modificadores pueden encadenarse utilizando el signo '+' como delimitador (como en @Ctrl+Shift+S).
    Ejemplos:

    A continuación podemos observar un ejemplo de punto de extensión de acción de editor:

       <extension point="org.eclipse.ui.editorActions">
          <editorContribution
             id="com.xyz.xyzContribution"
             targetID="com.ibm.XMLEditor">
             <menu id="com.xyz.xyzMenu" label="&amp;XYZ Menu">
                <separator name="group1"/>
             </menu>
             <action id="com.xyz.runXYZ"
                  label="&amp;Ejecutar herramienta XYZ"
                  menubarPath="com.xyz.xyzMenu/grupo1"
                  toolbarPath="Normal/XYZ"
                  state="true"
                  icon="icons/runXYZ.gif"
                  tooltip="Ejecutar herramienta XYZ"
                  helpContextId="com.xyz.run_action_context"
                  class="com.xyz.actions.RunXYZ">
             </action>
          </editorContribution>
       </extension>

    En el ejemplo anterior, la acción especificada aparecerá como un elemento de recuadro de selección en el menú, y como un botón conmutador en la barra de herramientas.

    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.IEditorActionDelegate. 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. Cada vez que se active un editor del tipo especificado, se solicitará el método setActiveEditor. Solamente se creará un conjunto de acciones y menú para todas las instancias del tipo de editor especificado, sin reparar en el número de instancias del editor que se hallen abiertas en el entorno de trabajo.

    Este punto de extensión puede utilizarse para contribuir acciones en los menús creados previamente por el editor de objetivos. Además, los menús y las acciones pueden contribuirse a la ventana del entorno de trabajo.  Los identificadores para las acciones y los grupos principales incluidos en la ventana del entorno de trabajo están definidos en org.eclipse.ui.IWorkbenchActionConstants.  Éstos deben utilizarse como punto de referencia para la adición de nuevas acciones.  Los menús de alto nivel se crean utilizando los siguientes valores para el atributo path:

    Las acciones y los menús añadidos a estas vías de acceso únicamente se mostrarán mientras esté activo el editor asociado. Cuando éste se cierre, los menús y las acciones serán eliminados.

    Implementación suministrada: El entorno de trabajo proporciona de serie un "editor de textos por omisión". Los plug-ins pueden contribuir en este editor por omisión o en los editores proporcionados por otros plug-ins.

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