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 για την κατανόηση του τρόπου με τον οποίο οι ενέργειες συνδέονται με εντολές.
categoryId
.Η μοναδική ταυτότητα της κατηγορίας για την εντολή αυτή. Εάν η εντολή αυτή δεν καθορίζει μια κατηγορία, θα εμφανίζεται και πάλι σε κάθε περιβάλλον χρήστη, μαζί με άλλες ειδικά κατηγοριοποιημένες εντολές.
Από την έκδοση: 3.0
Η προεπιλεγμένη ρουτίνα χειρισμού για την εντολή αυτή (δείτε το σημείο επέκτασης
org.eclipse.ui.bindings). Εάν δεν είναι ενεργή άλλη ρουτίνα χειρισμού, θα είναι ενεργή αυτή η ρουτίνα χειρισμού. Αυτή ρουτίνα χειρισμού θα έρθει σε διένεξη με άλλους ορισμούς για ρουτίνες χειρισμού που δεν καθορίζουν συνθήκες activeWhen
. Εάν δημιουργείτε μια IExecutableExtension
, μπορείτε αντίθετα να χρησιμοποιήσετε το στοιχείο defaultHandler
.
Από την έκδοση: 3.1
Η ταυτότητα της commandParameterType
που δηλώνει το είδος τιμής που
επιστρέφει η εντολή αυτή. Καθορίζοντας μια returnTypeId
δίνεται η
δυνατότητα στους πελάτες να εκτελούν την εντολή για το συσχετισμό της τιμής που
επιστρέφεται με το είδος Java και τη μετατροπή της τιμής σε μορφή String η οποία μπορεί
να αποθηκευτεί ή/και να μεταβιβαστεί σε άλλη εντολή η οποία δέχεται παραμέτρους του ίδιου
είδους.
Από την έκδοση: 3.2
Η ταυτότητα του περιβάλλοντος βοήθειας που σχετίζεται γενικά με αυτή την εντολή. Οι ρουτίνες χειρισμού μπορούν να αντικαταστήσουν αυτή την ταυτότητα περιβάλλοντος για την παροχή βοήθειας η οποία είναι περισσότερο συγκεκριμένη για τις ιδιαίτερες συμπεριφορές τους.
Από την έκδοση: 3.2
<!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
org.eclipse.core.commands.IParameterValues
. Εάν η κλάση αυτή δεν καθορίζεται, πρέπει να προσδιορίσετε το πιο αναλυτικό στοιχείο values
. Δείτε org.eclipse.core.runtime.IExecutableExtension
.<!ELEMENT commandParameterType EMPTY>
<!ATTLIST commandParameterType
id CDATA #REQUIRED
type CDATA #IMPLIED
converter CDATA #IMPLIED>
Ορίζει το είδος αντικειμένου μιας commandParameter και μπορεί να προσδιορίζει μια
υποκλάση org.eclipse.core.commands.AbstractParameterValueConverter
για
μετατροπή μεταξύ τιμών και αντικειμένων παραμέτρου σειράς χαρακτήρων.
Από την έκδοση: 3.2
java.lang.Object
ως το είδος παραμέτρου.org.eclipse.core.commands.AbstractParameterValueConverter
. Ο
μετατροπέας πρέπει να παράγει και να καταναλώνει αντικείμενα του είδους που δηλώνεται
στο γνώρισμα type
. Αν αυτή η κλάση δεν έχει οριστεί, αυτή η λειτουργία
μετατροπής μεταξύ τιμών σειράς χαρακτήρων και τιμών αντικειμένου για αυτό το είδος
παραμέτρου δεν θα διατίθεται (η getValueConverter()
στην κλάση
ParameterType
θα επιστρέφει null
).<!ELEMENT values (parameter*)>
<!ATTLIST values
class CDATA #REQUIRED>
Η πιο αναλυτική έκδοση του γνωρίσματος values
στην commandParameter
.
Από την έκδοση: 3.1
org.eclipse.core.commands.IParameterValues
. Εάν η κλάση αυτή δεν καθορίζεται, πρέπει να προσδιορίσετε το πιο αναλυτικό στοιχείο values
. Δείτε org.eclipse.core.runtime.IExecutableExtension
.<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
Μια πιθανή τιμή για παράμετρο.
Από την έκδοση: 3.1
IExecutableExtension
.IExecutableExtension
.<!ELEMENT defaultHandler (parameter)>
<!ATTLIST defaultHandler
class CDATA #REQUIRED>
Η προεπιλεγμένη ρουτίνα χειρισμού για την εντολή αυτή. Εάν δεν είναι ενεργή άλλη ρουτίνα χειρισμού, θα είναι ενεργή αυτή η ρουτίνα χειρισμού. Αυτή ρουτίνα χειρισμού θα έρθει σε διένεξη με άλλους ορισμούς για ρουτίνες χειρισμού που δεν καθορίζουν συνθήκες activeWhen
. Εάν δεν δημιουργείται μια IExecutableExtension
, μπορείτε αντίθετα να χρησιμοποιήσετε το γνώρισμα defaultHandler
.
Από την έκδοση: 3.1
org.eclipse.core.commands.IHandler
.<!ATTLIST state
class CDATA #IMPLIED
id CDATA #REQUIRED>
Πληροφορίες κατάστασης οι οποίες είναι κοινόχρηστες μεταξύ όλων των ρουτινών χειρισμού και ενδεχόμενα μονιμοποιημένες μεταξύ συνεδριών. Αυτό συνήθως αποτελεί κάτι παρόμοιο με μια κατάσταση τετραγωνιδίου επιλογής ή την ετικέτα μιας ρουτίνας χειρισμού. Η κατάσταση αποτελεί απλά μια κλάση η οποία φορτώνεται για την παρακολούθηση της κατάστασης. Ανατρέξτε στις πληροφορίες για το API για περισσότερες λεπτομέρειες.
Από την έκδοση: 3.2
org.eclipse.core.commands.State
. Ανατρέξτε στις πληροφορίες για το API.
μια μοναδική ταυτότητα για την κατάσταση αυτή. Χρησιμοποιείται για μονιμοποίηση της
κατάστασης μεταξύ συνεδριών (αν η κατάσταση αποτελεί μια χρήση της org.eclipse.jface.commands.PersistentState
).
Ορισμένες κοινές ταυτότητες (βλέπε org.eclipse.jface.menus.IMenuStateIds
)
γίνονται κατανοητές όταν η εντολή αποδίδεται στα μενού ή στις γραμμές εργαλείων. Η
ταυτότητα πρέπει να είναι μοναδική μόνο εντός της εντολής που ορίζει την κατάσταση.
<!ATTLIST class
class CDATA #REQUIRED>
η κλάση η οποία μπορεί να φορτωθεί για την αποθήκευση της κατάστασης
αυτής της εντολής. Αυτό το στοιχείο χρησιμοποιείται σε περίπτωση που επιθυμείτε να
μεταβιβάσετε πολλαπλές παραμέτρους σε μια org.eclipse.core.runtime.IExecutableExtension
.
Από την έκδοση: 3.2
org.eclipse.core.commands.State
. Ανατρέξτε στις πληροφορίες για το API.<!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".
<!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.
<!ELEMENT scope EMPTY>
<!ATTLIST scope
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED>
Αυτό το στοιχείο χρησιμοποιείται για τον ορισμό εμβελειών. Εάν υπάρχουν περισσότερα από ένα στοιχεία στο ίδιο γνώρισμα id
, θεωρείται έγκυρο μόνο το τελευταίο δηλωμένο στοιχείο (με τη σειρά ανάγνωσης του μητρώου της πρόσθετης λειτουργίας).
@deprecated Χρησιμοποιήστε αντίθετα το σημείο επέκτασης "org.eclipse.ui.contexts".
<!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
.
id
) του στοιχείου keyConfiguration που θέλει κάποιος να είναι αρχικά ενεργό.id
) του στοιχείου keyConfiguration που θέλει κάποιος να
είναι αρχικά ενεργό.<!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".
java.util.Locale
.platform
είναι το σύνολο των πιθανών τιμών που επιστρέφει η org.eclipse.swt.SWT.getPlatform()
.schemeId
στο στοιχείο key
στο νέο σημείο επέκτασης "org.eclipse.ui.bindings".Η ακολουθία πλήκτρων για αντιστοίχιση με την εντολή. Οι ακολουθίες πλήκτρων αποτελούνται από ένα ή περισσότερα πατήματα πλήκτρων, όπου ένα πάτημα πλήκτρου αποτελείται από ένα πλήκτρο στο πληκτρολόγιο, που προαιρετικά πατιούνται σε συνδυασμό με έναν ή περισσότερους από τους παρακάτω τροποποιητές: Ctrl, Alt, Shift και Command. Τα πατήματα πλήκτρων χωρίζονται με κενά και οι τροποποιητές χωρίζονται με χαρακτήρες '+' .
Τα πλήκτρα-τροποποιητές μπορούν επίσης να εκφραστούν ανεξαρτήτως πλατφόρμας. Σε MacOS X, για παράδειγμα, το "Command" χρησιμοποιείται σχεδόν πάντα σε θέση του "Ctrl". Έτσι, παρέχουμε το "M1" που θα αντιστοιχισθεί ανάλογα με το "Ctrl" ή το "Command". Ομοίως, "M2" είναι το "Shift". "M3" είναι το "Alt" και "M4" είναι το "Ctrl" (MacOS X). Εάν προστεθούν περισσότερες πλατφόρμες, μπορείτε να βασιστείτε στην αντιστοίχιση αυτών των ψευδωνύμων σε προεπιλογές από καλές πλατφόρμες.
Η σύνταξη για αυτή τη σειρά χαρακτήρων ορίζεται στην org.eclipse.ui.internal.keys
. Εν συντομία, η σειρά χαρακτήρων δεν κάνει διάκριση πεζών-κεφαλαίων - αν και προτιμάται να είναι όλα κεφαλαία για στιλιστικούς λόγους. Εάν το πλήκτρο είναι γράμμα, τότε απλά προσθέστε το γράμμα. Εάν το πλήκτρο είναι ένα ειδικό πλήκτρο (δηλαδή, μη ASCII), τότε χρησιμοποιήστε ένα από τα παρακάτω: ARROW_DOWN, ARROW_LEFT, ARROW_RIGHT, ARROW_UP, BREAK, CAPS_LOCK, END, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, HOME, INSERT, NUM_LOCK, NUMPAD_0, NUMPAD_1, NUMPAD_2, NUMPAD_3, NUMPAD_4, NUMPAD_5, NUMPAD_6, NUMPAD_7, NUMPAD_8, NUMPAD_9, NUMPAD_ADD, NUMPAD_DECIMAL, NUMPAD_DIVIDE, NUMPAD_ENTER, NUMPAD_EQUAL, NUMPAD_MULTIPLY, NUMPAD_SUBTRACT, PAGE_UP, PAGE_DOWN, PAUSE, PRINT_SCREEN ή SCROLL_LOCK. Εάν το πλήκτρο είναι ένα μη εκτυπώσιμο πλήκτρο ASCII, τότε χρησιμοποιήστε ένα από τα παρακάτω: BS, CR, DEL, ESC, FF, LF, NUL, SPACE, TAB ή VT. Σημειώστε ότι το κεντρικό πλήκτρο enter/return του πληκτρολογίου είναι το CR.
Το αρχείο 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(...)
.
Υπάρχουν λίγες προεπιλεγμένες υλοποιήσεις των καταστάσεων ρουτινών χειρισμού που μπορεί να φανούν χρήσιμες στους χρήστες αυτού του σημείου επέκτασης:
Copyright (c) 2000, 2005 IBM Corporation και άλλων.
Με την επιφύλαξη παντός δικαιώματος. Αυτό το πρόγραμμα και τα
συνοδευτικά του υλικά διατίθενται βάσει των όρων της κοινής άδειας
χρήσης Eclipse Public License v1.0 που συνοδεύει αυτή τη διανομή και
διατίθεται στην ακόλουθη διεύθυνση:
http://www.eclipse.org/legal/epl-v10.html.