Στη λειτουργία επεξεργασίας του παραδείγματος Java μεταβιβάζονται πολλές χρήσιμες προεπιλεγμένες συμπεριφορές από την κλάση AbstractTextEditor. Το πλαίσιο επεξεργασίας κειμένου χειρίζεται διάφορες άλλες ευθύνες τις οποίες μπορείτε να προσαρμόσετε αντκαθιστώντας μεθόδους στην κλάση AbstractTextEditor. Αναζητήστε στην υλοποίηση αυτής της κλάσης και των υποκλάσεών της τον τρόπο ρύθμισης της συμπεριφοράς στο πλαίσιο.
Ακολουθούν κάποιες χρήσιμες λειτουργίες πλαισίου που μπορούν να ρυθμιστούν.
Συνήθως οι λειτουργίες επεξεργασίας κειμένου συνεισφέρουν προτιμήσεις χρήστη που ελέγχουν την παρουσίαση και τη συμπεριφορά της λειτουργίας επεξεργασίας. Στο πλαίσιο κειμένου, κάθε χρήση λειτουργίας επεξεργασίας κειμένου διαθέτει έναν αντίστοιχο χώρο αποθήκευσης προτιμήσεων που χρησιμοποιείται για την πρόσβαση στις προτιμήσεις του χρήστη. Αυτός ο χώρος αποθήκευσης προτιμήσεων μπορεί να ορισθεί από τη λειτουργία επεξεργασίας ή να μεταβιβαστεί από χώρους αποθήκευσης προτιμήσεων που έχουν ήδη χρησιμοποιηθεί στο πλαίσιο.
Στην περίτπωση της λειτουργίας επεξεργασίας του παραδείγματος Java, μεταβιβάζεται ο χώρος αποθήκευσης προτιμήσεων στον οποίο αρχικές τιμές αποδίδει η κλάση TextEditor. Αυτός ο χώρος αποθήκευσης προτιμήσεων ορίζεται από την πρόσθετη λειτουργία επεξεργασίας του πάγκου εργασίας.
protected void initializeEditor() { ... setPreferenceStore(EditorsPlugin.getDefault().getPreferenceStore()); }Η διαχείριση των προτιμήσεων πρόσθετων λειτουργιών επεξεργασίας μπορεί να γίνει από τις σελίδες προτιμήσεων
Αν δε θέλετε να χρησιμοποιήσετε τις τυπικές προτιμήσεις κειμένου του πάγκου εργασίας για τη λειτουργία επεξεργασίας, μπορείτε να ορίσετε ένα διαφορετικό χώρο αποθήκευσης προτιμήσεων. Αυτό γίνεται συνήθως αντικαθιστώντας τη μέθοδο initializeEditor και ορίζοντας το δικό σας χώρο αποθήκευσης προτιμήσεων. Αν πράγματι χρησιμοποιείτε το δικό σας χώρο αποθήκευσης προτιμήσεων, θα χρειαστεί επίσης να αντικαταστήσετε τη μέθοδο handlePreferenceStoreChanged() που ενεργοποιείται αυτόματα κάθε φορά που πραγματοποιείται ενημέρωση προτίμησης.
Τα Περιβάλλοντα δεσμών πλήκτρων είναι χρήσιμα για την καθιέρωση μιας σειράς αναζήτησης δεσμών πλήκτρων. Η χρήση συμφραστικών δεσμών πλήκτρων μειώνει τις πιθανότητες διαφορετικές πρόσθετες λειτουργίες να συνεισφέρουν ακολουθίες πλήκτρων που βρίσκονται σε διένεξη. Ως προεπιλογή, ο πάγκος εργασίας λειτουργεί σε ένα γενικό περιβάλλον για εργασία με παράθυρα ή πλαίσια διαλόγου. Όταν ενεργοποιείται μια λειτουργία επεξεργασίας κειμένου, τότε είναι υπεύθυνη για την επαναφορά του περιβάλλοντος στο περιβάλλον επεξεργασίας κειμένου, έτσι ώστε να ενεργοποιηθούν οι δεσμοί πλήκτρων που εξαρτώνται από τη λειτουργία επεξεργασίας.
Στο πλαίσιο κειμένου πλατφόρμας, κάθε χρήση λειτουργίας επεξεργασίας κειμένου έχει έναν αντίστοιχο πίνακα που περιέχει τις εμβέλειες των δεσμών πλήκτρων. Όταν ενεργοποιηθεί, είναι υπεύθυνος για τη ρύθμιση των σωστών εμβελειών. Η κλάση AbstractDecoratedTextEditor ορίζει αυτή την εμβέλεια και φροντίζει ώστε να ενεργοποιηθεί. Η εμβέλεια αντιστοιχίζεται με μια μέθοδο που καλείται από τη λειτουργία κατασκευής:
protected void initializeKeyBindingScopes() { setKeyBindingScopes(new String[] { "org.eclipse.ui.textEditorScope" }); }
Το όρισμα για τη μέθοδο είναι ένας πίνακας ταυτοτήτων που έχουν ορισθεί για περιβάλλοντα. Αν θέλετε η λειτουργία επεξεργασίας να ορίσει το δικό της περιβάλλον δεσμών πλήκτρων, τότε μπορείτε να αντικαταστήσετε αυτή τη μέθοδο στην κλάση της λειτουργίας επεξεργασίας, ή να ορίσετε δυναμικά την εμβέλεια χρησιμοποιώντας την εφαρμογή setKeybindingScopes.
Το περιβάλλον πρέπει να ορισθεί με την αντίστοιχη ταυτότητα στο σημείο επέκτασης org.eclipse.ui.contexts. Ακολουθεί ο ορισμός για το περιβάλλον επεξεργασίας κειμένου.
<extension point="org.eclipse.ui.contexts"> <context name="%context.editingText.name" description="%context.editingText.description" id="org.eclipse.ui.textEditorScope" parentId="org.eclipse.ui.contexts.window"> </context> ...
(Σημείωση: Οι όροι εμβέλεια και περιβάλλον χρησιμοποιούνται κατ' εναλλαγή σε αυτή την ανάλυση. Τα ονόματα μεθόδων στις κλάσεις κειμένων ονομάζουν ακόμη εμβέλειες τα περιβάλλοντα δεσμών πλήκτρων. Αυτά τα ονόματα μεθόδων αντικατοπτρίζουν την αρχική υλοποίηση για τα περιβάλλοντα ως εμβέλειες και χρησιμοποιούν ξεπερασμένη ορολογία.)