我在我的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。
答案 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
}
因此,经过这些修改后,我们的动态帮助会在激活视图时自动运行。