上下文敏感帮助

来源:互联网 发布:低价位耳机推荐知乎 编辑:程序博客网 时间:2024/05/01 07:22
 

由于要做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中的值一致,别忘了写 "."。