标签:help contents org.eclipse.help.toc org.eclipse.help.con 上下文敏感帮助
在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文件,toc文件中定义了帮助的显示结构,它们显示在帮助对话框的左边。--> <extension point="org.eclipse.help.toc"> <toc file="toc/ActivityToc.xml"> </toc> <toc file="toc/DesignerToc.xml" primary="true"><!--保证该文件在帮助对话框中永远显示--> </toc> </extension>此扩展点告诉帮助系统所有的toc文件,toc文件中定义的帮助的显示结构,它们显示在帮助对话框的左边。这个扩展点标示了2个toc 文件,它们都是位于帮助的顶级。其中toc.xml标示为primary,保证其在帮助对话框中永远显示。ActivityToc.xml也可以不添加。
<?xml version="1.0" encoding="UTF-8"?> <?NLS TYPE="org.eclipse.help.toc"?> <toc label="定义器帮助" topic="help/maintopic.html"> <topic label="工具"> <topic label="向导"> <topic label="导入JTangFlow工程向导" href="help/tools/wizard/ImportWizard.html"/> </topic> </topic> </toc>ImportWizard.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>导入workFlow工程</title> </head> <body> <h1>导入workFlow工程</h1> <table width="600" border="1" align="left" > <tbody><tr> <td>选项</td> <td>描述 </td></tr> <tr> <td>选择导入源</td> <td>选择“workFlow 工程导入”</td></tr> <tr> <td>选择文件</td> <td>即选择本地需要导入的workFlow的流程定义文件</td></tr> <tr> <td>重置所有ID</td> <td>即把流程定义文件所有的模型ID进行重置</td></tr> </tbody></table> </body> </html>运行Rcp,可以在帮助对话框中看到刚才加入的帮助内容
添加上下文敏感帮助
Plugin.xml中添加扩展点 org.eclipse.help.contexts
<extension point="org.eclipse.help.contexts"> <contexts file="HelpContexts.xml" plugin="MyDesigner"> </contexts> </extension>HelpContexts.xml 文件中定义了上下文id和显示内容的映射
<?xml version="1.0" encoding="UTF-8"?> <contexts> <context id="ImportWizard"> <description> 导入workFlow工程向导 </description> <topic href="help/tools/wizard/ImportWizard.html" label="导入workFlow工程向导" /> </context> </contexts>HelpUtil 帮助文档操作类
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按钮这样在运行导入时,就可以看到帮助上下文
参考文章:http://blog.csdn.net/moneyice/article/details/715795
标签:help contents org.eclipse.help.toc org.eclipse.help.con 上下文敏感帮助
原文地址:http://blog.csdn.net/luoww1/article/details/38012217