Categorías
Rich Client Platform(RCP)

Tutorial de Eclipse RCP: Puntos de extensión de Eclipse Workbench de uso común

1. ¿Qué es un banco de trabajo?

El siguiente diagrama es del sitio oficial de eclipse. En resumen, cuando abre su eclipse, lo que ve es un banco de trabajo. Consiste en una barra de menú, una barra de herramientas, una página que está compuesta por una o más vistas / editores.

2. Puntos de extensión más utilizados

Los siguientes son puntos de extensión de Workbench de uso común o frecuente y sus propósitos.

  • org.eclipse.ui.views – agregar una vista
  • org.eclipse.ui.viewActions – agregar una acción debajo de una vista
  • org.eclipse.ui.editors – permite a un usuario editar un objeto (por ejemplo, un archivo), es como una vista, pero se puede abrir varias veces.
  • org.eclipse.ui.editorActions – agregar acción bajo un editor
  • org.eclipse.ui.popupMenus – agregar un menú emergente. Un menú emergente es una memoria que se muestra al hacer clic con el botón derecho. Hay dos tipos, uno es emergente para un objeto y el otro es emergente en el editor.
  • org.eclipse.ui.actionSets – se utiliza para agregar menús, elementos de menú y elementos de la barra de herramientas a los menús y la barra de herramientas del entorno de trabajo.
  • org.eclipse.ui.commands – declaración de un comportamiento por id, luego otros complementos pueden usar el comando. Permite «definir una vez, usar en todas partes».
  • org.eclipse.ui.menus – puede asociarse con un comando y colocar el comando en el menú principal, ver menús desplegables, menús contextuales, barra de herramientas principal, ver barras de herramientas y varias ubicaciones de recorte.
  • org.eclipse.ui.handlers – definir controlador para un comando
  • org.eclipse.ui.bindings – enlazar la tecla de método abreviado para un comando
  Desarrollo de complementos de Eclipse: cree una perspectiva

3. Interfaz IActionDelegate

IActionDelegate es la interfaz para las acciones que se contribuyen a través de un punto de extensión.

De su documento oficial de Java:

Esta interfaz debe ser implementada por clientes que necesiten contribuir con acciones a través de un punto de extensión. El entorno de trabajo generará un objeto de acción de proxy en nombre del complemento para evitar tener que activar el complemento hasta que el usuario lo necesite. Si se realiza la acción, el banco de trabajo cargará la clase que implementa esta interfaz y creará lo que se llama un objeto delegado de acción. Luego, la solicitud, y todas las posteriores, se reenvían a través de la acción de proxy al delegado de acción, que hace el trabajo real.

Las siguientes subinterfaces se utilizan con frecuencia con los puntos de extensión anteriores. Su finalidad se resume a continuación:

org.eclipse.ui.IActionDelegate
++ IActionDelegate2
++ IEditorActionDelegate
——– un menú activado por el editor o una barra de herramientas
++ IObjectActionDelegate
——– una acción de objeto que se contribuye a un menú emergente para una vista o editor
++ IViewActionDelegate
——– una acción que se contribuye a la barra de herramientas local, el menú desplegable o el menú emergente de una vista
++ IWorkbenchWindowActionDelegate
——– una acción que se contribuye al menú de la ventana del banco de trabajo o la barra de herramientas
++ IWorkbenchWindowPulldownDelegate
——– una acción desplegable que se contribuye a la barra de herramientas de la ventana del banco de trabajo
++ IWorkbenchWindowPulldownDelegate2

Con el resumen de los puntos de extensión y el recurso en la documentación de Eclipse, agregar una extensión a un banco de trabajo es sencillo.

  Dibuja puntos o varias formas usando Eclipse SWT

4. Lectura de referencia

1. Puntos de extensión básicos del banco de trabajo: sitio de documentación oficial de eclipse.
2. IActionDelegate Java Doc.
3. Contribuya con acciones al banco de trabajo: artículo de esquina

Por Programación.Click

Más de 20 años programando en diferentes lenguajes de programación. Apasionado del code clean y el terminar lo que se empieza. ¿Programamos de verdad?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *