2009-07-21 7 views

Respuesta

5

Por lo que yo puedo decir que necesita un ILabelDecorator y la única manera fácil de conseguir una es utilizar la interfaz de usuario banco de trabajo:

viewer.setLabelProvider(
    new DecoratingLabelProvider(new MyPlainLabelProvider(), 
      PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator())); 

A continuación, deberá añadir su decorador ligera al punto de extensión decoradores el plugin.xml. Obviamente, esto solo funcionará si tu aplicación es un plugin de eclipse.

Parece extraño que ILightweightDecorator se encuentre en JFace, pero para usarlo necesita un administrador de decodificadores que solo se implementa en org.eclipse.ui. Sin embargo, no parece haber una manera fácil de hacer esto de manera más directa.

0

Hay un viejo Eclipse.org article basado en Eclipse 2.1 que ofrece un buen resumen del enfoque de decorador liviano. Por supuesto, gran parte del detalle de la implementación ha cambiado, pero los conceptos se han mantenido igual.

Cuando dice cablear el decorador "directamente al espectador", ¿quiere decir evitar declararlo como un punto de extensión y hacer que su decorador se aplique a un icono/texto o similar?

Para aplicar la superposición de imagen, puede seguir el enfoque en la sección "Imágenes superpuestas" del artículo. Por lo tanto, primero dibuje la imagen base, luego obtenga ImageData para la superposición y dibuje los datos en las coordenadas deseadas.

Si tiene un problema más específico no abordado en el artículo, ¿puede explicar su pregunta original con un ejemplo de lo que está tratando de lograr?

Cuestiones relacionadas