Εντολές

org.eclipse.ui.commands

2.1

Το σημείο επέκτασης org.eclipse.ui.commands χρησιμοποιείται για τη δήλωση εντολών και κατηγοριών εντολών, χρησιμοποιώντας τα στοιχεία command και category. Μια εντολή είναι μια αφηρημένη αναπαράσταση κάποιας σημασιολογικής συμπεριφοράς και όχι η πραγματική του υλοποίηση. Αυτό επιτρέπει σε διάφορους προγραμματιστές να συνεισφέρουν συγκεκριμένη συμπεριφορά για τα μεμονωμένα μέρη τους. Για παράδειγμα, μπορεί να υπάρξει μια εντολή "επικόλληση" με μία υλοποίηση στη μια λειτουργία επεξεργασίας και διαφορετική υλοποίηση σε ένα όργανο λειτουργίας εξερεύνησης. Αυτές οι υλοποιήσεις ονομάζονται ρουτίνες χειρισμού. Μπορείτε να προβάλλετε τις εντολές ως ενδεικτικοί δείκτες λειτουργίας ή ως ρουτίνες χειρισμού σήματος.

<!ELEMENT extension (category* , command* , commandParameterType* , keyBinding* , keyConfiguration* , context* , scope* , activeKeyConfiguration?)>

<!ATTLIST extension

id    CDATA #IMPLIED

name  CDATA #IMPLIED

point CDATA #REQUIRED>


<!ELEMENT command (defaultHandler? , state* , commandParameter*)>

<!ATTLIST command

category       CDATA #IMPLIED

description    CDATA #IMPLIED

id             CDATA #REQUIRED

name           CDATA #REQUIRED

categoryId  CDATA #IMPLIED

defaultHandler CDATA #IMPLIED

returnTypeId   CDATA #IMPLIED

helpContextId  CDATA #IMPLIED>

Αυτό το στοιχείο χρησιμοποιείται για τον ορισμό εντολών. Μια εντολή αναπαριστά ένα αίτημα του χρήστη, το οποίο μια ενέργεια μπορεί να χειριστεί, και πρέπει να είναι σημασιολογικά μοναδική μεταξύ άλλων εντολών. Μην ορίζεται μια εντολή εάν υπάρχει ήδη άλλη ορισμένη με την ίδια σημασία. Εάν υπάρχουν περισσότερα από ένα στοιχεία στο ίδιο γνώρισμα id, θεωρείται έγκυρο μόνο το τελευταίο δηλωμένο στοιχείο (με τη σειρά ανάγνωσης του μητρώου της πρόσθετης λειτουργίας). Δείτε τα σημεία επέκτασης org.eclipse.ui.actionSets και org.eclipse.ui.editorActions για την κατανόηση του τρόπου με τον οποίο οι ενέργειες συνδέονται με εντολές.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name  CDATA #REQUIRED>

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



<!ELEMENT commandParameter (values?)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values CDATA #IMPLIED

typeId   CDATA #IMPLIED

optional (true | false) "true">

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

Από την έκδοση: 3.1



<!ELEMENT commandParameterType EMPTY>

<!ATTLIST commandParameterType

id        CDATA #REQUIRED

type      CDATA #IMPLIED

converter CDATA #IMPLIED>

Ορίζει το είδος αντικειμένου μιας commandParameter και μπορεί να προσδιορίζει μια υποκλάση org.eclipse.core.commands.AbstractParameterValueConverter για μετατροπή μεταξύ τιμών και αντικειμένων παραμέτρου σειράς χαρακτήρων.

Από την έκδοση: 3.2



<!ELEMENT values (parameter*)>

<!ATTLIST values

class CDATA #REQUIRED>

Η πιο αναλυτική έκδοση του γνωρίσματος values στην commandParameter.

Από την έκδοση: 3.1



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Μια πιθανή τιμή για παράμετρο.

Από την έκδοση: 3.1



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

Η προεπιλεγμένη ρουτίνα χειρισμού για την εντολή αυτή. Εάν δεν είναι ενεργή άλλη ρουτίνα χειρισμού, θα είναι ενεργή αυτή η ρουτίνα χειρισμού. Αυτή ρουτίνα χειρισμού θα έρθει σε διένεξη με άλλους ορισμούς για ρουτίνες χειρισμού που δεν καθορίζουν συνθήκες activeWhen. Εάν δεν δημιουργείται μια IExecutableExtension, μπορείτε αντίθετα να χρησιμοποιήσετε το γνώρισμα defaultHandler.

Από την έκδοση: 3.1



<!ELEMENT state (class?)>

<!ATTLIST state

class CDATA #IMPLIED

id  CDATA #REQUIRED>

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

Από την έκδοση: 3.2



<!ELEMENT class (parameter*)>

<!ATTLIST class

class CDATA #REQUIRED>

