我有一个用JFace TableViewer
包装的SWT表。
我的要求是:
我通过扩展DecoratingLabelProvider
并实施ITableLabelProvider
来获得#1。我把原来的TableLabelProvider
和工作台装饰经理传给了我,我得到了装饰员的图标。
然后我开始研究#2。我在这里问了这个问题,并被告知IStyleLabelProvider
(我试图用于彩色文本的内容)与ITableLabelProvider
不兼容。所以我转而使用实现ColumnLabelProvider
的{{1}}。
然而,现在我被卡住了。这两个要求似乎是相互排斥的。我无法延伸IStyledLabelProvider
和ColumnLabelProvider
。当我试图简单地将工作台装饰器管理器传递给DecoratingLabelProvider
时,但它根本没有装饰图像。我错误地传递了它,还是只能在ColumnLabelProvider
中使用?我还能尝试什么?
DecoratingLabelProvider
答案 0 :(得分:2)
您可以DecoratingStyledCellLabelProvider
使用IStyledLabelProvider
和ILabelDecorator
作为参数:
new DecoratingStyledCellLabelProvider(styledLabelProvider,
PlatformUI.getWorkbench().getDecoratorManager()
.getLabelDecorator(), null);