Eclipse插件项目定制帮助系统

 

 

1,Eclipse帮助扩展点

 

打开项目的 plugin.xml 文件后,切换到 plugin.xml 页,会发现 Eclipse 定义了如下扩展点:

 

<extension point="org.eclipse.help.toc"> <toc file="toc.xml" primary="true"> </toc> <toc file="tocgettingstarted.xml"> </toc> <toc file="tocreference.xml"> </toc> </extension 

其中:

  Org.eclipse.help.toc 正是帮助的扩展点。

  Toc(Table of Contents)  设置帮助项目。

  File  表示该帮助项目对应的 xml 文件。

  Primary = “true”  设定该帮助项目显示在帮助窗口中,若为 false 则不显示。

 

说明:Eclipse 中的帮助不是单块集成实体,而是提供整体概念合并在一起的一系列插件。 Eclipse 的帮助系统是使用插件架构构建的,所以我们可以通过扩展 Eclipse 内部的帮助扩展 点来定制帮助项目,每一个帮助项目就相当于一个插件项目,通过把这个插件扩展到 Eclipse 的系统帮助中来实现在 Eclipse 环境中来访问自己系统的帮助。


2,实现帮助系统

  

2.1 集成插件项目到Eclipse帮助系统中

 

2.1.1  创建帮助插件项目

利用 Eclipse 项目创建向导的强大功能,创建帮助项目所需的大部分文件都可以自动地 产生。

利用“新建项目”向导创建一个新的插件项目,在“新建插件项目”向导的 Project name 中输入 org.desktopx.project.help作为项目名称。

在向导的“模板选择”页面选中“Help Table Of Contents”选项,也就是相应的 org.eclipse.help.toc 扩展点。在向导的最后一个页面中,将“Label Of Table Of Contents”设置为“DeskTopX Create And Export”。完成插件项目的创建之后,打开 plugin.xml 文件,选中 Dependencies 页面,添加 org.eclipse.help org.eclipse.ui 依赖项。

完成如上操作,打开 Eclipse  的帮助系统,可以查看到我们新创建的帮助项目已经插入到了 Eclipse 的帮助窗口中,如下所示:

 

我现在还没有上传图片的权限,等等吧

 

2.1.2  创建Html内容

首先我们来看一下向导生成的 toc.xml 文件的内容:

 <toc label="DeskTopX Create And Export" topic="html/toc.html"> <topic label="Getting Started"> <link toc="tocgettingstarted.xml"/> </topic> <topic label="Reference"> <link toc="tocreference.xml"/> </topic> </toc> 

Label 属性指定显示在帮助窗口主题列表的帮助项目名称。

Toc Topic 属性设定当前帮 助项目所链接的文件为 html/toc.xml

下面定义了一个主题 Main  Topic 以及一个子主题 Sub Topic,并且通过 href 属性链接到相应的主题内容文件(html 文件)。

下一步我们通过对 html 文件的内容的填充来完善帮助的内容。Html 文件的编写根据你系统的不同要求可以自己进 行内容的添加。

 

2.2 上下文帮助

 

 对于各种控件,例台窗口、按钮、菜单等,Eclipse 提供了上下文敏感帮助。

上下文敏 感帮助可以为用户提供动态的、弹出式的帮助信息,以提高系统的易用性,

用户可以在控件 上按下 F1 键来获得该控件的操作信息。

上 下 文 帮 助 要 求 扩 展 org.eclipse.help.contexts 扩 展 点 ,

同 时 org.eclipse.ui.help.IWorkbenchHelpSystem 接口提供了对上下文敏感帮助的支持。若要给某个控件添加上下文敏感帮助,首先需要为该控件定义一个 context ID,方法如下:

 

//获取工作台帮助系统

IWorkbenchHelpSystem helpSystem = getSite().getWorkbenchWindow().getWorkbench().getHelpSystem();         

 

 helpSystem.setHelp(viewer.getControl(), "org.desktopx.project.help.item");

viewer.getControl() 用来获取将要添加帮助的控件,后面是用来设置该控件的上下文帮助 ID 号。

我们还需要创建一个 xml 文件,这个文件将和我们的帮助项目进行关联,格式如下:

 

<contexts>

<context id=" org.desktopx.project.help.item " title="DeskTopX Create And Export"> 

<description> addItemHelp</description>

<topic label=" addItemHelp " href="html/ addItemHelp..html" />

</context>

</contexts>


我们可以从格式中发现,每一个上下文帮助都有一个 ID 号,也可以添加相应的标题和 描述,

topic 属性中给出了相应的 Html 文件,用来展示相应的帮助内容。

在一个插件项目中 我们可以添加多个不同的上下文帮助,我们可以通过不同的 ID 号来进行区分和操作它们。

下面我们来看一下如何在编码中实现 content ID 的设置,以及上下文敏感帮助的打开。

(1) 编写一个设置上下文 ID 的方法

 

Private void setHelpContextId(){

 

IWorkbenchHelpSystem helpSystem = getSite().getWorkbenchWindow()

 

.getWorkbench().getHelpSystem();


 

helpSystem.setHelp(viewer.getControl(), “org.desktopx.project.help.item”);

 

}

该方法完成对 context ID 的设置,在系统的 createPartControl()方法中完成对控件的帮助

ID 的设置并添加相应的监听设置。

 

Public void createPartControl(composite parent){

 

…. setHelpContextID(); PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage()

.addSelectionListener(this);

 

}

通过上面的设置,我们已经把控件与我们的帮助项目进行了关联,并且对控件添加了监 听设置,

下一步我们要做的就是在项目的 plugin.xml 文件中添加相应的扩展点,来实现上下文帮助的扩展。

打开 plugin.xml 文件,切换到 Extensions 页面,添加 org.eclipse.help.contexts 扩展点,

并设置相应的属性:file 属性指定我们创建的 xml 文件,plugin 属性指定我们的插 件项目名称。

以上我们对如何在我们的插件项目中添加帮助的系统的两种不同方式,各自有自身不同 的特点,在使用上根据我们系统的需要可以选择不同的方式来实现。在使用过程中也可以根 据系统的需要进行修改变通实现帮助更加强大的功能。

 

 

 

你可能感兴趣的:(eclipse,html,eclipse插件,File,扩展,dependencies)