org.eclipse.ui.actionSets

プラグインは、org.eclipse.ui.actionSets 拡張ポイントを使用して、メニュー、メニュー項目、およびツールバー項目をワークベンチ・メニューおよびツールバーに組み込むことができます。 すべてのプラグインのメニュー組み込みが一度に表示されることによる乱雑性を減らすため、 組み込みは、ユーザーの設定によって表示できるアクション・セットにグループ化されます。

ワークベンチ・メニューで 「ウィンドウ」->「パースペクティブのカスタマイズ...」 を選択して、 どのアクション・セットがワークベンチに組み込まれたかを見ることができます。 このオプションは、現行パースペクティブで使用可能なショートカットおよびアクション・セットをリストするダイアログを表示します。  アクション・セットは、「その他」の下に表示されます。  アクション・セットの横にあるチェックマークは、メニューおよびツールバー・アクションがワークベンチで可視であることを意味します。 アクション・セット名を選択すると、選択可能なアクションのリストが右側に表示されます。下の図は、 ワークベンチで選択可能なアクションの集合のリストを示しています  (ワークベンチは、どのプラグインをインストールしたか、どのパースペクティブがアクティブであるかによって、 異なって見える可能性があります)。

アクション・セット・リストがある「パースペクティブのカスタマイズ」ダイアログ

README ツールは、アクション・セットを使用して、いくつかの異なる「Readme Browser を開く」アクションをワークベンチ・メニューに組み込みます。  (リソース・ナビゲーターのポップアップ・メニューへの類似アクションの組み込みについてすでに説明しました。)   マークアップは、以下のとおりです。

<extension point = "org.eclipse.ui.actionSets">
	   <actionSet id="org_eclipse_ui_examples_readmetool_actionSet"
		   label="%ActionSet.name"
		   visible="true">
		   <menu id="org_eclipse_ui_examples_readmetool"
			   label="%ActionSet.menu"
			   path="window/additions"> 
			   <separator name="slot1"/>
			   <separator name="slot2"/>
			   <separator name="slot3"/>
		   </menu>
		   <action id="org_eclipse_ui_examples_readmetool_readmeAction"
			   menubarPath="window/org_eclipse_ui_examples_readmetool/slot1"
			   toolbarPath="readme"
			   label="%ReadmeAction.label"
			   tooltip="%ReadmeAction.tooltip"
	       helpContextId="org.eclipse.ui.examples.readmetool.open_browser_action_context"
			   icon="icons/ctool16/openbrwsr.gif"
			   class="org.eclipse.ui.examples.readmetool.WindowActionDelegate"
	       enablesFor="1">
		   <selection class="org.eclipse.core.resources.IFile"
					name="*.readme">
			   </selection>
		   </action>
		   ...
	   </actionSet>
 </extension>

たくさんありますが、1 つずつ順を追って、ここでは最初のアクションのみを学習しましょう。    

まずアクション・セットが宣言され、label が与えられます。  上に表示されるダイアログでアクション・セットを表示するために、 (プラグインのプロパティー・ファイル内の %ActionSet.name キーのために定義された) "ReadMe Actions" ラベルが使用されます。  visibleを true に設定したため、ワークベンチは最初にアクション・セット・リストのアクション・セットにチェックマークを付け、 そのアクションはすべて可視になります。

アクション・セット宣言の残りは、アクションが表示されるメニューおよびそのアクション自体を定義することに関係しています。

label がワークベンチ・メニューに表示されるメニューを定義します。  メニューの pathは、ワークベンチに対し、window メニューの additions スロットに新規メニューを配置することを指示しています。  (メニュー・パスおよびスロットの詳細については、メニューおよびツールバー・パスを参照してください。) さらに、メニュー内の特定ロケーションにアクションを挿入できるよう、新規メニューにいくつかのスロットを定義します。  

このマークアップだけで、ワークベンチの「ウィンドウ」メニューにメニューが表示されます。

Redame ファイル・エディター項目付きのワークベンチ「ウィンドウ」メニュー

次に、アクション自体を定義します。   

アクション定義 (idlabeliconclass) は、ビュー、エディター、およびポップアップで見られる他のアクションと類似しています。  ここでは、何が異なるのか、アクションはどうなるのかに焦点を当てて説明します。  ロケーションを示すには、menubarPath および toolbarPath を使用します。  最初に menubarPath を定義して、定義したばかりのメニュー ("window/org_eclipse_ui_examples_readmetool/slot1") のスロットにアクションを追加します。    

メニュー項目付きの「Readme ファイル・エディター」メニュー

次に、ワークベンチ・ツールバーにアクションを挿入するために新しい toolbarPath を定義します。  新しいツール・パス "readme" を定義したため、ワークベンチは他のプラグインのツールバー組み込みと関連付ける場所を決定します。

readme アクションのあるワークベンチ・ツールバー

ユーザーがアクションを選択すると何が起こるのでしょう?  このアクションは、class 属性によって指定されたクラスによってインプリメントされます。  class アクションは、アクション・セットがツールバー内のプルダウン・メニューとして表示される場合、 IWorkbenchWindowActionDelegate、または IWorkbenchWindowPulldownDelegate をインプリメントしなければなりません。  ツールバー・プルダウンを作成していないため、WindowActionDelegate を提供します。  このクラスは、ObjectActionDelegate と類似しています。  このクラスは、ユーザーがアクションを選択するときに、README セクション・ダイアログを起動します。  (セクション・ダイアログについては、アプリケーション・ダイアログで説明します。)

さらにアクションは、そのメニュー項目およびツールバーのために使用可能化条件を提供します。  メニューおよびツールバー項目は、単一 (enablesFor="1") の README ファイル (selectionClass ="org.eclipse.core.resources.IFile"name="*.readme") が選択された場合のみ、使用可能になります。  このアクションのメニューおよびツールバーの項目は、plugin.xml ファイルのマークアップを基にして表示され、使用可能になります。  ユーザーがアクションを選択し、class アクションを実行するまで、プラグイン・コードはどれも実行されません。

他の 2 つのアクションは、再ターゲット可能なアクションのコンテキストで説明します。

Copyright IBM Corporation and others 2000, 2003.