Enlaces

org.eclipse.ui.bindings

3.1

El punto de extensión org.eclipse.ui.bindings se utiliza para declarar enlaces y esquemas. Los esquemas son conjuntos de uno o más enlaces. Un enlace es una correlación entre un grupo de condiciones determinados, entradas de usuario y un mandato desencadenado.

Todos los enlaces necesitan un desencadenante de alguna clase, un contexto en el que están activos y el esquema en el que existen. Si no está seguro de qué contexto debe elegir, déjelo en blanco. Tomará por omisión el contexto "org.eclipse.ui.contexts.window". Este contexto quiere decir que el enlace se aplicará en cualquier ventana principal de Eclipse. Cuando el contexto pase a estar activo, el enlace también pasará a estarlo. Los enlaces de contextos hijos prevalecerán sobre los enlaces de contextos padres. Para obtener más información sobre los contextos, consulte el punto de extensión org.eclipse.ui.contexts.

Si un enlace no define un identificador de mandato, es un marcador de supresión. Esto quiere decir que, si se cumplen todas las condiciones, cancelará todos los enlaces que tengan el mismo desencadenante en el mismo contexto. Este mecanismo puede utilizarse, por ejemplo, para cambiar un enlace en una plataforma determinada.

Un tipo de enlace es un enlace key (es decir, un acceso directo de teclado). Por ejemplo, enlazar Control+C con Copiar se considera un enlace key. El desencadenante de un enlace de teclas (key) es una secuencia de pulsaciones.

Un esquema es un grupo de estos enlaces que forman un conjunto que el usuario final puede seleccionar. Por ejemplo, es posible que un usuario desee utilizar el esquema por omisión, pero también podría desear un esquema Emacs-style o Brief-style.

<!ELEMENT extension (scheme , key)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT scheme EMPTY>

<!ATTLIST scheme

id          CDATA #REQUIRED

name        CDATA #REQUIRED

description CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Un esquema es un agrupamiento de enlaces que un usuario final puede optar por utilizar.

Es posible que los esquemas hereden enlaces de un esquema padre. Esto está pensado para facilitar a los desarrolladores de conectores la creación de conjuntos de enlaces personalizados. Un enlace activo definido en un esquema hijo prevalecerá siempre sobre un enlace activo en un esquema padre, si ambos tienen el mismo desencadenante. Esta técnica se utiliza para proporcionar el esquema Emacs en el entorno de trabajo.



<!ELEMENT key (parameter)>

<!ATTLIST key

sequence  CDATA #REQUIRED

schemeId  CDATA #REQUIRED

contextId CDATA "org.eclipse.ui.contexts.window"

commandId CDATA #IMPLIED

platform  CDATA #IMPLIED

locale    CDATA #IMPLIED>

Un enlace entre una entrada del teclado y el desencadenante de un mandato.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

Un nombre de parámetro y valor que debe pasarse al mandato cuando se ejecuta. Permite que el mandato se califique de alguna manera. Por ejemplo, el mandato "Mostrar vista" podría aceptar el ID de vista como parámetro.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"Predeterminado"

description=

"Atajos predeterminados para Eclipse"

id=

"default"

/>

</extension>

No hay ninguna API pública para definir enlaces. Para intentar alcanzar estabilidad para el usuario, los enlaces sólo se definen a través de los puntos de extensión. Si tiene una aplicación RCP, debería poder alterar temporalmente este comportamiento en WorkbenchAdvisor.

Para que los enlaces funcionen, debe haber definido un mandato. Para que el enlace funcione, el mandato debe tener un manejador activo. Los manejadores pueden registrarse de forma programática; consulte el punto de extensión org.eclipse.ui.handlers.