如何在eclipse插件中调用contexts.xml文件

时间:2015-02-09 17:24:39

标签: eclipse eclipse-plugin eclipse-rcp

我创建了一个带有视图项目的eclipse插件。我有一个contexts.xml文件,我已经配置它。请参考以下代码。

<contexts>
<context id="Help" title="Plug-in Help">
    <description>context help for the sample view</description>
    <topic href="resources/text.html" label="Context-sensitive help">
    </topic>
</context>
</contexts>

我有一个名为&#34; text&#34;的html文件在插件项目内的资源文件夹下。

//Listener to invoke the help method of RepositoryAccessor class
bHelp.addMouseListener(new MouseAdapter() {
    @Override
    public void mouseDown(MouseEvent arg0){

    Display display=PlatformUI.getWorkbench().getDisplay();
     Shell shell = new Shell(display);

     GridLayout grid11=new GridLayout(3,true);

     //Layout of controls inside the plugin view
     shell.setLayout(grid11);

   Text text = new Text(shell, SWT.NONE);

   PlatformUI.getWorkbench().getHelpSystem().setHelp(text,"help");
   PlatformUI.getWorkbench().getHelpSystem().displayHelp("help"); 
}
}

b帮助是一个按钮。一旦我运行eclipse插件并单击bHelp按钮,我得到一个新的shell窗口,我只看到空标签。

请建议一种方法,将html内容分配给弹出窗口中创建的标签(新shell)。 enter image description here

在步骤1中,我单击“帮助”图标,然后打开一个新shell。在第2步中,标签仍显示&#34; sfsf&#34;而不是&#34; text.html&#34;。

中的内容

1 个答案:

答案 0 :(得分:0)

您必须使用org.eclipse.help.contexts扩展点告诉Eclipse您的contexts.xml:

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

setHelp调用仅注册控件的帮助,但不显示帮助。如果要显示帮助上下文ID,请使用:

PlatformUI.getWorkbench().getHelpSystem().displayHelp("your context id");

请注意,帮助系统始终打开自己的视图以显示帮助(如果使用TrayDialog或其子类之一,则展开对话框。)

因此,如果你有一个Button,你可以通过以下方式调用帮助:

button.addSelectionListener(new SelectionAdapter()
  {
    @Override
    public void widgetSelected(SelectionEvent e)
    {
      PlatformUI.getWorkbench().getHelpSystem().displayHelp("your context id");
    }
  });