η κλάση η οποία μπορεί να φορτωθεί για την αποθήκευση της κατάστασης αυτής της εντολής. Αυτό το στοιχείο χρησιμοποιείται σε περίπτωση που επιθυμείτε να μεταβιβάσετε πολλαπλές παραμέτρους σε μια org.eclipse.core.runtime.IExecutableExtension.

Από την έκδοση: 3.2



Το στοιχείο keyConfiguration καταργήθηκε

<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Αυτό το στοιχείο χρησιμοποιείται για τον ορισμό ρυθμίσεων πλήκτρων. Εάν υπάρχουν περισσότερα από ένα στοιχεία στο ίδιο γνώρισμα id, θεωρείται έγκυρο μόνο το τελευταίο δηλωμένο στοιχείο (με τη σειρά ανάγνωσης του μητρώου της πρόσθετης λειτουργίας). Χρησιμοποιήστε αντίθετα το σημείο επέκτασης "org.eclipse.ui.bindings".



Το στοιχείο context καταργήθηκε

<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Αυτό το στοιχείο χρησιμοποιείται για τον ορισμό περιβαλλόντων. Εάν υπάρχουν περισσότερα από ένα στοιχεία στο ίδιο γνώρισμα id, θεωρείται έγκυρο μόνο το τελευταίο δηλωμένο στοιχείο (με τη σειρά ανάγνωσης του μητρώου της πρόσθετης λειτουργίας). Χρησιμοποιήστε αντίθετα το σημείο επέκτασης org.eclipse.ui.contexts.



Το στοιχείο scope καταργήθηκε

<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent CDATA #IMPLIED>

Αυτό το στοιχείο χρησιμοποιείται για τον ορισμό εμβελειών. Εάν υπάρχουν περισσότερα από ένα στοιχεία στο ίδιο γνώρισμα id, θεωρείται έγκυρο μόνο το τελευταίο δηλωμένο στοιχείο (με τη σειρά ανάγνωσης του μητρώου της πρόσθετης λειτουργίας). @deprecated Χρησιμοποιήστε αντίθετα το σημείο επέκτασης "org.eclipse.ui.contexts".



Το στοιχείο activeKeyConfiguration καταργήθηκε

<!ELEMENT activeKeyConfiguration EMPTY>

<!ATTLIST activeKeyConfiguration

value         CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED>

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

Αυτό το στοιχείο έχει αντικατασταθεί με μια προτίμηση. Εάν η εφαρμογή σας πρέπει να αλλάξει την προεπιλεγμένη ρύθμιση πλήκτρων, τότε προσδιορίστε το παρακάτω στο αρχείο plugin_customization.ini: org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id.



Το στοιχείο keyBinding καταργήθηκε

<!ELEMENT keyBinding EMPTY>

<!ATTLIST keyBinding

configuration CDATA #IMPLIED

command           CDATA #IMPLIED

locale    CDATA #IMPLIED

platform   CDATA #IMPLIED

contextId          CDATA #IMPLIED 

string CDATA #IMPLIED

scope CDATA #IMPLIED

keyConfigurationId CDATA #IMPLIED

commandId  CDATA #IMPLIED

keySequence CDATA #IMPLIED>

Αυτό το στοιχείο επιτρέπει την αντιστοίχιση ακολουθιών πλήκτρων με εντολές. Χρησιμοποιήστε αντίθετα το στοιχείο key στο σημείο επέκτασης "org.eclipse.ui.bindings".



Το αρχείο plugin.xml στην πρόσθετη λειτουργία org.eclipse.ui κάνει εκτεταμένη χρήση του σημείου επέκτασης org.eclipse.ui.commands.

Οι ρουτίνες χειρισμού μπορούν να καταχωρηθούν με εντολές χρησιμοποιώντας την org.eclipse.ui.handlers.IHandlerService. Αυτή μπορεί να ανακτηθεί από διάφορα στοιχεία του πάγκου εργασίας (π.χ., πάγκος εργασίας, παράθυρο πάγκου εργασίας, δικτυακός τόπος τμήματος, κτλ.) καλώντας την getService(IHandlerService.class).

Γενικά, είναι προτιμότερο να δηλώσετε όλες τις εντολές στατικά (στο αρχείο plugin.xml). Αυτό συμβαίνει ώστε οι χρήστες να μπορούν να επισυνάψουν δεσμούς πλήκτρων στις εντολές. Ωστόσο, είναι δυνατό να δηλώσετε εντολές κατά το χρόνο εκτέλεσης. Για να γίνει αυτό, ανακτήστε την org.eclipse.ui.commands.ICommandService από ένα στοιχείο του πάγκου εργασίας, καλέστε την getCommand(yourCommandID) και στη συνέχεια καλέστε την Command.define(...).

Υπάρχουν λίγες προεπιλεγμένες υλοποιήσεις των καταστάσεων ρουτινών χειρισμού που μπορεί να φανούν χρήσιμες στους χρήστες αυτού του σημείου επέκτασης: