Mandatos

org.eclipse.ui.commands

2.1

El punto de extensión org.eclipse.ui.commands se utiliza para declarar mandatos y categorías de mandatos, mediante los elementos command y category. Un mandato es una representación abstracta de un comportamiento semántico, pero no es su implementación real. Esto permite que diferentes desarrolladores contribuyan con comportamientos específicos para sus partes individuales. Por ejemplo, puede haber un mandato "pegar" con una implementación en un editor y una implementación diferente en un widget de explorador. Estas implementaciones se denominan manejadores.

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

Este elemento se utiliza para definir la configuración de teclas activa inicial de Eclipse. Si existe más de uno de estos elementos, sólo se considera válido el último elemento declarado (por orden de lectura del registro de conectores).

Este elemento se ha sustituido por una preferencia. Si la aplicación tiene que cambiar la configuración de teclas, especifique lo siguiente en el archivo plugin_customization.ini: org.eclipse.ui/KEY_CONFIGURATION_ID=ID.configuración.teclas.por.omisión.usuario.



<!ELEMENT category EMPTY>

<!ATTLIST category

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED>

En la UI, los mandatos están organizados frecuentemente por categorías para facilitar su gestión. Este elemento se utiliza para definir estas categorías. Los mandatos pueden añadirse a sí mismos a una categoría como máximo. Si existe más de uno de estos elementos con el mismo atributo id, sólo se considera válido el último elemento declarado (por orden de lectura del registro de conectores).



<!ELEMENT command (commandParameter | defaultHandler?)>

<!ATTLIST command

category       CDATA #IMPLIED

description    CDATA #IMPLIED

id             CDATA #REQUIRED

name           CDATA #REQUIRED

categoryId     CDATA #IMPLIED

defaultHandler CDATA #IMPLIED>

Este elemento se utiliza para definir mandatos. Un mandato representa una petición del usuario que puede manejarse mediante una acción, y debe ser semánticamente exclusivo con respecto a otros mandatos. No defina un mandato si ya existe uno definido con el mismo significado. Si existe más de uno de estos elementos con el mismo atributo id, sólo se considera válido el último elemento declarado (por orden de lectura del registro de conectores). Consulte los puntos de extensión org.eclipse.ui.actionSets y org.eclipse.ui.editorActions para saber cómo se conectan las acciones a los mandatos.



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

Este elemento permite asignar secuencias de teclas a los mandatos. Utilice en su lugar el elemento key en el punto de extensión "org.eclipse.ui.bindings".



<!ELEMENT keyConfiguration EMPTY>

<!ATTLIST keyConfiguration

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Este elemento se utiliza para definir configuraciones de teclas. Si existe más de uno de estos elementos con el mismo atributo id, sólo se considera válido el último elemento declarado (por orden de lectura del registro de conectores). En su lugar, utilice el punto de extensión "org.eclipse.ui.bindings".



<!ELEMENT context EMPTY>

<!ATTLIST context

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Este elemento se utiliza para definir contextos. Si existe más de uno de estos elementos con el mismo atributo id, sólo se considera válido el último elemento declarado (por orden de lectura del registro de conectores). Utilice en su lugar el punto de extensión org.eclipse.ui.contexts.



<!ELEMENT scope EMPTY>

<!ATTLIST scope

description CDATA #IMPLIED

id          CDATA #REQUIRED

name        CDATA #REQUIRED

parent      CDATA #IMPLIED>

Este elemento se utiliza para definir ámbitos. Si existe más de uno de estos elementos con el mismo atributo id, sólo se considera válido el último elemento declarado (por orden de lectura del registro de conectores). @obsoleto; en su lugar, utilice el punto de extensión "org.eclipse.ui.contexts".



<!ELEMENT commandParameter (values)>

<!ATTLIST commandParameter

id       CDATA #REQUIRED

name     CDATA #REQUIRED

values   CDATA #IMPLIED

optional (true | false) "true">

Define un parámetro que un mandato debe entender. Un parámetro es una manera de proporcionar más información a un manejador durante la ejecución. Por ejemplo, el mandato "Mostrar vista" podría tomar una vista como parámetro. Los manejadores deben poder entender estos parámetros para que se traten como API.



<!ELEMENT values (parameter)>

<!ATTLIST values

class CDATA #REQUIRED>

La versión más detallada del atributo values en commandParameter.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

name  CDATA #REQUIRED

value CDATA #REQUIRED>

Un valor posible para un parámetro.



<!ELEMENT defaultHandler (parameter)>

<!ATTLIST defaultHandler

class CDATA #REQUIRED>

El manejador por omisión para este mandato. Si no hay ningún otro manejador activo, este manejador estará activo. Este manejador estará en conflicto con otras definiciones de manejador que no especifiquen ninguna condición activeWhen. Si está creando un IExecutableExtension, puede utilizar en su lugar el atributo defaultHandler.



El archivo plugin.xml del conector org.eclipse.ui utiliza ampliamente el punto de extensión org.eclipse.ui.commands.

No existe una API de uso público para declarar mandatos, categorías, enlaces de teclas, configuraciones de teclas o contextos aparte de este punto de extensión. La API de uso público destinada a consultar y establecer contextos, así como para registrar acciones para manejar mandatos específicos, puede encontrarse en org.eclipse.ui.IKeyBindingService.