Os Esquemas são utilizados para representar um estilo ou tema geral das
ligações. Por exemplo, o Ambiente de Trabalho fornece um esquema "Default" e
"Emacs". Apenas um esquema está ativo em determinado
momento. Os usuários finais controlam qual fica ativo utilizando a página de
preferências
Geral > Teclas.
Do ponto de vista da implementação, os esquemas são simplesmente agrupamentos nomeados de ligações. Um esquema não realiza nada por si próprio, a menos que haja ligações associadas a ele.
Vejamos novamente a marcação do ambiente de trabalho em org.eclipse.ui.bindings para localizar as definições de ligação e como um esquema é associado a uma ligação.
... <chave sequence="Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"> </key> ... <chave sequence="Ctrl+X Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.emacsAcceleratorConfiguration"> </key> ...
Há duas ligações de teclas diferentes definidas para o comando "org.eclipse.ui.file.save". Observe que cada uma possui um schemeId diferente definido. Quando o esquema default está ativo, a ligação de teclas "Ctrl+S" chamará o comando. Quando o esquema emacs está ativo, a seqüência "Ctrl+X Ctrl+S" chamará o comando.
Quando seu plug-in definir uma ligação, provavelmente a atribuirá a um esquema existente. Entretanto, o plug-in pode desejar definir um estilo completamente novo de esquema. Se este for o caso, é possível definir um novo tipo de esquema dentro da definição org.eclipse.ui.bindings. A marcação do ambiente de trabalho que define as configurações de teclas default e emacs são mostradas a seguir:
... <scheme name="%keyConfiguration.default.name" description="%keyConfiguration.default.description" id="org.eclipse.ui.defaultAcceleratorConfiguration"> </scheme> <scheme name="%keyConfiguration.emacs.name" parentId="org.eclipse.ui.defaultAcceleratorConfiguration" description="%keyConfiguration.emacs.description" id="org.eclipse.ui.emacsAcceleratorConfiguration"> </scheme> ...
Observe que name definido aqui é aquele utilizado na página de preferências na lista de esquemas.
O usuário controla o esquema ativo por meio da página de preferências. Entretanto, é possível definir o esquema ativo padrão como parte da definição de "plugin_customization.ini". É uma preferência:
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration