eclipse widget jface tableviewer

eclipse - ¿Widgets en las celdas JFace TableViewer?



(1)

Estoy desarrollando una aplicación con JFace en Eclipse 3.6 y me gustaría tener widgets reales, en su mayoría casillas de verificación y botones, en un TableViewer. Todo lo que he encontrado parece sugerir que esto no es posible en este momento.

Mi solución actual implica tener un MouseListener para el control envuelto Table, donde las coordenadas del evento mouseDown se traducen en celdas usando el método getCell () y se actúa sobre ellas. Luego utilizo el proveedor de contenido para proporcionar imágenes y texto formateado que de alguna manera se acercan a la apariencia de los respectivos widgets.

El problema es que el resultado no es nativo en absoluto. Hay algunas soluciones que implican tomar capturas de pantalla de los widgets nativos reales, pero esto tiene algunos problemas:

  • Es un truco
  • Los widgets capturados ocasionalmente se vuelven visibles, creando un artefacto parpadeante en la pantalla
  • Requiere trucos de manejo de imágenes para hacer que la imagen capturada se mezcle con los colores de la mesa
  • No escala bien cuando, por ejemplo, se requieren botones con diferentes contenidos

¿Hay alguna forma de incrustar widgets en las celdas de TableViewer sin utilizar estos engorrosos métodos? La Tabla SWT subyacente ciertamente puede hacer eso, pero la interfaz TableViewer no parece ser compatible con esto ...