概要。 †
などで、Eclipse3.3からはメニューバーやポップアップ、エディタのショートカットメニューなどは、org.eclipse.ui.menus 拡張ポイントに統一されたことを書きました。 さて、実際にポップアップメニューやメニューからアクションが選択されたときに呼び出されるロジックは、org.eclipse.core.commands.AbstractHandler? のサブクラスに記述しますが、そのハンドラのTIPSについてです。 TIPS集 †呼び出された時のコマンドIDを取得する、選択されているオブジェクトを取得する、エディタへのポインタを取得する †logger.debug("CommandID: " + event.getCommand().getId()); // これはエディタから呼び出されなくてもエディタが開いてさえいれば、エディタへのポインタがとれる。 IEditorPart editorPart = HandlerUtil.getActiveEditorChecked(event); ISelection selection = HandlerUtil.getActiveMenuSelectionChecked(event); logger.debug("Selection: " + HandlerUtil.getActiveMenuSelectionChecked(event)); logger.debug("Selection: " + HandlerUtil.getVariableChecked(event, "selection")); logger.debug("activeEditorId: " + HandlerUtil.getVariableChecked(event, "activeEditorId")); logger.debug("activeEditorId: " + HandlerUtil.getActiveEditorIdChecked(event)); CommandID: nu.mine.kino.plugin.google.ui.commands.SiteSearchCommand Selection: org.eclipse.jface.text.TextSelection@1a051733 Selection: org.eclipse.jface.text.TextSelection@1a051733 activeEditorId: org.eclipse.ui.DefaultTextEditor activeEditorId: org.eclipse.ui.DefaultTextEditor この記事は 現在のアクセス:10194 |