Descripción: este punto de extensión permite registrar extensiones de conjuntos de aceleradores. Como su nombre indica, los conjuntos de aceleradores no son más que conjuntos formados por aceleradores. El acelerador es una asociación entre una o más secuencias de teclas aceleradoras y una acción del entorno de trabajo. La secuencia puede constar de una o más teclas aceleradoras.
Cada conjunto de aceleradores se registra en una configuración de aceleradores (vea el punto de extensión Configuración de aceleradores) y es aplicable en un ámbito de aceleradores (vea el punto de extensión Ámbito de aceleradores).
A partir del: Release 2.0
Códigos XML de configuración:
<!ELEMENT acceleratorSet (accelerator)+>
<!ATTLIST acceleratorSet
configurationId CDATA
#REQUIRED
scopeId CDATA
#REQUIRED
>
Se puede especificar más de un acelerador para una misma acción del conjunto de aceleradores, pero solo se utilizará uno de ellos.
Si se especifica el entorno local y/o la plataforma, se empleará el acelerador que mejor se corresponda con el entorno local y la plataforma actuales. El entorno local actual viene determinado por la API Locale.getDefault(), y la plataforma, por la API SWT.getPlatform(). Si se especifica la plataforma y/o el entorno local, pero estos no coinciden con la plataforma ni con el entorno local actuales, el acelerador queda descartado. Si el acelerador A solo define el entorno local, y el acelerador B solo define la plataforma, se utiliza el B. Si el acelerador A define el entorno local "ja" y el acelerador B define el entorno local "ja_JP", se utiliza el B en el caso de que "ja_JP" sea el entorno local actual.
Si hay dos aceleradores definidos en conjuntos de aceleradores de distintos conectores, la elección de acelerador dependerá de los conectores. Si el conector A depende del conector B, se utilizan los aceleradores definidos en el B. Si A y B no son interdependientes, quedarán alfabéticamente ordenados por el ID de conector.
Si dos aceleradores están definidos en distintos ámbitos, se utilizará el acelerador definido en el ámbito actual. Un acelerador que no esté definido en el ámbito actual ni en uno de los ámbitos padre quedará descartado. Si un acelerador está definido en un ámbito padre y otro en el ámbito hijo, se utilizará el que esté en el ámbito hijo.
Ejemplos:
A continuación figura un ejemplo de una extensión de conjunto de aceleradores:
<extension point="org.eclipse.ui.acceleratorSets">
<acceleratorSet
configurationId="org.eclipse.ui.exampleAcceleratorConfiguration"
scopeId="org.eclipse.ui.globalScope">
<accelerator
id="org.eclipse.ui.ExampleActionA"
key="CTRL+R CTRL+A"
</accelerator>
<accelerator
id="org.eclipse.ui.ExampleActionB"
key="CTRL+R CTRL+B"
</accelerator>
<accelerator
id="org.eclipse.ui.ExampleActionC"
key="CTRL+R CTRL+C || CTRL+SHIFT+DELETE"
</accelerator>
</acceleratorSet>
</extension>
Información sobre las API: ninguna.
Implementación suministrada: el entorno de trabajo proporciona los conjuntos de aceleradores de las configuraciones de aceleradores por omisión (Default) y Emacs.