org.eclipse.ui.viewActions

Είναι σύνηθες για τις πρόσθετες λειτουργίες να συνεισφέρουν συμπεριφορά σε προβολές που υπάρχουν ήδη στον πάγκο εργασίας. Αυτό γίνεται μέσω του σημείου επέκτασης org.eclipse.ui.viewActions. Αυτό το σημείο επέκτασης επιτρέπει σε πρόσθετες λειτουργίες να συνεισφέρουν στοιχεία μενού, υπομενού και καταχωρήσεις γραμμής εργαλείων στο τοπικό αναπτυσσόμενο μενού και την τοπική γραμμή εργαλείων μιας υπάρχουσας προβολής.

Μπορεί να παρατηρήσατε ένα στοιχείο στην τοπική γραμμή εργαλείων της λειτουργίας πλοήγησης που ενεργοποιείται όταν επιλέγεται το αρχείο readme. Αυτό το στοιχείο εμφανίζεται επίσης στο τοπικό αναπτυσσόμενο μενού της λειτουργίας πλοήγησης. Αυτές οι ενέργειες εμφανίζονται διότι η πρόσθετη λειτουργία του εργαλείου διαχείρισης αρχείων readme τις συνεισφέρει χρησιμοποιώντας την επέκταση viewActions.

Ακολουθεί παρακάτω η συνεισφορά του σχετικού αρχείου plugin.xml.

<extension
    point = "org.eclipse.ui.viewActions">
      <viewContribution 
         id="org.eclipse.ui.examples.readmetool.vc1" 
         targetID="org.eclipse.ui.views.ResourceNavigator">        
	   <action id="org.eclipse.ui.examples.readmetool.va1" 
              label="%PopupMenu.ResourceNav.label" 
	      menubarPath="additions"
              toolbarPath="additions" 
              icon="icons/obj16/editor.png" 
              tooltip="%PopupMenu.ResourceNav.tooltip" 
   	      helpContextId="org.eclipse.ui.examples.readmetool.view_action_context"
              class="org.eclipse.ui.examples.readmetool.ViewActionDelegate" 
              enablesFor="1"> 
		<selection class="org.eclipse.core.resources.IFile" name="*.readme"/> 
	   </action>
      </viewContribution>
 </extension>

Καθορίζεται μια συνεισφορά προβολής με μοναδική ταυτότητα. Η προβολή στην οποία προσθέτουμε την ενέργεια καθορίζεται στην targetID. Συνεισφέρουμε στο μενού της λειτουργίας πλοήγησης πόρων. Προσδιορίζουμε την ετικέτα και τις θέσεις της γραμμής μενού και της γραμμής εργαλείων για τη νέα ενέργεια.  (Για πλήρη περιγραφή των θέσεων μενού και γραμμής εργαλείων, δείτε Διαδρομές μενού και γραμμών εργαλείων).

Προσδιορίζουμε επίσης τις συνθήκες υπό τις οποίες θα ενεργοποιηθεί η ενέργεια. Μπορείτε να δείτε ότι η ενέργεια αυτή θα ενεργοποιηθεί όταν υπάρχει μία επιλογή (enablesFor="1") του είδους IFile (class="org.eclipse.core.resources.IFile"), του οποίου το όνομα έχει ".readme" στην επέκταση του αρχείου (name="*.readme"). Με σιγουριά, αυτό ακριβώς είναι που συμβαίνει όταν πατάτε στη λειτουργία πλοήγησης πόρων.  

Οι πληροφορίες στο αρχείο plugin.xml είναι το μόνο που χρειάζεται για την προσθήκη στοιχείων σε μενού και γραμμές εργαλείων, εφόσον ο κώδικας της πρόσθετης λειτουργίας θα εκτελεστεί μόνο όταν η ενέργεια επιλεγεί από το μενού ή τη γραμμή εργαλείων. Για την παροχή της συμπεριφοράς ενέργειας, η καθορισμένη κλάση υλοποίησης στο αρχείο plugin.xml πρέπει να υλοποιεί τη διεπαφή IViewActionDelegate.

Σε αυτό το παράδειγμα, η πρόσθετη λειτουργία αρχείων readme παρέχει ViewActionDelegate για την υλοποίηση της ενέργειας. Εάν αναζητήσετε την κλάση αυτή, θα δείτε ότι περιλαμβάνει μεθόδους για υπενθύμιση της προβολής της, των αλλαγών επιλογής χειρισμού, και της κλήσης της ενέργειάς της.  Κατά την κλήση της, η ίδια η ενέργεια απλά εκκινεί ένα πλαίσιο διαλόγου που ανακοινώνει ότι εκτελέστηκε.

public void run(org.eclipse.jface.action.IAction action) {
	MessageDialog.openInformation(view.getSite().getShell(),
		MessageUtil.getString("Readme_Editor"),  
		MessageUtil.getString("View_Action_executed")); 
}

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