2010-04-12 73 views
1

我有一个SWT表的JFace TableViewer,我想定制渲染一些单元格的内容。我想使用SWT控件来渲染单元格内容。如何使用SWT控件呈现SWT/JFace表格的内容?

我宁愿只有一个控制实例进行渲染,但如果我必须为每一行实例化一个,那是可以接受的。

接下来,解决方案必须与ContentProvider/LabelProvider方法(我使用EMF)兼容。这意味着我不能使用Sniplet 126(http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets)中描述的解决方案。

接下来,我虽然关于使用custom drawing。但在这里,我必须将单独的绘图操作发送到图形上下文。我试图通过调用SWT.PaintItem调用redraw()或print(GC)来让Control为我呈现内容,但这只会导致无法控制的闪烁。

在这一点上,我最好的猜测是使用SWT.PaintItem来完成绘图。这会导致重复的代码,因为我已经有了一个可以按照我喜欢的方式呈现内容的控件。我想防止这种冗余。

任何帮助表示赞赏!

回答

1

好吧,在我的头撞墙几次之后,我取得了一些进展。具体来说,我发现这个formu条目:

http://www.eclipsezone.com/eclipse/forums/t115489.html

它实际上提供两种解决方案:第一种方案实际上使用的小部件(不推荐,因为的表现,但我之前就知道)。我会试试这个,并且可能在这里发布它是如何发生的。

第二个解决方案建议使用StyledCellLabelProvider。我之前对此进行了研究,但是对于我的目的来说它不够强大。至少这就是我现在所想的。

相关问题