Mandatos
Identificador:
org.eclipse.ui.commands
A partir del release:
2.1
Descripción:
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
. Mediante este punto de extensión, también pueden asignarse secuencias de teclas a los mandatos utilizando el elemento keyBinding
. Las secuencias de teclas se enlazan con los mandatos en función de contextos y configuraciones de teclas que también se declaran en este punto, mediante los elementos keyConfiguration
y context
.
Código de configuración:
<!ELEMENT extension (activeKeyConfiguration , category , command , keyBinding , keyConfiguration , context)>
<!ATTLIST extension
id CDATA #IMPLIED
name CDATA #IMPLIED
point CDATA #REQUIRED>
- id: identificador opcional de la instancia de extensión
- name: nombre opcional de la instancia de extensión
- point: identificador totalmente calificado del punto de extensión destino
<!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).
- value: ID exclusivo (
id
atributo) del elemento keyConfiguration que debe estar activo inicialmente.
- keyConfigurationId: ID exclusivo (atributo
id
) del elemento keyConfiguration que debe estar activo inicialmente.
<!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).
- description: breve descripción traducible de esta categoría que se visualizará en la UI.
- id: identificador exclusivo para esta
categoría.
- name: nombre traducible de esta categoría que se visualizará en la UI.
<!ELEMENT command EMPTY>
<!ATTLIST command
category CDATA #IMPLIED
description CDATA #IMPLIED
id CDATA #REQUIRED
name CDATA #REQUIRED
categoryId 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.
- category: ID exclusivo de la categoría de este mandato. Si el mandato no especifica una categoría, seguirá apareciendo en todas las UI, junto con otros mandatos categorizados específicamente.
@obsoleto; en su lugar, utilice "categoryId".
- description: breve descripción traducible de este mandato que se visualizará en la UI.
- id: identificador exclusivo de este mandato.
- name: nombre traducible de este mandato que se visualizará en la UI. Los mandatos se denominan generalmente con la forma imperativa de un verbo.
- categoryId: ID exclusivo de la categoría de este mandato. Si el mandato no especifica una categoría, seguirá apareciendo en todas las UI, junto con otros mandatos categorizados específicamente.
<!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.
- configuration: ID exclusivo de la configuración de teclas de este enlace de teclas.
@obsoleto; en su lugar, utilice keyConfigurationId.
- command: identificador exclusivo del mandato al que se asigna la secuencia de teclas especificada por este enlace de teclas. Si el valor de este atributo es una serie vacía, la secuencia de teclas se asigna a un mandato interno "sin operación" ('no operation'). Esto resulta de utilidad para "desdefinir" las enlaces de teclas de contextos y configuraciones de teclas específicos que pueden haberse tomado de los padres respectivos.
@obsoleto; en su lugar, utilice "commandId".
- locale: atributo opcional que indica que el enlace de teclas sólo se define para el entorno local especificado. Los entornos locales se especifican en función del formato declarado en
java.util.Locale
.
- platform: atributo opcional que indica que el enlace de teclas sólo se define para la plataforma especificada. Los valores posibles del atributo
platform
son el conjunto de valores posibles devueltos por el método org.eclipse.swt.SWT.getPlatform()
.
- contextId: ID exclusivo del contexto de este enlace de teclas.
- string: secuencia de teclas que debe asignarse al mandato. Las secuencias de teclas constan de una o varias pulsaciones de teclas, en las que una pulsación de tecla representa una de las teclas del teclado, que opcionalmente se pulsa en combinación con uno o varios de los siguientes modificadores: Control, Alt, Mayús y Mandato. Las pulsaciones de teclas están separadas por espacios y los modificadores están separados por caracteres '+'.
@obsoleto; en su lugar, utilice "keySequence".
- scope: ID exclusivo del contexto de este enlace de teclas.
@obsoleto; en su lugar, utilice "contextId".
- keyConfigurationId: ID exclusivo de la configuración de teclas de este enlace de teclas.
- commandId: identificador exclusivo del mandato al que se asigna la secuencia de teclas especificada por este enlace de teclas. Si el valor de este atributo es una serie vacía, la secuencia de teclas se asigna a un mandato interno "sin operación" ('no operation'). Esto resulta de utilidad para "desdefinir" las enlaces de teclas de contextos y configuraciones de teclas específicos que pueden haberse tomado de los padres respectivos.
- keySequence: secuencia de teclas que debe asignarse al mandato. Las secuencias de teclas constan de una o varias pulsaciones de teclas, en las que una pulsación de tecla representa una de las teclas del teclado, que opcionalmente se pulsa en combinación con uno o varios de los siguientes modificadores: Control, Alt, Mayús y Mandato. Las pulsaciones de teclas están separadas por espacios y los modificadores están separados por caracteres '+'.
<!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).
- description: breve descripción traducible de esta configuración de teclas que se
visualizará en la UI.
- id: identificador exclusivo de esta configuración de teclas.
- name: nombre traducible de esta configuración de teclas que se visualizará en la UI. Si la configuración de teclas tiene un padre, no es necesario añadir "(extends ...)" al nombre. La UI lo añadirá automáticamente cuando sea necesario.
- parent: ID exclusivo de la configuración de teclas padre. Si la configuración de teclas tiene un padre, tomará todos los enlaces de teclas de su padre, además de los enlaces de teclas definidos en su propia configuración de teclas.
- parentId: ID exclusivo de la configuración de teclas padre. Si la configuración de teclas tiene un padre, tomará todos los enlaces de teclas de su padre, además de los enlaces de teclas definidos en su propia configuración de teclas.
<!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).
- description: breve descripción traducible de este contexto que se visualizará en la UI.
- id: identificador exclusivo de este contexto.
- name: nombre traducible de este contexto que se visualizará en la UI. Si este contexto tiene un padre, no es necesario añadir "(extends parent)" al nombre. La UI lo añadirá automáticamente cuando sea necesario.
- parent: ID exclusivo del contexto padre. Si el contexto tiene un padre, tomará todos los enlaces de teclas de su padre, además de los enlaces de teclas definidos en su propio contexto.
@obsoleto; en su lugar, utilice "parentId".
- parentId: ID exclusivo del contexto padre. Si el contexto tiene un padre, tomará todos los enlaces de teclas de su padre, además de los enlaces de teclas definidos en su propio contexto.
<!ELEMENT handlerSubmission EMPTY>
<!ATTLIST handlerSubmission
commandId CDATA #REQUIRED
handler CDATA #REQUIRED>
Este elemento declara un manejador para un mandato. A continuación, este manejador se asocia con el mandato con las restricciones especificadas. Esta asociación se realiza durante el inicio. El hecho de asociar un manejador no significa que éste siempre sea el elegido por el entorno de trabajo; la selección real se efectúa examinando el estado del entorno de trabajo y comparándolo con los diversos sometimientos de manejador.
Esta API en concreto aún debe considerarse experimental. Aunque puede utilizarla, debe tener en cuenta que esta API puede cambiar radicalmente o eliminarse por completo en el futuro. Apreciaremos el envío de comentarios relativos a esta API a
platform-ui-dev@eclipse.org.
- commandId: identificador del mandato al que debe asociarse este manejador.
- handler: nombre de la clase del manejador. Si la clase es una implementación de
IExecutableExtension, es posible pasar datos en el objeto. Este manejador se convertirá en proxy hasta que se solicite información al manejador, momento en el cual se cargará la clase y se creará una instancia.
<!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".
- description: breve descripción traducible de este ámbito que se visualizará en la UI.
@obsoleto; en su lugar, utilice el punto de extensión "org.eclipse.ui.contexts".
- id: identificador exclusivo de este ámbito.
@obsoleto; en su lugar, utilice el punto de extensión "org.eclipse.ui.contexts".
- name: nombre traducible de este ámbito que se visualizará en la UI. Si el ámbito tiene un padre, no es necesario añadir "(extends parent)" al nombre. La UI lo añadirá automáticamente cuando sea necesario.
@obsoleto; en su lugar, utilice el punto de extensión "org.eclipse.ui.contexts".
- parent: ID exclusivo del ámbito padre. Si el ámbito tiene un padre, tomará todos los enlaces de teclas de su padre, además de los enlaces de teclas definidos en su propio ámbito.
@obsoleto; en su lugar, utilice el punto de extensión "org.eclipse.ui.contexts".
Ejemplos:
El archivo plugin.xml
del conector org.eclipse.ui
utiliza ampliamente el punto de extensión org.eclipse.ui.commands
.
Información sobre las API:
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
.
Copyright (c) 2000, 2004 IBM Corporation y otros.
Reservados todos los derechos. Este programa y sus materiales adjuntos están disponibles
bajo los términos de la licencia pública común (Common Public License) v1.0 que acompaña a
esta distribución, y está disponible en
http://www.eclipse.org/legal/cpl-v10.html