Página Extensiones

La página Extensiones permite examinar y editar extensiones de conectores. Las extensiones son el mecanismo central para contribuir aportando un comportamiento a la plataforma. A menos que el conector sea una biblioteca de API Java simple puesta a disposición de otros conectores, la contribución del comportamiento nuevo se aporta en forma de extensión.

Los conectores contribuyen a los puntos de extensión definidos por aquellos conectores que necesitan. La sintaxis de una extensión debe coincidir con la definición del punto de extensión para que pueda procesarse correctamente. El PDE calcula la lista total de puntos de extensión elegibles visitando todos los conectores visibles (tanto del área de trabajo como los externos).

El asistente de extensiones genérico proporcionado por el PDE tan solo explorará los puntos de extensión. Si se proporciona el esquema de una extensión (vea el tema Esquema de los puntos de extensión), el asistente extraerá del esquema la gramática y los metadatos del punto de extensión. 

Además del asistente genérico, están disponibles diversas plantillas de extensión. Son las mismas plantillas que las que sirven para generar el contenido inicial del proyecto de conector. Su presencia aquí le permite organizar por etapas la creación de la extensión. Puede crear un conector que tenga una vista simple y luego, más adelante, añadirle un editor o un asistente.

Ejemplo: añadir una extensión de conjuntos de acciones 

Para ilustrar el funcionamiento de la página Extensiones, añadiremos la acción 'Hello, PDE world' al conector. Haremos una contribución al punto de extensión org.eclipse.ui.actionSets. En este ejemplo se presupone que está familiarizado con los puntos de extensión.   

Empezaremos por pulsar el botón Añadir... para seleccionar el asistente de extensión:

Selección del asistente de extensión

El asistente Extensión basada en esquema es el asistente por omisión, porque maneja las extensiones de manera genérica. Explorará los conectores y ofrecerá todos los puntos de extensión que encuentre, con o sin esquemas. Los que tengan esquemas permitirán que el PDE ofrezca una ayuda mejor. Si falta el esquema de un punto de extensión, el PDE le permitirá añadir elementos y atributos a la extensión, pero no podrá verificar si son válidos para el punto de extensión seleccionado.

Cuando pulsa Siguiente, aparecerá una lista de puntos de extensión. Seleccione org.eclipse.ui.actionSets y pulse Finalizar.

Asistente basado en esquema: selección de punto de extensión

El asistente añadirá la extensión nueva a la lista de extensiones. Puesto que esta extensión tiene un esquema asociado a ella, podemos editar con más detalle la definición de la extensión. Seleccionamos la extensión que acabamos de añadir y elegimos Nuevo->actionSet en el menú emergente. Este elemento XML se ha definido como el único elemento válido que puede mostrarse en la definición de la extensión.  

El PDE creará valores por omisión para todos los atributos necesarios. Podemos cambiar el nombre por omisión del conjunto de acciones para que pase a ser "Conjunto de acciones de ejemplo"; para ello, seleccionamos el elemento y cambiamos la propiedad label en la vista Propiedades. El nombre nuevo se mostrará en la lista de extensiones.  

Página Extensiones del editor

Ahora tenemos que definir un menú y una acción para el conjunto de acciones. Si seleccionamos el conjunto de acciones y activamos el menú emergente en la sección "Hijos de elemento de extensión", el menú "Nuevo" ofrecerá dos opciones: menu y action. Estas opciones se basan en la información del esquema para la extensión de conjuntos de acciones. Primero crearemos el menú. 

  1. Seleccione Nuevo->menu para crear el menú.   
  2. Seleccione el objeto y cambie sus propiedades. Cambie la propiedad id por "sampleMenu" y la propiedad label por "Menú de ejemplo". 
  3. Teniendo todavía seleccionado el objeto menú, active un menú emergente y seleccione Nuevo->separator. Debe aparecer un hijo nuevo.
  4. Seleccione "separator" y cambie su propiedad name por "sampleGroup". En el menú se creará un grupo con nombre, que nos servirá para aportar la acción como contribución.

Podemos crear la acción de forma parecida:

  1. Seleccione Nuevo->action para crear una acción.   
  2. Seleccione el objeto y cambie sus propiedades. Cambie la propiedad label por "&Acción de ejemplo" y la propiedad menubarPath por "sampleMenu/sampleGroup". La acción se añadirá al menú que acabamos de definir.  

El último elemento que hay que establecer es la clase Java de la acción. La definición de punto de extensión especifica que una acción debe implementar la interfaz IWorkbenchWindowActionDelegate. El PDE puede ofrecer ayuda porque extrae esta información del esquema:  

  1. Pulse la propiedad class para ponerla en modalidad de edición. Seleccione el botón para abrir el diálogo del editor de la casilla.
  2. Marque el botón de selección para crear una clase nueva.
  3. Pulse el botón Examinar para elegir el contenedor fuente y elija el "conector XYZ".
  4. Cambie el nombre de la clase por "SampleAction".

Antes de que pulse Finalizar, el diálogo debe parecerse a este:

Editor de atributos Java

Al finalizar, se generará la clase nueva basada en la interfaz necesaria (con la implementación de un apéndice por cada método abstracto). Además, el nombre de la clase nueva será el valor de la propiedad class. El asistente también abrirá por omisión la clase Java nueva para editarla. Podrá localizar el método "run" y añadir la sentencia siguiente:

   System.out.println("Hello, PDE world!");

Guarde el código fuente nuevo y cierre el editor Java. Luego, vuelva a la página Extensiones del editor de manifiestos y realice una operación de guardar. 

Continuaremos con este ejemplo en el tema Ejecutar el conector.

 
Copyright IBM Corporation y otras empresas 2000, 2003