由于要做RCP的演讲幻灯片,所以今天把RCP的帮助功能研究了一下,对于基本的功能实现暂且不说,因为比较简单,现在对上下文敏感帮助的功能实现做下说明。
对于各种控件,例如窗口、按钮、菜单等,Eclipse提供了上下文敏感帮助。上下文敏感帮助可以为用户提供动态的、弹出式的帮助信息,以提高系统的易用性,用户可以在一个命令按钮上按F1键以获得该按钮的操作信息。
1. 在plugin.xml中添加扩展点
<extension point="org.eclipse.help.contexts">
<contexts file="RssView.xml" />
<contexts file="ChannelTreeView.xml" />
</extension>
org.eclipse.help.contexts 指上下文帮助的扩展点
contexts 指上下文帮助的配置文件。
2. 编写配置文件RssView.xml
根据plugin.xml中的设置,把RssView.xml文件放置在项目的根目录下(和src目录平级)。该文件主要是把帮助信息分门别类,并定义好某项帮助的id、名称、注释和对应的html帮助文件。
<?xml version="1.0" encoding="UTF-8"?>
<?NLS TYPE="org.eclipse.help.toc"?>
<contexts>
<context id="RssView">
<description>系统功能简介</description>
<topic label="商都" href="http://www.zz.ha.cn" />
<topic label="搜狐" href="http://www.sohu.com" />
</context>
</contexts>
id 帮助信息ID标识。(id的值需要和后边的配置一致)
description 显示帮助信息时的标题栏文字。
href 帮助信息子项所对应的帮助文件。
label 显示帮助信息时,子项的显示名称。
3. 将帮助信息和界面组件关联起来
将帮助信息和对应的界面组件关联起来,这样当焦点在此组件上时,按F1键才能显示出属于该组件的帮助。
IWorkbenchHelpSystem helpSystem = this.getSite().getWorkbenchWindow().getWorkbench().getHelpSystem();
helpSystem.setHelp(this.viewer.getControl(), Activator.PLUGIN_ID +".RssView");
setHelp方法的第一个参数是和上下文帮助关联的组件对象,第二个参数由插件的ID标识(MANIFEST.MF 文件的Bundle-SymbolicName项)和上下文帮助项的Id标识组成。
注意上面的 ".RssView" 和xml中的值一致,别忘了写 "."。
最新评论