2.1
Il punto di estensione org.eclipse.ui.commands
è utilizzato
per dichiarare i comandi e le categorie di comandi, utilizzando gli elementi
command
e category
. Un comando è una rappresentazione astratta di alcuni comportamenti semantici, ma non è
un'implementazione effettiva. Consente a diversi sviluppatori di contribuire ad un comportamento specifico per le relative parti
individuali. Ad esempio, un comando "incolla" può avere un'implementazione in un editor ed una implementazione diversa in un widget di
selezione. Queste implementazioni sono dette gestori.
<!ELEMENT extension (activeKeyConfiguration , category , command , keyBinding , keyConfiguration , context , scope)>
<!ATTLIST extension
id CDATA #IMPLIED
name CDATA #IMPLIED
point CDATA #REQUIRED>
<!ELEMENT activeKeyConfiguration EMPTY>
<!ATTLIST activeKeyConfiguration
value CDATA #IMPLIED
keyConfigurationId CDATA #IMPLIED>
Questo elemento è utilizzato per definire la configurazione di tasti inizialmente attiva per Eclipse. Se esistono più elementi di questo tipo, viene considerato valido l'ultimo elemento dichiarato (in ordine di lettura del registro di plugin).
Questo elemento è stato sostituito da una preferenza. Se l'applicazione richiede la modifica della configurazione tasti predefinita,
specificare quanto segue nel file plugin_customization.ini
:
org.eclipse.ui/KEY_CONFIGURATION_ID=your.default.key.configuration.id
.
id
) dell'elemento
keyConfiguration da considerare attivo inizialmente.id
) dell'elemento keyConfiguration da
considerare attivo inizialmente.<!ELEMENT category EMPTY>
<!ATTLIST category
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED>
Nell'interfaccia utente, i comandi sono spesso organizzati per categoria allo scopo di facilitare la
gestione. Questo elemento è utilizzato per definire
queste categorie. I comandi possono essere aggiunti al massimo ad una categoria. Se
esistono più elementi di questo tipo con lo stesso attributo id
,
viene considerato valido solo l'ultimo elemento dichiarato (in ordine di
lettura del registro di plugin).
<!ELEMENT command (commandParameter | defaultHandler?)>
<!ATTLIST command
category CDATA #IMPLIED
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
categoryId CDATA #IMPLIED
defaultHandler CDATA #IMPLIED>
Questo elemento è utilizzato per definire i comandi. Un comando
rappresenta una richiesta dell'utente che può essere gestita mediante
un'azione; dal punto di vista semantico dovrebbe essere univoco tra i diversi
comandi. Non si deve definire un comando se ne esiste già uno definito per lo
stesso scopo. Se esistono più elementi di questo tipo con lo stesso attributo
id
, viene considerato valido solo l'ultimo elemento dichiarato (in
ordine di lettura del registro di plugin). Per informazioni sui collegamenti
tra azioni e comandi, fare riferimento ai punti di estensione
org.eclipse.ui.actionSets e org.eclipse.ui.editorActions.
activeWhen
. Se si
crea una IExecutableExtension
, è possibile utilizzare invece l'elemento defaultHandler
.<!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>
Questo elemento consente di assegnare sequenze di tasti ai comandi. Utilizzare invece l'elemento key
nel punto di
estensione "org.eclipse.ui.bindings".
java.util.Locale
.platform
sono l'insieme dei valori possibili
restituiti da org.eclipse.swt.SWT.getPlatform()
.schemeId
sull'elemento key
nel nuovo punto di estensione
"org.eclipse.ui.bindings".la sequenza di tasti da assegnare al comando. Le sequenze sono ottenute premendo uno o più tasti della tastiera, eventualmente in combinazione con uno dei seguenti modificatori: Ctrl, Alt, Maiusc e Comando. I tasti sono separati da spazi, i modificatori dal carattere '+'.
I tasti modificatori possono anche essere espressi in modo indipendente dalla piattaforma. Ad esempio, su MacOS X viene quasi sempre utilizzato "Command" invece di "Ctrl". Quindi, viene fornito "M1" che viene associato a "Ctrl" o "Command", come opportuno. In modo simile, "M2" è "Shift"; "M3" è "Alt"; "M4" è "Ctrl" (MacOS X). Se sono aggiunte altre piattaforme, si può essere sicuri che questi alias siano associati a valori predefiniti validi della piattaforma.
La sintassi di questa stringa viene definita in org.eclipse.ui.internal.keys
. La stringa non effettua la
distinzione maiuscole/minuscole, ma si preferisce l'utilizzo di tutti caratteri maiuscoli. Se il tasto è una lettera, accodare
semplicemente la lettera. Se il tasto è un tasto speciale (cioè un carattere non ASCII), utilizzare uno dei seguenti: 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 o SCROLL_LOCK. Se il
tasto non è un carattere ASCII stampabile, utilizzare uno dei seguenti: BS, CR, DEL, ESC, FF, LF, NUL,
SPACE, TAB o VT. Notare che il tasto invio/a capo della tastiera è CR.
<!ELEMENT keyConfiguration EMPTY>
<!ATTLIST keyConfiguration
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED
parentId CDATA #IMPLIED>
Questo elemento è utilizzato per definire le configurazioni di tasti. Se esistono più elementi di questo tipo con lo stesso attributo
id
, viene considerato valido solo l'ultimo elemento dichiarato (in
ordine di lettura del registro di plugin). Utilizzare invece il punto di estensione "org.eclipse.ui.bindings".
<!ELEMENT context EMPTY>
<!ATTLIST context
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED
parentId CDATA #IMPLIED>
Questo elemento è utilizzato per definire i contesti. Se esistono più elementi di questo tipo con lo stesso attributo
id
, viene considerato valido solo l'ultimo elemento dichiarato (in
ordine di lettura del registro di plugin). Utilizzare invece il punto di estensione
org.eclipse.ui.contexts.
<!ELEMENT scope EMPTY>
<!ATTLIST scope
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
parent CDATA #IMPLIED>
Questo elemento è utilizzato per definire gli ambiti. Se esistono più elementi di questo tipo con lo stesso attributo
id
, viene considerato valido solo l'ultimo elemento dichiarato (in
ordine di lettura del registro di plugin).
@deprecated Utilizzare invece il punto di estensione "org.eclipse.ui.contexts".
<!ELEMENT commandParameter (values)>
<!ATTLIST commandParameter
id CDATA #REQUIRED
name CDATA #REQUIRED
values CDATA #IMPLIED
optional (true | false) "true">
Definisce un parametro ammesso dal comando. Un parametro è un sistema per fornire ulteriori informazioni ad un gestore al momento dell'esecuzione. Ad esempio, un comando "Mostra vista" potrebbe accettare la vista come parametro. I gestori dovrebbero essere in grado di utilizzare questi parametri, quindi devono essere considerati come API.
org.eclipse.core.commands.IParameterValues
. Se la classe non viene specificata, è necessario specificare un elemento
values
dettagliato. Fare riferimento a org.eclipse.core.runtime.IExecutableExtension
.<!ATTLIST values
class CDATA #REQUIRED>
La versione più dettagliata dell'attributo values
in commandParameter
.
org.eclipse.core.commands.IParameterValues
. Se la classe non viene specificata, è necessario specificare un elemento
values
dettagliato. Fare riferimento a org.eclipse.core.runtime.IExecutableExtension
.<!ELEMENT parameter EMPTY>
<!ATTLIST parameter
name CDATA #REQUIRED
value CDATA #REQUIRED>
Un possibile valore per un parametro.
IExecutableExtension
.IExecutableExtension
.<!ELEMENT defaultHandler (parameter)>
<!ATTLIST defaultHandler
class CDATA #REQUIRED>
Il gestore predefinito di questo comando. Se non è attivo un altro gestore, verrà attivato questo gestore. Questa gestore andrà in
conflitto con altre definizioni di gestori che non specificano alcuna condizione activeWhen
. Se non si crea una
IExecutableExtension
, è possibile utilizzare invece l'attributo defaultHandler
.
org.eclipse.core.commands.IHandler
.
Il file plugin.xml
nel plugin org.eclipse.ui
fa ampio uso del punto di estensione org.eclipse.ui.commands
.
Non esistono API pubbliche per la dichiarazione di comandi, categorie, associazioni di tasti, configurazioni
di tasti o contesti diverse da questo punto di estensione. API per l'interrogazione e l'impostazione dei
contesti e per la registrazione di azioni per la gestione dei comandi sono reperibili in
org.eclipse.ui.IKeyBindingService
.
Copyright (c) 2000, 2005 IBM Corporation e altri.
Tutti i diritti riservati. Questo programma e il materiale di accompagnamento sono
disponibili secondo i termini della Eclipse Public License v1.0 che sono distribuiti con il prodotto, e disponibili all'indirizzo
http://www.eclipse.org/legal/epl-v10.html