Commandes

org.eclipse.ui.commands

2.1

Le point d'extension org.eclipse.ui.commands sert à déclarer des commandes et des catégories de commandes avec les éléments command et category. Une commande est une représentation abstraite d'un certain comportement sémantique mais il ne s'agit pas d'une implémentation réelle. Cela permet à différents développeurs d'ajouter un comportement spécifique pour des domaines propres. Par exemple, il peut y avoir une commande "paste" avec une implémentation dans un éditeur et une implémentation différente dans un widget de l'explorateur. Ces implémentations sont appelées gestionnaires.

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

Cet élément sert à définir la configuration de touche active initiale pour Eclipse. En présence de plusieurs éléments, seul le dernier déclaré (dans l'ordre de lecture du registre des plug-ins) est pris en compte.

Cet élément a été remplacé par une préférence. Si votre application doit changer la configuration par défaut des touches, spécifiez alors ce qui suit dans votre fichier 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>

Dans l'interface utilisateur, les commandes sont souvent organisées par catégories afin de les rendre plus accessibles. Cet élément permet de définir ces catégories. Une commande ne peut appartenir qu'à une catégorie. Si le même attribut id contient plusieurs de ces éléments, seul le dernier déclaré (dans l'ordre de lecture du registre des plug-ins) est pris en compte.



<!ELEMENT command (commandParameter | defaultHandler?)>

<!ATTLIST command

category       CDATA #IMPLIED

description    CDATA #IMPLIED

id             CDATA #REQUIRED

name           CDATA #REQUIRED

categoryId     CDATA #IMPLIED

defaultHandler CDATA #IMPLIED>

Cet élément est employé pour définir des commandes. Une commande correspond à une demande de l'utilisateur pouvant être traitée par une action et dont la syntaxe doit être unique comparée à celle des autres commandes. Ne définissez pas une commande s'il en existe déjà une ayant le même objectif. Si le même attribut id contient plusieurs de ces éléments, seul le dernier déclaré (dans l'ordre de lecture du registre des plug-ins) est pris en compte. Pour comprendre comment les actions sont liées aux commandes, reportez-vous aux points d'extension org.eclipse.ui.actionSets et 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>

Cet élément permet d'assigner des séquences de touches à des commandes. Veuillez utiliser l'élément key dans le point d'extension "org.eclipse.ui.bindings" à la place.



<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Cet élément est employé pour définir des configurations de touches. Si le même attribut id contient plusieurs de ces éléments, seul le dernier déclaré (dans l'ordre de lecture du registre des plug-ins) est pris en compte. Veuillez utiliser le point d'extension "org.eclipse.ui.bindings" à la place.



<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Cet élément est employé pour définir des contextes. Si le même attribut id contient plusieurs de ces éléments, seul le dernier déclaré (dans l'ordre de lecture du registre des plug-ins) est pris en compte. Veuillez utiliser le point d'extension org.eclipse.ui.contexts à la place.



<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

Cet élément est employé pour définir des portées. Si le même attribut id contient plusieurs de ces éléments, seul le dernier déclaré (dans l'ordre de lecture du registre des plug-ins) est pris en compte. @déconseillé, utilisez le point d'extension "org.eclipse.ui.contexts" à la place.



<!ELEMENT commandParameter (values)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

optional (true | false) "true">

Définit un paramètre qu'une commande doit comprendre. Un paramètre est un moyen de fournir plus d'informations à un gestionnaire lors de l'exécution. Par exemple, une commande "afficher la vue" pourrait prendre une vue comme paramètre. Les gestionnaires doivent être capables de comprendre ces paramètres et doivent donc être traités comme des API.



<!ELEMENT values (parameter)>

<!ATTLIST values

class CDATA #REQUIRED>

La version la plus explicite de l'attribut values sur le commandParameter.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Une valeur possible du paramètre.



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

Gestionnaire par défaut pour cette commande. Si aucun autre gestionnaire n'est actif, ce gestionnaire sera actif. Ce gestionnaire entrera en conflit avec d'autres définitions de gestionnaire ne spécifiant aucune condition activeWhen. Si vous ne créez pas un IExecutableExtension, vous pouvez utiliser ledefaultHandler à la place.



Le fichier plugin.xml du plug-in org.eclipse.ui utilise de façon extensive le point d'extension org.eclipse.ui.commands.

Il n'existe pas d'API publiques de déclaration de commandes, catégories, liaison de touches, configurations de touches ou contextes hormis ce point d'extension. Les API publiques de requête et de définition de contextes, ainsi que d'enregistrement d'actions pour le traitement de commandes spécifiques se trouvent dans org.eclipse.ui.IKeyBindingService.