1

我在 Eclipse 插件中做了两个向导页面,实际上我添加了另一个项目类型,称为 MyProject,所以当用户执行 New->MyProject (Similar to New->Java) 时,会出现 MyProject 的向导页面。这个 MyProject 有两个页面,填写 page1 并点击 Next 你去 page2。 我在创建向导页面的页面的public void createControl(Composite parent)中添加了上下文帮助,{First line for page1.java and second line for 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 或左侧的问号时会出现帮助,但是如果我转到 page2 然后返回 page1,则不会出现帮助!也就是说,New->MyProject,第一次在 Page1 和 Page2 中工作,现在如果我向后导航,上下文帮助不起作用!
如何解决这个问题?
所有其他功能都运行良好!
提前感谢您的帮助。

4

1 回答 1

3

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

你可以使用:

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

可以确定这是在调用setControl().

于 2013-10-11T08:51:48.510 回答