0

ツールチップは少ないヒントしか提供できないため、draw2d フィギュアなどの UI コンポーネントにF1 (コンテキスト依存IWorkbenchHelpSystem.setHelp(Control control, String contextId)) ヘルプを追加することにしました。

ここで、次のような回避策を実行します。

//in UserDefinedEditPart
@Override
protected IFigure createFigure() {
    //set help... (FIXME)   
    PlatformUI.getWorkbench().getHelpSystem().setHelp(Display.getCurrent().getActiveShell(), PublicConstants.CONTEXT_ID);
    return new UserDefinedFigure();
}

ご覧のとおり、setHelp()メソッドの最初のパラメーターは SWT または JFace コントロールである必要がありますが、現在のワークベンチに設定されていました。

解決策のアドバイスをありがとう。

4

1 に答える 1

0

SWT と draw2d のウィジェットはかなり異なります。SWT は、何かを「描画できる」draw2d にプラットフォームを提供するだけです。したがって、SWT の場合、draw2d ラベル、つまり draw2d 接続を区別する方法はありません。それが理解しているのは、「フィギュア」(子として任意の数のフィギュアを持つことができる)による何かが、指定された領域にペイントされることだけです(ペイントされた、それだけで、セマンティクスはありません)。

org.eclipse.jface.dialogs.PopupDialogクラスを見ているかもしれません。このクラスを拡張してカスタム ヘルプ ダイアログを作成できる場合があります (拡張するのはそれほど難しくありません)。

于 2013-06-17T12:08:11.483 に答える