Escopos do Acelerador

Um escopo do acelerador é utilizado para definir o contexto apropriado das teclas aceleradoras.  O workbench define dois escopos do acelerador:

O escopo indica quando um conjunto de aceleradores (na configuração de acelerador ativa) é considerado ativo.  O escopo é declarado na marcação do conjunto de aceleradores:

<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>
      ...

Como o escopo atual está determinado?  Por padrão, o workbench opera em um escopo global.  Quando um editor de texto se torna ativo, ele é responsável pela redefinição do escopo no escopo do editor de texto.  Isso é tratado pelo código do workbench e do editor de texto.  A maioria dos plug-ins precisam apenas determinar o escopo apropriado de seus conjuntos de aceleradores ao defini-los.  

Definindo Novos Escopos do Acelerador

Quando um plug-in define um conjunto de aceleradores, ele geralmente o atribui a um escopo de acelerador existente.   Entretanto, se seu plug-in definir um novo estilo de editor, é possível que você também queira introduzir um novo escopo para teclas aceleradoras.  Por exemplo, um editor com várias páginas pode ter escopos diferentes para cada página no editor.  

Ao definir o novo escopo, cabe ao plug-in assegurar que os escopos adequados sejam definidos no IKeyBindingService conforme apropriado para seu editor.  Uma discussão completa de como isso funciona está além do escopo desta documentação.  Consulte o IKeyBindingService e seus implementadores para obter mais detalhes.  

Os plug-ins definem escopos de aceleradores utilizando o ponto de extensão org.eclipse.ui.acceleratorScopes.  A marcação do workbench para as configurações global e do editor de texto é mostrada a seguir:

<extension
    point="org.eclipse.ui.acceleratorScopes">
      <acceleratorScope
            name="%GlobalAcceleratorScope.name"
            description="%GlobalAcceleratorScope.description"
            id="org.eclipse.ui.globalScope">
      </acceleratorScope>
      <acceleratorScope
            name="%TextEditorAcceleratorScope.name"
            parentScope="org.eclipse.ui.globalScope"
            description="%TextEditorAcceleratorScope.description"
            id="org.eclipse.ui.textEditorScope">
      </acceleratorScope>
</extension>

Copyright IBM Corp. e outros 2000,2002.