#author("2023-02-08T00:40:36+00:00","","")
#author("2023-06-15T10:10:34+00:00","","")
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。

#contents

**概要。 [#te2f942e]


-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(おもしろかった[7],そうでもない[0])
#vote(おもしろかった[8],そうでもない[0])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS