为SWT应用程序配备内容助理 - 编程入门网
符串分段,分别将单独的段包括在新的样式标签内。
显示额外信息 CompletionProposal() 构造函数的前四个参数与它们在 computeStructureProposals() 方法中一样具有相同的含义(替换字符串、插入点、被替换的文本的长度,以及相对于插入点的光标位置)。第五个参数(在本例中我们将 null 传递给它)接受一个图像实例。这个图像将显示在弹出窗口中相应条目的左侧。第六个参数接受出现在建议选择窗口中的画面说明文字。第七个参数用于 IContextInformation 实例,我们很快就会讨论它。最后,第八个参数接受附加信息窗口中的文本,当某条建议被选定时,这段文本就应该显示出来。然而,仅只是为这个参数提供一个值,并不足以实际获得这样的信息窗口。我们必须相应地配置内容助理。同样地,这是在类 XMLConfiguration 中完成的。我们只需向方法 getContentAssistant() 添加如清单 12 所示的行。 清单 12. 向 getContentAssistant 添加行
这里发生了什么呢?首先,我们从当前源代码查看器配置中获得了一个 IInformationControlCreator 类型的实例。这个实例是一个负责创建类 DefaultInformationControl 的实例的工厂,所创建的实例将负责管理信息窗口。然后我们告诉内容助理关于这个工厂的信息。内容助理最终将在某个自动完成建议被选定时,使用这个工厂来创建一个新的信息控制实例。 为SWT应用程序配备内容助理(6)时间:2011-02-09 IBM Berthold Daum格式化信息文本 默认情况下,这个信息控制实例将以纯文本的形式提供附加的信息文本。然而,添加一些美妙的文本表示形式是可以做到的。例如,我们可能希望以粗体打印所有标签。为此,我们需要相应地配置 IInformationControlCreator 创建的 DefaultInformationControl 实例。实现这点的惟一办法是使用一个不同的 IInformationControlCreator ,而这可以通过重写 XMLConfiguration 方法 getInformationControlCreator() 来完成。 这个方法在 SourceViewerConfiguration 类中的标准实现如清单 13 所示。 清单 13. getInformationControlCreator
我们通过向 DefaultInformationControl() 构造函数添加一个 DefaultInformationControl.IInformationPresenter 类型的文本展示器(presenter),从而修改 DefaultInformationControl 实例的创建,如清单 14 所示。 清单 14. 添加文本展示器
最后剩下的事情就是实现这个文本展示器,如清单 15 所示。 清单 15. 文本展示器
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |