Ρύθμιση προβολής πρωτογενούς κώδικα

Μέχρι τώρα έχουμε εξετάσει την κλάση SourceViewer όσον αφορά τη διαχείριση σημειώσεων πρωτογενούς κώδικα.

Η κλάση SourceViewer αποτελεί επίσης το κέντρο για τη ρύθμιση της λειτουργίας επεξεργασίας με συμπεριφορά που μπορεί να προστεθεί όπως τη λειτουργία αναδυόμενου πλαισίου πληροφοριών κειμένου και την επισήμανση σύνταξης.   Για αυτές τις λειτουργίες η λειτουργία επεξεργασίας παρέχει μια κλάση SourceViewerConfiguration που χρησιμοποιείται για τη ρύθμιση της κλάσης SourceViewer κατά τη δημιουργία της.  Η λειτουργία επεξεργασίας του παραδείγματος Java χρειάζεται μόνο να παρέχει μια κατάλληλη για τις ανάγκες της SourceViewerConfiguration.  Το ακόλουθο τμήμα κώδικα παρουσιάζει τον τρόπο με τον οποίο η κλάση JavaTextEditor δημιουργεί τη ρύθμισή της:

protected void initializeEditor() {
	super.initializeEditor();
	setSourceViewerConfiguration(new JavaSourceViewerConfiguration());
	...

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

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

public IAnnotationHover getAnnotationHover(ISourceViewer sourceViewer) {
	return new JavaAnnotationHover();
}
	
public IAutoIndentStrategy getAutoIndentStrategy(ISourceViewer sourceViewer, String contentType) {
	return (IDocument.DEFAULT_CONTENT_TYPE.equals(contentType) ? new JavaAutoIndentStrategy() : new DefaultAutoIndentStrategy());
}

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

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