チーム UI プラグインは、すべてのチーム関連のアクションを 1 つの場所に統合するため、ポップアップ・メニュー拡張を定義します。 チーム・メニューには、多くのサブグループ・スロットが含まれるため、チーム・プロバイダー・プラグインはアクションを組み込み、 メニュー内で項目の順番をある程度制御できます。 次のマークアップは、チーム UI プラグイン・マニフェストからのものです。
<extension point="org.eclipse.ui.popupMenus"> <objectContribution id="org.eclipse.team.ui.ResourceContributions" objectClass="org.eclipse.core.resources.IResource" adaptable="true"> <menu id="team.main" path="additions" label="%TeamGroupMenu.label"> <separator name="group1"/> <separator name="group2"/> <separator name="group3"/> <separator name="group4"/> <separator name="group5"/> <separator name="group6"/> <separator name="group7"/> <separator name="group8"/> <separator name="group9"/> <separator name="group10"/> <separator name="targetGroup"/> <separator name="projectGroup"/> </menu> ... </extension>
リソース (またはリソースに適応するオブジェクト) を表示するすべてのビューのポップアップ・メニューに、チーム・メニューが追加されます。 ご使用のプラグインは、このメニューおよび区切り文字グループの ID を使用できるため、独自のメニュー項目を追加できます。 ユーザー独自のポップアップ・メニューの定義、アクション・セット、またはビューおよびエディター・アクションを禁ずるということではありません。 ただし、事前定義されたチーム・メニューにアクションを追加すると、エンド・ユーザーが容易にアクションを見付けることができます。
重要なポイントをいくつか説明する CVS アクションを調べてみましょう。
<extension point="org.eclipse.ui.popupMenus"> <objectContribution objectClass="org.eclipse.core.resources.IFile" adaptable="true" id="org.eclipse.team.ccvs.ui.IFileContributions"> <filter name="projectPersistentProperty" value="org.eclipse.team.core.repository=org.eclipse.team.cvs.core.cvsnature"> </filter> <action label="%IgnoreAction.label" tooltip="%IgnoreAction.tooltip" class="org.eclipse.team.internal.ccvs.ui.actions.IgnoreAction" menubarPath="team.main/group3" helpContextId="org.eclipse.team.cvs.ui.team_ignore_action_context" id="org.eclipse.team.ccvs.ui.ignore"> </action> ...
org.eclipse.ui.popupMenus ワークベンチ拡張ポイントを使用して、アクションが組み込まれることに注意してください。 マークアップで起こるチーム特有の事項をいくつか挙げます。
アクションの実装は、特定のプロバイダーに大きく依存します。