|
org.eclipse.ui.IObjectActionDelegate?はパッケージエクスプローラなどを右クリックしたときに現れるポップアップメニューに項目を追加するためのインターフェースです。 拡張ポイント †org.eclipse.ui.popupMenus plugin.xmlのサンプル †<extension point="org.eclipse.ui.popupMenus">
<objectContribution
objectClass="org.eclipse.core.resources.IFile"
↑ 選択されているのがIFileのときだけ
id="kino.objectContribution">
<action
label="実行!!" <- メニューに表示される文字列
icon="icons/sample.gif" <- アイコン
class="kino.actions.HogeAction" <- 実装クラス
menubarPath="additions" <- 追加する場所
enablesFor="1" <- 選択したファイルが1つだけの時有効
id="kino.actions.HogeAction">
</action>
</objectContribution>
</extension>
objectClassの場所は、他に objectClass="org.eclipse.core.resources.IResource" <- ファイルとか、フォルダだったら表示 objectClass="org.eclipse.jdt.core.ICompilationUnit" <- いわゆるソースファイルだったら objectClass="org.eclipse.core.resources.IFile" <- ファイルだったら表示 objectClass="org.eclipse.core.resources.IFolder" <- フォルダだったら表示 などがあります。 ポイント †実装クラスはIObjectActionDelegate?を実装します。実際に使用するメソッドは selectionChanged(IAction action, ISelection selection) run(IAction action) でしょう。 selectionChanged(IAction action, ISelection selection) †なにかが選択されたときに呼ばれるメソッドです。selectionを用いて、メニュー内でクリックされたリソースが何であるかを判定するロジックを記述します。 run(IAction action) †実際にメニューから選択されたときに呼ばれるメソッドです。selectionChangedで選択されたリソースをフィールドに保持して、runメソッド内でロジックを記述する、なんてのが基本パターンでしょうか。 TIPS †
関連リンク †この記事は 現在のアクセス:13966 |