Přidávání týmových akcí

Modul plug-in týmového uživatelského rozhraní definuje rozšíření rozevírací nabídky z důvodu konsolidace všech akcí souvisejících s týmem na jediném místě.   Týmová nabídka obsahuje řadu slotů podskupin tak, aby moduly plug-in poskytovatele týmu mohly vkládat akce a zároveň měly určitou míru kontroly nad pořadím položek v nabídce.   Následující markup je z manifestu modulu plug-in týmového uživatelského rozhraní:

   <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>

Týmová nabídka se přidává do rozevírací nabídky všech pohledů, které zobrazují prostředky (nebo objekty, které se přizpůsobují prostředkům).   Váš modul plug-in může použít ID této nabídky a skupiny oddělovače za účelem přidávání vašich vlastních položek nabídky.   Nic vám nebrání nadefinovat si své vlastní rozevírací nabídky, akční sady či pohledy a akce editoru.   Pokud však své akce přidáte do předdefinované týmové nabídky, koncoví uživatelé vaše akce snáze najdou.

Nejprve se podívejme na akci CVS, která ukazuje na několik zajímavostí:

   <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>
	...

Všimněte si, že akce je vložena pomocí bodu rozšíření org.eclipse.ui.popupMenus pracovní plochy.   Zde je několik věcí týkajících se týmu, ke kterým v markupu dochází:

Implementace akce do značné míry závisí na vašem konkrétním poskytovateli.