1

eclipseRCPアプリケーションで独自のツールを作成しました。ツールがアクティブになると特定のビューが開き、F1ボタンを押すと動的ヘルプが表示されます。

context.xmlを設定し、ビューのcreatePartControl関数に次の行があります。

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

「lineer.udig.tools.yoltool.bufferView」は私のビューIDであり、「myId」は<context id="myId">context.xmlの私のコンテキストIDです。

ツールを選択するとビューが開き、このビューの任意のテキストボックスをクリックしてを押すF1と、動的ヘルプが機能します。

ただし、textBoxまたはcomboBoxをクリックせずに、このビューの任意の場所にこのヘルプを表示したいと思います。

4

1 に答える 1

1

関数 createPartControl は「複合親」のパラメータを取得しています

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

したがって、コンポジットをプライベート変数private Composite parent;にすると、関数内で

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

クラスの最後に、これらの 2 行を setFocus() 関数に追加する必要があります。

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

    }

したがって、これらの変更の後、ビューがアクティブ化されると、ダイナミック ヘルプが自動的に機能します。

于 2013-02-12T07:53:51.660 に答える