How do I use an SWT Control to render the content of an SWT/JFace table?

Posted by jastram on Stack Overflow See other posts from Stack Overflow or by jastram
Published on 2010-04-12T15:01:00Z Indexed on 2010/04/12 15:03 UTC
Read the original article Hit count: 469

Filed under:
|
|

I have a JFace TableViewer with an SWT Table, and I would like to custom render the content of some cells. I would like to use an SWT Control to render the cell content.

I would prefer to have only one instance of the Control doing the rendering, but if I have to instantiate one for each row, that would be acceptable.

Next, the solution MUST be compatible with the ContentProvider/LabelProvider approach (I am using EMF). This means that I cannot use the solution described in Sniplet 126 (http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets).

Next, I though about using custom drawing. But here the catch is, that I have to send individual drawing operations to the graphics context. I was trying to have the Control render the content for me by calling redraw() or print(GC) upon SWT.PaintItem, but that just lead to uncontrollable flickering.

At this point, my best guess is to use SWT.PaintItem to do the drawing. This will result in duplicate code, as I already have a Control that can render the content the way I'd like it. I'd like to prevent this redundancy.

Any help is appreciated!

© Stack Overflow or respective owner

Related posts about eclipse

Related posts about swt