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. I comandi possono essere visualizzati anche come puntatori di funzione
di dichiarazione, o come gestori del segnale.
<!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>
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.
categoryId
.l'ID univoco della categoria di questo comando. Se questo comando non specifica una categoria, sarà comunque visualizzato in tutte le interfacce utente, insieme agli altri comandi per i quali è stata specificata una categoria.
Da: 3.0
- il gestore predefinito di questo comando (fare riferimento al punto di estensione
org.eclipse.ui.bindings). 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 si
crea una IExecutableExtension
, è possibile utilizzare invece l'elemento defaultHandler
.
Da: 3.1
l'ID di commandParameterType
che indica il tipo di valore restituito da questo comando.
Specificando un returnTypeId
si consente ai client di eseguire il comando per associare il
valore restituito a un tipo Java e di convertire il valore in un formato Stringa che può essere
archiviato e/o trasmesso ad un altro comando che accetta parametri dello stesso tipo.
Da: 3.2
l'identificativo che contesto della guida relativo a questo comando, in generale. I gestori possono sovrascrivere questo identificativo di contesto per fornire aiuto più specifico per comportamenti speciali.
Da: 3.2
<!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 commandParameter (values?)>
<!ATTLIST commandParameter
id CDATA #REQUIRED
name CDATA #REQUIRED
values CDATA #IMPLIED
typeId 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.
Da: 3.1
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 commandParameterType EMPTY>
<!ATTLIST commandParameterType
id CDATA #REQUIRED
type CDATA #IMPLIED
converter CDATA #IMPLIED>
Definisce il tipo di oggetto di un commandParameter e può specificare una sottoclasse
org.eclipse.core.commands.AbstractParameterValueConverter
per convertire valori e oggetti di parametri
di stringa.
Da: 3.2
java.lang.Object
verrà utilizzato come tipo di parametro.org.eclipse.core.commands.AbstractParameterValueConverter
.
Il converter dovrebbe produrre e utilizzare oggetti del tipo indicato nell'attributo type
.
Se questa classe non è specificata, la funzione di conversione tra stringhe e valori oggetto per questo tipo di
parametro non sarà disponibile (getValueConverter()
nella classe ParameterType
restituirà null
).<!ELEMENT values (parameter*)>
<!ATTLIST values
class CDATA #REQUIRED>
La versione più dettagliata dell'attributo values
in commandParameter
.
Da: 3.1
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.
Da: 3.1
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
.
Da: 3.1
org.eclipse.core.commands.IHandler
.<!ATTLIST state
class CDATA #IMPLIED
id CDATA #REQUIRED>
Le informazioni di stato condivise tra tutti i gestori, potenzialmente persistenti tra le sessioni. Generalmente si tratta dello stato di una casella di controllo o dell'etichetta di un gestore. Lo stato è semplicemente una classe caricata per controllare lo stato. Per ulteriori dettagli fare riferimento alla documentazione relativa all'API.
Da: 3.2
org.eclipse.core.commands.State
. Consultare le informazioni sull'API.
un identificativo univoco per questo stato. Viene utilizzato affinché lo stato persista tra le sessioni
(se lo stato è un'istanza di org.eclipse.jface.commands.PersistentState
).
Alcuni identificativi comuni (vedere org.eclipse.jface.menus.IMenuStateIds
) vengono compresi quando
il comando viene reso nei menu o nelle barre degli strumenti. L'identificativo deve solo essere univoco nel comando
che definisce lo stato.
<!ATTLIST class
class CDATA #REQUIRED>
La classe che è possibile caricare per archiviare lo stato di questo comando.
Questo elemento viene utilizzato per trasmettere più parametri a un
org.eclipse.core.runtime.IExecutableExtension
.
Da: 3.2
org.eclipse.core.commands.State
. Consultare le informazioni sull'API.<!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 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 che dovrebbe essere attivo inizialmente.id
) dell'elemento
keyConfiguration che dovrebbe essere attivo inizialmente.<!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.
Il file plugin.xml
nel plugin org.eclipse.ui
fa ampio uso del punto di estensione org.eclipse.ui.commands
.
I gestori possono essere registrati con i comandi utilizzando org.eclipse.ui.handlers.IHandlerService
. Può essere richiamato da
diversi componenti del workbench (ad esempio, workbench, finestra del workbench, sito parte, ecc.) richiamando
getService(IHandlerService.class)
.
In generale, si consiglia di dichiarare tutti i comandi staticamente (in plugin.xml
).
In tal modo gli utenti possono collegare le proprie associazione ai tasti ai comandi.
Tuttavia, è possibile dichiarare i comandi al runtime. Richiamare
org.eclipse.ui.commands.ICommandService
da un componente del workbench,
richiamare getCommand(yourCommandID)
, quindi Command.define(...)
.
Alcune implementazioni predefinite degli stati del gestore possono essere utili agli utenti di questo punto di estensione:
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