Εσωτερικές και εξωτερικές λειτουργίες επεξεργασίας

org.eclipse.ui.editors

Αυτό το σημείο επέκτασης χρησιμοποιείται για την προσθήκη νέων λειτουργιών επεξεργασίας στον πάγκο εργασίας. Η λειτουργία επεξεργασίας είναι ένα οπτικό στοιχείο στη σελίδα του πάγκου εργασίας. Χρησιμοποιείται συνήθως για την επεξεργασία και την αναζήτηση ενός εγγράφου ή ενός αντικειμένου εισόδου. Για το άνοιγμα μιας λειτουργίας επεξεργασίας, ο χρήστης συνήθως καλεί "Άνοιγμα" σε ένα αρχείο IFile. Όταν πραγματοποιηθεί αυτή η ενέργεια, συνυπολογίζεται το μητρώο του πάγκου εργασίας για τον καθορισμό μιας κατάλληλης λειτουργίας επεξεργασίας για το είδος αρχείων και στη συνέχεια δημιουργείται μια νέα χρήση του είδους λειτουργίας επεξεργασίας. Το τελικό αποτέλεσμα εξαρτάται από το είδος της λειτουργίας επεξεργασίας. Ο πάγκος εργασίας υποστηρίζει τη δημιουργία εσωτερικών λειτουργιών επεξεργασίας, οι οποίες είναι πλήρως ενοποιημένες στον πάγκο εργασίας, καθώς και εξωτερικών λειτουργιών επεξεργασίας, οι οποίες εκτελούνται σε ένα ξεχωριστό παράθυρο πλαισίου. Επίσης, υπάρχουν διάφορα επίπεδα ενοποίησης μεταξύ αυτών των ορίων.

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

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

<!ELEMENT extension (editor*)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT editor (contentTypeBinding*)>

<!ATTLIST editor

id               CDATA #REQUIRED

name             CDATA #REQUIRED

icon             CDATA #IMPLIED

extensions    CDATA #IMPLIED

class            CDATA #IMPLIED

command          CDATA #IMPLIED

launcher CDATA #IMPLIED

contributorClass CDATA #IMPLIED

default (true | false) "false"

filenames CDATA #IMPLIED

symbolicFontName CDATA #IMPLIED

matchingStrategy CDATA #IMPLIED>


<!ELEMENT contentTypeBinding EMPTY>

<!ATTLIST contentTypeBinding

contentTypeId CDATA #REQUIRED>

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



Παρακάτω δίνεται ένα παράδειγμα ορισμού επέκτασης μιας εσωτερικής λειτουργίας επεξεργασίας:

   

<extension point=

"org.eclipse.ui.editors"

>

<editor id=

"com.xyz.XMLEditor"

name=

"Fancy XYZ XML editor"

icon=

"./icons/XMLEditor.gif"

extensions=

"xml"

class=

"com.xyz.XMLEditor"

contributorClass=

"com.xyz.XMLEditorContributor"

symbolicFontName=

"org.eclipse.jface.textfont"

default=

"false"

>

</editor>

</extension>

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

Αν χρησιμοποιείται το γνώρισμα λειτουργίας εκκίνησης, η λειτουργία επεξεργασίας θα θεωρηθεί επίσης εξωτερικό πρόγραμμα. Σε αυτή την περίπτωση η καθορισμένη κλάση πρέπει να υλοποιεί τη διεπαφή org.eclipse.ui.IEditorLauncher. Η λειτουργία εκκίνησης θα ενεργοποιηθεί και στη συνέχεια θα κληθεί άνοιγμα(αρχείο IFile) για την εκκίνηση της λειτουργίας επεξεργασίας.

Αν χρησιμοποιείται το γνώρισμα κλάσης, ο πάγκος εργασίας θα θεωρήσει ότι πρόκειται για μια εσωτερική λειτουργία επεξεργασίας και η καθορισμένη κλάση πρέπει να υλοποιεί τη διεπαφή org.eclipse.ui.IEditorPart. Συνηθίζεται να δημιουργείται υποκλάση της org.eclipse.ui.EditorPart κατά τον καθορισμό ενός νέου είδους λειτουργίας επεξεργασίας. Είναι επίσης απαραίτητος ο καθορισμός ενός γνωρίσματος contributorClass. Η καθορισμένη κλάση πρέπει να υλοποιεί τη διεπαφή org.eclipse.ui.IEditorActionBarContributor ενώ χρησιμοποιείται για την προσθήκη νέων ενεργειών στο μενού και τη γραμμή εργαλείων του πάγκου εργασίας, οι οποίες αντιστοιχούν με τις λειτουργίες του είδους λειτουργίας επεξεργασίας.

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

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

Οι ενέργειες και τα μενού που προστίθενται σε αυτές τις διαδρομές θα εμφανίζονται μόνο όταν είναι ενεργή η συσχετισμένη λειτουργία επεξεργασίας. Όταν είναι κλειστή η λειτουργία επεξεργασίας, τα μενού και οι ενέργειες αφαιρούνται.

Ο πάγκος εργασίας παρέχει μια "Προεπιλεγμένη λειτουργία επεξεργασίας κειμένου". Το προϊόν για τον τελικό χρήστη είναι πιθανό να περιέχει και άλλες λειτουργίες επεξεργασίας μέσα στο πακέτο αποστολής. Σε αυτή την περίπτωση, οι λειτουργίες επεξεργασίας θα καταχωρηθούν ως επεκτάσεις με τη σύνταξη που περιγράφεται παραπάνω.