如何为我们自己的向导显示上下文相关帮助?

时间:2013-10-11 05:53:36

标签: java eclipse eclipse-plugin eclipse-rcp

我在eclipse插件中创建了两个向导页面,实际上我添加了另一个项目类型,名为MyProject,因此当用户执行New-> MyProject(类似于New-> Java)时,会出现MyProject的向导页面。这个MyProject有两个页面,填充page1然后点击Next你去第2页。我在创建向导页面的页面的 public void createControl(Composite parent)中添加了上下文帮助,使用了{第一行为page1.java,第二行为page2.java}

PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "my.plugin.id.context_id_page1");

PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "my.plugin.id.context_id_page2");

Plugin.xml包含:

<extension
         point="org.eclipse.help.contexts">
      <contexts
            file="contexts.xml"
            plugin="my.plugin.id">
      </contexts>
   </extension>

contexts.xml有:

<contexts>
   <context id="my.plugin.id.context_id_page1">
      <description>This wizard helps you in creating MyProject.</description>
      <topic href="http://www.google.com" label="Google it!" />
   </context>
   <context id="my.plugin.id.context_id_page2">
          <description>This wizard helps you in creating MyProject Page2.</description>
          <topic href="http://www.google.com" label="Google it!" />
   </context>
</contexts>

当我在左侧使用F1或问号时出现帮助,但如果我转到第2页然后返回第1页,则不会出现帮助! 那是, New-&gt; MyProject,第1页和第2页第一次工作,现在如果我向后导航,上下文帮助不起作用!
怎么解决这个问题?
所有其他功能都运行良好!
感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我认为您需要在为父组合页面上的向导页面创建的Composite上设置帮助,不是

您可以使用:

PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), "context id");

可以确定这是在致电setControl()之后。