2013-02-11 76 views
1

我在eclipse RCP應用程序中創建了自己的工具。當工具被激活時,特定的視圖被打開,當我按下F1按鈕時,我想顯示一個動態幫助。如何在eclipse RCP中顯示視圖時顯示上下文幫助

設置我的context.xml在我看來的createPartControl功能我有這樣一行:

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

「lineer.udig.tools.yoltool.bufferView」是我的觀點ID和 「身份識別碼」是我的context.xml中的context-id <context id="myId">

當我選擇我的工具時,視圖打開,當我點擊此視圖上的任何文本框並按F1,動態幫助有效。

但是,我想在此視圖的任何位置顯示此幫助,而無需單擊textBox或comboBox。

回答

1

功能的createPartControl走「複合父」

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 

    } 

所以在這些修改之後,我們的動態幫助在視圖被激活時自動工作。