Μόλις εξετάσαμε πώς οι λειτουργίες επεξεργασίας μπορούν να συνεισφέρουν τις δικές τους ενέργειες στα μενού και τη γραμμή εργαλείων του πάγκου εργασίας όταν είναι ενεργά. Το σημείο επέκτασης org.eclipse.ui.editorActions επιτρέπει σε μια πρόσθετη λειτουργία να προσθέσει στοιχεία στα μενού και τη γραμμή εργαλείων του πάγκου εργασίας όταν ενεργοποιηθεί άλλη λειτουργία επεξεργασίας μιας πρόσθετης λειτουργίας.
Στο παράδειγμα αρχείου readme, η πρόσθετη λειτουργία χρησιμοποιεί το σημείο επέκτασης editorActions για να συνεισφέρει πρόσθετες ενέργειες στο μενού που συνεισφέρει η λειτουργία επεξεργασίας αρχείων readme. Ο ορισμός στο αρχείο μας plugin.xml πρέπει πλέον να μοιάζει οικείος.
<extension point = "org.eclipse.ui.editorActions"> <editorContribution id="org.eclipse.ui.examples.readmetool.ec1" targetID="org.eclipse.ui.examples.readmetool.ReadmeEditor"> <action id="org.eclipse.ui.examples.readmetool.ea1" label="%Editors.Action.label" toolbarPath="ReadmeEditor" icon="icons/obj16/editor.png" tooltip="%Editors.Action.tooltip" class="org.eclipse.ui.examples.readmetool.EditorActionDelegate" definitionId="org.eclipse.ui.examples.readmetool.ea1" /> </editorContribution> </extension>
Όπως και σε μια ενέργεια προβολής, η επέκταση πρέπει να προσδιορίζει την targetID της λειτουργίας επεξεργασίας στην οποία συνεισφέρει ενέργειες. Η ίδια η ενέργεια μοιάζει πολύ με μια ενέργεια προβολής (id, label, icon, toolbarPath, ... ), με τη διαφορά ότι η καθορισμένη κλάση πρέπει να υλοποιήσει το IEditorActionDelegate και πρέπει να καθοριστεί μια definitionId που θα διασυνδέει αυτή την ενέργεια με μια Εντολή, η οποία έχει καθοριστεί από την επέκταση org.eclipse.ui.commands. Η επέκταση αυτή είναι σημαντική για τους δεσμούς πλήκτρων. Ανατρέξατε στο Εντολές.
Σημειώστε ότι δεν προσδιορίζεται η διαδρομή γραμμής μενού σε αυτή τη μορφοποίηση. Συνεπώς, η ενέργεια θα εμφανιστεί στη γραμμή εργαλείων του πάγκου εργασίας όταν η λειτουργία επεξεργασίας είναι ενεργή, κι όχι στη γραμμή μενού του πάγκου εργασίας. (Δείτε Διαδρομές μενού και γραμμών εργαλείων για την περιγραφή των διαδρομών μενού και γραμμών εργαλείων).
Σίγουρα, όταν η λειτουργία επεξεργασίας είναι ενεργή, βλέπουμε την ενέργεια της λειτουργίας επεξεργασίας στη γραμμή εργαλείων δίπλα στις ενέργειες που συνεισφέρει η ίδια η λειτουργία επεξεργασίας.
Το εργαλείο διαχείρισης αρχείων readme παρέχει την EditorActionDelegate για την υλοποίηση της ενέργειας. Αυτή η κλάση μοιάζει εξαιρετικά με τον εκπρόσωπο ενέργειας προβολής που είδαμε πιο πριν.
public void run(IAction action) { MessageDialog.openInformation(editor.getSite().getShell(), MessageUtil.getString("Readme_Editor"), MessageUtil.getString("Editor_Action_executed")); }