Lägga till gruppåtgärder

Med insticksprogrammet för gruppanvändargränssnitt definieras en snabbmenyutökning för att konsolidera alla grupprelaterade åtgärder på ett ställe.  På gruppmenyn finns många platser för undergrupper så att insticksprogrammet för grupprovidern kan bidra med åtgärder och ha viss kontroll över i vilken ordning alternativen visas på menyn.  Följande märkord kommer från manifestet för insticksprogrammet för gruppanvändargränssnittet:

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

En gruppmeny läggs till på snabbmenyn för alla vyer som visar resurser (eller objekt som anpassas till resurser).  Insticksprogrammet kan använda ID:t för den här menyn och avgränsa grupperna för att lägga till dina egna menyalternativ.  Det finns inget som hindrar att du definierar egna snabbmenyer, åtgärdsuppsättningar eller vy- och redigeraråtgärder.  Om du lägger till egna åtgärder på fördefinierad gruppmeny blir det emellertid lättare för slutanvändaren att hitta åtgärderna.

Låt oss titta på CVS-åtgärd med vissa intressanta påpekanden:

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

Observera att åtgärden bidras med hjälp av arbetsmiljöns utökningspunktorg.eclipse.ui.popupMenus .  Här är några gruppspecifika objekt i märkningen:

Implementationen av en åtgärd beror i stort sett på din specifika provider.