Προσθήκη ενεργειών συνεργασίας

Η πρόσθετη λειτουργία περιβάλλοντος συνεργασίας ορίζει την επέκταση ενός αναδυόμενου μενού προκειμένου να ενοποιεί σε μία θέση όλες τις ενέργειες που σχετίζονται με τη συνεργασία.  Το μενού συνεργασίας περιλαμβάνει πολλές υποδοχές υπο-ομάδων, έτσι ώστε οι πρόσθετες λειτουργίες του παροχέα συνεργασίας να μπορούν να συνεισφέρουν ενέργειες και να έχουν ένα βαθμό ελέγχου στη σειρά των στοιχείων στο μενού.  Ο παρακάτω κώδικας είναι από τη δήλωση πρόσθετης λειτουργίας περιβάλλοντος συνεργασίας:

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

Στο αναδυόμενο μενού όλων των προβολών προστίθεται ένα μενού συνεργασίας, το οποίο εμφανίζει τους πόρους (ή τα αντικείμενα που προσαρμόζονται στους πόρους).  Η πρόσθετη λειτουργία σας μπορεί να χρησιμοποιεί την ταυτότητα του μενού αυτού και τις ομάδες διαχωριστικών για την προσθήκη των δικών σας στοιχείων μενού.  Τίποτα δεν σας εμποδίζει να ορίζετε τα δικά σας αναδυόμενα μενού, τα σύνολα ενεργειών ή τις δικές σας ενέργειες προβολών και λειτουργιών επεξεργασίας.  Ωστόσο, η προσθήκη των δικών σας ενεργειών στο προκαθορισμένο μενού συνεργασίας διευκολύνει τον τελικό χρήστη στην ανεύρεση των ενεργειών σας.

Ας δούμε μια ενέργεια 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 του πάγκου εργασίας.  Παρακάτω δίνονται ορισμένα στοιχεία, ειδικά για τη συνεργασία, τα οποία εμφανίζονται στον κώδικα:

Η υλοποίηση μιας ενέργειας εξαρτάται σε πολύ μεγάλο βαθμό από τον συγκεκριμένο παροχέα σας.