我目前正在编写一个使用TreeViewer视图的插件。问题是,作为我的节点的内容,我得到了简单的HTML。我想显示HTML风格,或者,如果不可能,显示没有任何HTML的简单纯文本。但我遇到的问题是TreeViewer没有显示足够的文本。
正如您所看到的,HTML并未完全显示,并且每个只有一行也不是很好。我想要一个可以显示文本的框或其他内容(如果框不支持HTML样式,我可以手动执行此操作)。
目前我正在使用LabelProvider将节点文本作为字符串返回(我可以看到这是唯一可能带有LabelProvider的选项。)
作为解决方法,我只能考虑将文本切割成serval节点,但我想知道是否有更好的选项;)
答案 0 :(得分:2)
如果它是您自己的LabelProvider,您可以根据需要截断或操作显示的文本。由于它最终会成为本机控件,因此只要您使用树控件,就会使用单个图像(加上IColorLabelProvider提供的任何内容)使用文本标签。
您可以尝试使用GEF项目中的数据或Nebula CompositeTable作为替代方案。
答案 1 :(得分:1)
您可以使用编辑器显示内容,这符合您的要求。 View也可以考虑一下。 tableviewer clould也是最不可选择的。 TreeViewer通常用于处理分层数据。
答案 2 :(得分:1)
org.eclipse.jface.viewers
包中的Eclipse中有几个标签提供程序。您可以选择实施自己的或扩展其中一个来选择您的需求。
查看图像,我建议在树中只显示几个单词,节点的整个内容可以在不同的窗格/工具提示中。