WEB开发网
开发学院软件开发Java 为 SWT 应用程序配备内容助理:通过上下文敏感的智... 阅读

为 SWT 应用程序配备内容助理:通过上下文敏感的智能内容完成建议,提高最终用户的便利性和生产率

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: 对于每种受支持的样式标签,我们将构造一个替换字符串,为 SWT 应用程序配备内容助理:通过上下文敏感的智能内容完成建议,提高最终用户的便利性和生产率(9),并创建一个新的自动完成建议,当然,然后我们告诉内容助理关于这个工厂的信息,内容助理最终将在某个自动完成建议被选定时,这种解决办法是相当简单的

对于每种受支持的样式标签,我们将构造一个替换字符串,并创建一个新的自动完成建议。当然,这种解决办法是相当简单的。恰当的实现应该进一步检查替换字符串。如果这个字符串包含标签,我们将相应地对该字符串分段,分别将单独的段包括在新的样式标签内。

显示额外信息

CompletionProposal() 构造函数的前四个参数与它们在 computeStructureProposals() 方法中一样具有相同的含义(替换字符串、插入点、被替换的文本的长度,以及相对于插入点的光标位置)。第五个参数(在本例中我们将 null 传递给它)接受一个图像实例。这个图像将显示在弹出窗口中相应条目的左侧。第六个参数接受出现在建议选择窗口中的画面说明文字。第七个参数用于 IContextInformation 实例,我们很快就会讨论它。最后,第八个参数接受附加信息窗口中的文本,当某条建议被选定时,这段文本就应该显示出来。然而,仅只是为这个参数提供一个值,并不足以实际获得这样的信息窗口。我们必须相应地配置内容助理。同样地,这是在类 XMLConfiguration 中完成的。我们只需向方法 getContentAssistant() 添加如清单 12 所示的行。


清单 12. 向 getContentAssistant 添加行
assistant.setInformationControlCreator(getInformationControlCreator(sourceViewer)); 

这里发生了什么呢?首先,我们从当前源代码查看器配置中获得了一个 IInformationControlCreator 类型的实例。这个实例是一个负责创建类 DefaultInformationControl 的实例的工厂,所创建的实例将负责管理信息窗口。然后我们告诉内容助理关于这个工厂的信息。内容助理最终将在某个自动完成建议被选定时,使用这个工厂来创建一个新的信息控制实例。

上一页  4 5 6 7 8 9 10  下一页

Tags:SWT 应用程序 配备

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接