ビュー (ツリービューアーを含む) のコンテキスト メニューとカスタム エディターのコンテキスト メニューに追加したコマンドがあります。
私のハンドラーで、コマンドが呼び出されたコンテキスト メニューを区別する方法はありますか? これは、ビューの場合、次のようなものを使用して必要なデータを取得するためです。
ISelection selection = HandlerUtil.getActiveWorkbenchWindow(event)
.getActivePage().getSelection();
if (selection != null & selection instanceof IStructuredSelection)
{
IStructuredSelection strucSelection = (IStructuredSelection) selection;
.....
もちろん、エディターの場合、選択は null です。そこで、エディター部分を処理するために次を追加しました。
IEditorPart editor = HandlerUtil.getActiveEditor(event);
IEditorInput input = editor.getEditorInput();
IPath path = ((FileEditorInput)input).getPath();
しかし、私のビューからこのコマンドを実行しても、常にアクティブなエディターが返されます。これは、ビューまたはエディターがフォーカスされているかどうかに基づいてアクティブになる個別のハンドラーに書き込む必要があるということですか?
ありがとうございました!