- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
まだ書き途中。
#contents
**概要。 [#te2f942e]
**ハンドラクラスの書き方について。 [#le554e62]
実際にポップアップメニューやメニューからアクションが選択されたとき、呼び出されるロジックは、org.eclipse.core.commands.AbstractHandler のサブクラスに記述しますが、そのハンドラのTIPSです。
-Eclipse/プラグイン開発のTIPS集/キーバインディングを設定する(Eclipse3.3版)
-Eclipse/プラグイン開発のTIPS集/ポップアップメニューの機能を追加する(Eclipse3.3版)
-Eclipse/プラグイン開発のTIPS集/メニューバーを構築する(Eclipse3.3版)
などで、Eclipse3.3からはメニューバーやポップアップ、エディタのショートカットメニューなどは、org.eclipse.ui.menus 拡張ポイントに統一されたことを書きました。
さて、実際にポップアップメニューやメニューからアクションが選択されたときに呼び出されるロジックは、org.eclipse.core.commands.AbstractHandler のサブクラスに記述しますが、そのハンドラのTIPSについてです。
**TIPS集 [#xcb1cad9]
***呼び出された時のコマンドIDを取得する、選択されているオブジェクトを取得する、エディタへのポインタを取得する [#l122c6ec]
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
----
この記事は
#vote(おもしろかった,そうでもない)
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}