El conector de la UI del equipo define una extensión de menú emergente destinada a consolidar en un solo lugar todas las acciones relacionadas con el equipo. El menú del equipo incluye muchas ranuras de subgrupos para que los conectores del proveedor del equipo puedan contribuir con acciones y poseer algo de control sobre el orden de aparición de los elementos en el menú. Los siguientes códigos XML proceden del manifiesto del conector de la UI del equipo:
<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>
El menú del equipo se añade al menú emergente de todas las vistas que muestran recursos (u objetos que se adaptan a los recursos). El conector puede utilizar el ID de este menú y los grupos de separación para que el usuario pueda añadir elementos de menú propios. No hay nada que le impida definir sus propios menús emergentes, conjuntos de acciones o ver y editar acciones. Sin embargo, la adición de las acciones al menú de equipo predefinido facilita la búsqueda de las acciones por parte del usuario final.
Veamos una acción de CVS que sirve de demostración de algunos puntos interesantes:
<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> ...
Observe que, para contribuir con la acción, se utiliza el punto de extensión org.eclipse.ui.popupMenus del entorno de trabajo. A continuación se indican algunos hechos específicos del equipo que suceden en los códigos XML:
La implementación de una acción depende en gran medida del proveedor específico.