Teamacties toevoegen

De teamgebruikersinterfaceplugin definieert een voorgrondmenu-extensie voor het consolideren van alle teamacties. Het teammenu bevat tal van subgroepen, zodat teamproviderplugins acties kunnen aanleveren en zelf de volgorde kunnen bepalen van de items in het menu. De volgende markup komt uit het manifest van de teamgebruikersinterfaceplugin:

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

Een teammenu wordt toegevoegd aan het voorgrondmenu van alle views waarin resources (of objecten die aanpasbaar zijn als resources) worden afgebeeld. U kunt in uw plugin het ID van dit menu en de scheidingsgroepen gebruiken om zelf menu-items toe te voegen. U kunt zonder beperkingen zelf voorgrondmenu's, actiesets en view- en editoracties definiëren. Het is echter eenvoudiger voor de eindgebruiker als u de acties aan het vooraf gedefinieerde teammenu toevoegt.

Hieronder volgt een voorbeeld van een CVS-actie:

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

Merk op dat de actie wordt aangeleverd met het workbenchextensiepunt org.eclipse.ui.popupMenus. In de markup worden de volgende teamspecifieke acties bewerkstelligd:

De implementatie van acties hangt grotendeels af van de specifieke provider.