Comandi

org.eclipse.ui.commands

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.



<!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.



<!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".



<!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.



<!ELEMENT values (parameter)>

<!ATTLIST values

class CDATA #REQUIRED>

La versione più dettagliata dell'attributo values in commandParameter.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Un possibile valore per un parametro.



<!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.



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.