如何在eclipse RCP中显示视图时显示上下文帮助

时间:2013-02-11 09:58:05

标签: java eclipse-plugin eclipse-rcp

我在我的eclipse RCP应用程序中创建了自己的工具。激活工具后,将打开特定视图,当我按下F1按钮时,我想显示动态帮助。

我设置了我的context.xml,在我的View的createPartControl函数中我有这一行:

    PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "lineer.udig.tools.yoltool.bufferView.myId"); 

“lineer.udig.tools.yoltool.bufferView”是我的视图ID和 “myId”是context.xml中的context-id <context id="myId">

当我选择我的工具时,视图正在打开,当我单击此视图上的任何文本框并按 F1 时,动态帮助可以正常工作。

但是,我想在此视图的任何位置显示此帮助,而不单击textBox或comboBox。

1 个答案:

答案 0 :(得分:1)

function createPartControl正在使用“Composite parent”参数

public void createPartControl(Composite parent) {
     ..
     ..
}

因此,如果我们将复合变为私有变量private Composite parent;,那么在函数

public void createPartControl(Composite parent) {
     ..
     this.parent = parent;
}

在课程结束时,我们需要将这两行添加到setFocus()函数。

    public void setFocus() {
        // TODO Auto-generated method stub
           if(parent != null) // NEW
               parent.setFocus(); // NEW

    }

因此,经过这些修改后,我们的动态帮助会在激活视图时自动运行。