Conjuntos de aceleradores

La asociación entre una definición de acción y las combinaciones de teclas que deben invocar la acción es lo que se llama acelerador. Cada conjunto de aceleradores está formado por una lista de aceleradores. Los conectores pueden contribuir con conjuntos de aceleradores mediante el punto de extensión org.eclipse.ui.acceleratorSets. El entorno de trabajo define un conjunto de aceleradores que proporciona enlaces de teclas al estilo de emacs: 

<extension
      point="org.eclipse.ui.acceleratorSets">
   <acceleratorSet
         scopeId="org.eclipse.ui.globalScope"
         configurationId="org.eclipse.ui.emacsAcceleratorConfiguration">
      <accelerator
            key="Ctrl+F4||Ctrl+X Ctrl+K"
            id="org.eclipse.ui.file.close">
      </accelerator>
      <accelerator
            key="Ctrl+Shift+F4||Ctrl+X Ctrl+C"
            id="org.eclipse.ui.file.closeAll">
      </accelerator>
      <accelerator
            key="Ctrl+X Ctrl+S"
            id="org.eclipse.ui.file.save">
      </accelerator>
      ...

Acabamos de mencionar el id de org.eclipse.ui.file.save. Recordemos nuestra definición de acción hipotética:

<extension point = "org.eclipse.ui.actionSets">
	   <actionSet id="com.example.actions.actionSet"
		   label="Acciones de ejemplo"
		   visible="true">
		   <action id="com.example.actions.action1"
			   menubarPath="additions"
			   label="Acción de guardar de ejemplo"
			   class="org.example.actions.ExampleActionDelegate"
			   definitionID="org.eclipse.ui.file.save">
		   </action>
		   ...
	   </actionSet>
</extension>

Cuando nuestro conjunto de acciones de ejemplo esté activo, se invocará nuestra acción de guardar cuando el usuario elija la combinación de teclas Control+X seguida de Control+S. (Las dos barras que figuran en "Ctrl+Shift+F4||Ctrl+X Ctrl+C" indican que las dos combinaciones de teclas son válidas para activar la acción).

De la misma manera, cuando está activa la acción SaveAction del entorno de trabajo, las mismas combinaciones de teclas invocarán esa acción, porque el entorno de trabajo utilizó el mismo ID de definición de acción para SaveAction.

Para completar el ejemplo, debemos comprender en primer lugar el significado de scopeID y configurationId. Veamos primero las configuraciones.

Copyright IBM Corp. y otros 2000, 2002.