`

为RCP添加帮助系统

阅读更多
from :http://blog.csdn.net/moneyice/archive/2006/05/10/715795.aspx
一款软件,如果希望用户能够快速的上手,完善的帮助系统必不可少。帮助中要包含操作指南,相关的疑难解答,软件的配置,维护等信息。优秀的文档可以节省用户的时间精力,也为维护人员省去了不少麻烦。
Eclipse的帮助系统可以说是十分优秀,功能全面,界面美观,操作便利,而且和Eclipse IDE结合的十分紧密,用户在任何时候都可以通过F1来体会这一点。
在RCP中,也可以利用Eclipse Help构建自己的帮助系统。Eclipse 帮助系统包括静态,动态和上下文敏感的帮助,这些都可以应用到RCP中。
在RCP中,加入帮助,也是通过plugin,如果要帮助要依赖于指定的plugin,也可以做成fragment的形式,这里是以plugin的形式。
要实现完整的帮助功能,需要依赖于以下插件:
1.    org.apache.lucene
2.    org.eclipse.help.appserver
3.    org.eclipse.help.base
4.    org.eclipse.help.ui
5.    org.eclipse.help.webapp
6.    org.eclipse.tomcat
7.    org.eclipse.ui.forms
1        在RCP的帮助菜单中加入Help Contents
在RCP的ActionBarAdvisor.makeActions()方法中实例化Help Constents Action,并注册到工作台中。
com.mi.pwdgate.ApplicationActionBarAdvisor.makeActions()
helpContentsAction = ActionFactory.HELP_CONTENTS.create(window);
register(helpContentsAction);

在Help Menu的About Action前面加入此helpContentsAction,在fillMenuBar()中实现。
com.mi.pwdgate.ApplicationActionBarAdvisor.fillMenuBar()

    MenuManager helpMenu = new MenuManager("&Help","help");

    helpMenu.add(helpAction);

    helpMenu.add(aboutAction);


现在运行RCP时,可以看到Help > Help Contents菜单项。运行RCP时,要选中上面列出的plugin。


2        加入帮助内容
帮助文件就是一组html格式的文件,要加入到帮助系统中必须要有一个定义帮助文件结构的配置文件,是xml格式。帮助文件的内容需要资料人员制作成标准的html文件即可。为了美观性,也可以加入css。
1)  在plugin.xml文件中加入扩展点

        plugin.xml

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

               <toc file="tocgettingstarted.xml"/>

</extension>
    此扩展点告诉帮助系统所有的toc文件,toc文件中定义的帮助的显示结构,它们显示在帮助对话框的左边。这个扩展点标示了2个toc 文件,它们都是位于帮助的顶级。其中toc.xml标示为primary,保证其在帮助对话框中永远显示。

插件根目录下的toc.xml文件,
    toc.xml

    <toc label="Pass Gate User Guide" topic="html/toc.html">

        <topic label="Getting started" href="doc/gettingstarted.html"/>
        <topic label="Copy" href="doc/copy.html"/>
        <topic label="Preferences" href="doc/preferences.html">
            <topic label="Policy" href="doc/preferences_policy.html"/>
<topic label="User Interaction" href="doc/preferences_ui.html"/>
        </topic>
        <topic label="Import" href="doc/imexport_import.html"/>
        <topic label="Export" href="doc/imexport_export.html"/>
        <topic label="Credits" href="doc/credits.html"/>
</toc>
              帮助文件结构

执行RCP后,可以在帮助对话框中看到刚才加入的帮助内容

3        加入上下文敏感帮助
如果希望能够和用户进行良好的交互,上下文敏感的帮助就必不可少。当用户执行特定的操作,或者在操作某个程序界面,只要点击帮助件,就可以得到与此相关的帮助内容。在Windows是F1,在GTK是Ctrl+F1。在 Eclipse3.1以前,是以Infopops的形式出现,就是弹出一个黄色的框框,从Eclipse3.1,默认的形式是Help View。

下面在PassGateView中加入上下文敏感帮助
com.mi.pwdgate.view. PassGateView. createPartControl()
PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
                      " pwdgatehelp.PassGateView");
其中" pwdgatehelp.PassGateView"是上下文的id,系统使用这个id在上下文表中寻找要显示的内容。上下文表由org.eclipse.help.contexts扩展点定义。在plugin文件中加入如下内容。

plugin.xml

<extension point="org.eclipse.help.contexts">

       <contexts file="contexts.xml"/>

</extension>

contexts.xml文件中定义了上下文id和显示内容的映射。



contexts.xml

<contexts>

<context id="PassGateView">

    <description>This is Password Gate View</description>

    <topic

      label="Password Gate"/>

      href="doc/gettingstarted.html"

    <topic

      label="Preference"/>

      href="doc/preferences.html"

</context>

</contexts>

PlatformUI.getWorkbench().getHelpSystem().setHelp(viewer.getControl(),
                            "pwdgatehelp.PassGateView");中,上下文id, PassGateView对应contexts.xml中的context id, pwdgatehelp对应帮助插件的plugin id。

运行RCP,在Password Gate View 按F1,自动打开Help View。

用PDE的导出Wizard到处该帮助plugin,就生成了一个独立的帮助plugin,可以直接放在自己的RCP产品的plugins目录下
分享到:
评论
2 楼 yhyysxqygs 2012-05-15  
大哥,晓得我是谁不啊
1 楼 yhyysxqygs 2012-05-15  
大哥,你这个都不晓得是哪个版本的了,在3.5版本的eclipse中tomcat要换成org.eclipse.equinox.http.jetty了

相关推荐

    为RCP程序添加帮助支持

    在RCP程序中添加帮助系统,可以采用Eclipse提供的Help System API。这个API允许开发者构建结构化的帮助内容,包括HTML文档、图片、视频等,形成一个完整的帮助系统。 首先,我们需要理解Eclipse Help System的基本...

    ECLIPSE+RCP应用系统开发方法与实战(PDF 高岗著)

    7. **国际化和本地化**:Eclipse RCP支持多语言,书中会介绍如何为应用添加多语言支持,实现国际化和本地化。 8. **事件机制**:讲解Eclipse RCP中的事件订阅和发布机制,以及如何利用事件来协调组件间的通信。 9....

    基于RCP的影院管理系统

    【基于RCP的影院管理系统】是一个使用Java技术构建的高效能、用户友好的应用程序,它专为管理和优化电影院的日常运营而设计。该系统利用了Java的Rich Client Platform(RCP),这是一种强大的框架,允许开发者创建...

    Eclipse RCP 应用系统开发方法与实战 源代码

    本资源提供的"《Eclipse RCP 应用系统开发方法与实战 源代码》"是针对Eclipse RCP开发的实践教程,包含了多个章节的源代码实例,帮助开发者深入理解和掌握Eclipse RCP的开发技巧。 1. **Eclipse RCP基础** Eclipse...

    Eclipse RCP开发教程

    在 RCP 中,可以通过定义扩展点和扩展来集成自定义的标志和帮助系统。 总的来说,Eclipse RCP 提供了一个强大的框架,用于构建功能丰富、灵活多变的桌面应用。开发者可以通过学习和实践,逐步掌握 RCP 的开发技巧,...

    基于Eclipse RCP Email客户端的实现

    此外,为了提高用户体验,该系统还实现了Eclipse帮助内容的扩展点,这意味着系统可以添加自定义的帮助文档,帮助用户更好地理解和使用系统功能。 总之,这个基于Eclipse RCP的Email客户端是一个全面的、用户友好的...

    Eclipse RCP 软件打包发布方法

    Eclipse Rich Client Platform (RCP) 是一个强大的框架,用于构建桌面应用程序。它提供了一整套工具和...同时,持续关注Eclipse RCP的更新和社区支持,可以帮助你更好地利用这个平台的优势,提升开发效率和用户体验。

    EclipseRCP教程

    在本教程中,我们将详细介绍 Eclipse RCP 的开发过程、技术要点和注意事项,以帮助开发者快速掌握 Eclipse RCP 的开发技术。 一、Eclipse RCP 的技术要点 Eclipse RCP 的核心技术包括: 1. SWT(Standard Widget ...

    RCP编程入门(doc版)

    RCP支持多语言环境,开发者可以为应用添加不同语言的资源包,使应用能够根据用户的系统设置自动切换语言。 **八、调试与发布** 在开发过程中,Eclipse内置的调试工具可以帮助定位和修复问题。完成开发后,可以使用...

    RCP中文入门教程.rar

    RCP,全称为Rich Client Platform,是Eclipse框架下的一个组件,它为开发桌面应用程序提供了一个强大的基础。这个“RCP中文入门教程”显然是为了帮助初学者理解和掌握如何使用RCP进行桌面应用的开发。RCP的优势在于...

    Eclipse的RCP开发的入门教程

    这个入门教程集合了多个文档,涵盖了从基础到高级的各种主题,帮助开发者深入理解和掌握Eclipse RCP。 首先,"使用RCP开发应用程序--RCP入门.doc"是教程的开篇,它会介绍RCP的基本概念,包括RCP的架构、工作台...

    使用RCP进行程序开发(学习篇)

    3. **Help(帮助系统)**:帮助系统是可扩展的,允许通过HTML文档添加自定义的导航结构,为用户提供详细的应用指南。 4. **Team(团队支持系统)**:这一组件提供版本控制和配置管理,与其他版本控制系统集成,以...

    Rcp一个简单的入门教程

    **RCP(Rich Client Platform)** 是...这个教程将帮助你从零开始,逐步掌握RCP开发的基本技巧,为后续的深入学习打下坚实基础。记得实践是检验学习效果的最好方法,尝试跟着教程动手操作,你将更快地掌握RCP开发。

    Eclipse_RCP_自学教程.doc

    在 RCP 应用中添加产品标志和帮助文档是提升用户体验的关键,这可以通过定义产品配置文件和集成帮助系统来完成。 以上内容只是 Eclipse RCP 自学教程的基础部分,实际开发中还会涉及更多高级主题,如国际化(i18n...

    documents about Eclipse RCP

    2. **插件系统**:Eclipse RCP的核心是插件模型,它使得开发者可以添加或移除特定功能来满足应用需求。文件`nb-vs-eclipse.pdf`可能对比了Eclipse RCP与NetBeans等其他开发环境,阐述了Eclipse RCP的插件优势。 3. ...

    eclipse 3.6 rcp 开发

    - **介绍**: 在Eclipse RCP中添加系统托盘图标以提高应用的可用性。 - **实现**: 通过定义贡献点并实现IStatusLineManagerListener接口。 #### 5. 视图 - **概念**: 视图是在Eclipse RCP中用于展示数据的不同窗口。...

Global site tag (gtag.js) - Google Analytics