Ligações de Teclas do Workbench

O workbench define vários aceleradores de teclado para chamar ações comuns com o teclado.  Nas versões anteriores da plataforma, os plug-ins podiam definir a tecla aceleradora a ser utilizada para sua ação quando esta era definida.  Entretanto, essa estratégia pode causar vários problemas:

Para minimizar esses problemas, a plataforma define uma estratégia de ligação de teclas configurável extensível pelos plug-ins.  Ela resolve os problemas listados acima e apresenta novas capacidades:

A estratégia básica é que os plug-ins utilizam comandos para definir ações de semântica. Os comandos são simplesmente declarações de uma ação e suas categorias associadas.  Em seguida, esses comandos podem ser associados às ligações, ações e rotinas de tratamento de teclas.  Os comandos não definem uma implementação para a ação.  Quando um plug-in define uma ação para um editor, conjunto de ações ou visualização, a ação pode especificar que é uma implementação de um desses comandos.  Isso permite que ações semanticamente semelhantes sejam associadas ao mesmo comando.

Depois que um comando é definido, uma ligação de tecla pode ser definida fazendo referência ao comando.  A ligação de tecla define a seqüência de teclas que deve ser utilizada para chamar o comando. Uma ligação de tecla pode fazer referência a um esquema que é utilizado para agrupar ligações de teclas em diferentes configurações nomeadas que o usuário pode ativar por meio do diálogo Preferências.

Isso tudo é melhor entendido passando pelo workbench e examinando como os comandos e ligações de teclas são declarados.  Observaremos tudo isso a partir do ponto de vista da definição de ligações de teclas para ações do workbench existente.