在RCP中,也可以利用Eclipse Help构建自己的帮助系统。Eclipse 帮助系统包括静态,动态和上下文敏感的帮助,这些都可以应用到RCP中。
在RCP中,加入帮助,也是通过plugin,如果要帮助要依赖于指定的plugin,也可以做成fragment的形式,这里是以plugin的形式。
要实现完整的帮助功能,需要在plugin.xml 依赖中添加以下插件:
添加插件
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.ui.forms
- org.eclipse.equinox.http.jetty(未添加该插件,我运行时提示错误)
然后在自己创建的xxx.product文件中的依赖项中点击添加需要插件(Add Required Plug-ins)
添加帮助菜单中添加Help Contents
在RCP的ActionBarAdvisor.makeActions()方法中实例化Help Constents Action,并注册到工作台中
private IWorkbenchAction helpContenstsAction;//先声明一个Action helpContenstsAction = ActionFactory.HELP_CONTENTS.create(window); register(helpContenstsAction);在方法fillMenuBar()中,在help 菜单中添加helpContenstsAction.
MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP); helpMenu.add(helpContenstsAction);加入帮助内容
帮助文件就是一组html格式的文件,要加入到帮助系统中必须要有一个定义帮助文件结构的配置文件,是xml格式。帮助文件的内容需要资料人员制作成标准的html文件即可。为了美观性,也可以加入css。
在plugin.xml中添加扩展点org.eclipse.help.toc
文件,它们都是位于帮助的顶级。其中toc.xml标示为primary,保证其在帮助对话框中永远显示。ActivityToc.xml也可以不添加。
DesignerToc.xml
<?xml version="1.0" encoding="UTF-8"?><?NLS TYPE="org.eclipse.help.toc"?> ImportWizard.html导入workFlow工程
选项 | 描述 |
选择导入源 | 选择“workFlow 工程导入” |
选择文件 | 即选择本地需要导入的workFlow的流程定义文件 |
重置所有ID | 即把流程定义文件所有的模型ID进行重置 |
添加上下文敏感帮助
Plugin.xml中添加扩展点 org.eclipse.help.contexts
HelpContexts.xml 文件中定义了上下文id和显示内容的映射
import org.eclipse.swt.widgets.Control;import org.eclipse.ui.PlatformUI;/** * 帮助文档操作类 * @author lww * */public class HelpUtil{ public static void setHelp(Control control, String localContextId) { if (control == null) return; PlatformUI.getWorkbench().getHelpSystem().setHelp(control,WorkFlowActivator.PLUGIN_ID + “.” + localContextId); }}WorkFlowActivator.PLUGIN_ID是获取当前插件的plugin id 我在导入文件的WizardPage方法createControl中添加了上下文敏感帮助
HelpUtil.setHelp(topComp,“ImportWizard”);//设置点击帮助后显示的内容 topComp是createControl方法中的面板对象 ,ImportWizard是HelpContexts.xml文件中定义ID,若你的import 中没有显示帮助按钮图标,很有可能是你当前RCP没有启动帮助系统
只需要在WorkbenchAdvisor的方法initialize初始化方法中激活向导页的help按钮
TrayDialog.setDialogHelpAvailable(true);//激活向导页的help按钮这样在运行导入时,就可以看到帮助上下文
本文来自 能量守恒洛 的优快云 博客 ,全文地址请点击:https://blog.youkuaiyun.com/luoww1/article/details/38012217?utm_source=copy