Options

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. Les commandes peuvent également s'afficher sous forme de pointeurs de fonction déclaratifs ou de gestionnaires de signaux.

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

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 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 commandParameter (values?)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

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

Depuis : 3.1



<!ELEMENT commandParameterType EMPTY>

<!ATTLIST commandParameterType

id        CDATA #REQUIRED

type      CDATA #IMPLIED

converter CDATA #IMPLIED>

Définit le type d'objet d'un élément commandParameter et peut indiquer une sous-classe org.eclipse.core.commands.AbstractParameterValueConverter afin de convertir des valeurs de paramètre de chaîne en objets.

Depuis : 3.2



<!ELEMENT values (parameter*)>

<!ATTLIST values

class CDATA #REQUIRED>

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

Depuis : 3.1



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Une valeur possible du paramètre.

Depuis : 3.1



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

Depuis : 3.1



<!ELEMENT state (class?)>

<!ATTLIST state

class CDATA #IMPLIED

id    CDATA #REQUIRED>

Informations d'état partagées entre les gestionnaires et éventuellement conservées entre les sessions. Il s'agit généralement de l'état d'une case à cocher ou de l'intitulé d'un gestionnaire. L'état est simplement une classe chargée dans le but de vérifier l'état. Consultez les Informations d'API pour plus de détails.

Depuis : 3.2



<!ELEMENT class (parameter*)>

<!ATTLIST class

class CDATA #REQUIRED>

Classe pouvant être chargée pour stocker l'état de cette commande. Cet élément est utilisé lorsque vous transmettez plusieurs paramètres à une extension org.eclipse.core.runtime.IExecutableExtension.

Depuis : 3.2



L'élément keyConfiguration est déconseillé

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



L'élément context est déconseillé

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



L'élément scope est déconseillé

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



L'élément activeKeyConfiguration est déconseillé

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



L'élément keyBinding est déconseillé

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



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

Les gestionnaires peuvent être enregistrés au moyen de commandes utilisant org.eclipse.ui.handlers.IHandlerService. Ce service peut être extrait de différents composants du plan de travail (par exemple, le plan de travail, la fenêtre du plan de travail, le site du composant, etc.) en appelant la méthode getService(IHandlerService.class).

En règle générale, il est préférable de déclarer toutes les commandes de manière statistique (dans plugin.xml). De cette manière, les utilisateurs peuvent associer des liaisons de touches aux commandes. En revanche, il est possible de déclarer les commandes au moment de l'exécution. Pour ce faire, extrayez le service org.eclipse.ui.commands.ICommandService à partir d'un composant du plan de travail, appelez getCommand(yourCommandID) puis appelez Command.define(...).

Il existe quelques implémentations d'états de gestionnaire par défaut qui peuvent être utiles aux utilisateurs de ce point d'extension :