Conjuntos de Aceleradores

A associação entre uma definição de ação e as combinações de teclas que devem chamar a ação é chamada de acelerador.  Um conjunto de aceleradores é uma lista de aceleradores.  Os plug-ins podem contribuir com conjuntos de aceleradores utilizando o ponto de extensão org.eclipse.ui.acceleratorSets.  O workbench define um conjunto de aceleradores que fornece ligações de teclas do tipo 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>
      ...

Há nosso amigo org.eclipse.ui.file.save.  Lembrar da nossa definição de ação hipotética:

<extension point = "org.eclipse.ui.actionSets">
	   <actionSet id="com.example.actions.actionSet"
		   label="Exemplo de Ações"
		   visible="true">
		   <action id="com.example.actions.action1"
			   menubarPath="additions"
			   label="Exemplo de Ação de Salvamento"
			   class="org.example.actions.ExampleActionDelegate"
			   definitionID="org.eclipse.ui.file.save">
		   </action>
		   ...
	   </actionSet>
</extension>

Quando nosso exemplo de conjunto de ações está ativo, nossa ação de salvamento será chamada quando o usuário escolher Ctrl+X seguido de Ctrl+S. (O uso de ||, tal como "Ctrl+Shift+F4||Ctrl+X Ctrl+C" indica que é possível utilizar uma das combinações de teclas para ativar a ação.)

Da mesma forma, quando SaveAction do workbench estiver ativa, as mesmas combinações de teclas a chamarão no lugar, uma vez que o workbench utilizou o mesmo id de definição de ação de SaveAction.

Para concluir o exemplo, precisamos entender o que scopeID e configurationId significam.  Vamos ver as configurações primeiro.

Copyright IBM Corp. e outros 2000,2002.