El ámbito de un acelerador sirve para definir el contexto apropiado de las teclas aceleradoras. El entorno de trabajo define dos ámbitos de aceleradores:
El ámbito indica cuándo se considera activo un conjunto de aceleradores (en la configuración de aceleradores activa). El ámbito se declara en los códigos XML del 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> ...
¿Cómo se determina el ámbito actual? Por omisión, el entorno de trabajo funciona en un ámbito global. Cuando se activa un editor de texto, este se encarga de restablecer que el ámbito sea el del editor de texto. Todo esto lo maneja el código del entorno de trabajo y del editor de texto. La mayoría de los conectores tan solo tienen que determinar el ámbito apropiado para sus conjuntos de aceleradores en el momento de definirlos.
Cuando un conector define un conjunto de aceleradores, suele asignarlo a un ámbito de aceleradores existente. No obstante, si el conector define un estilo de editor nuevo, es posible que también le interese proporcionar un ámbito nuevo para las teclas aceleradoras. Por ejemplo, un editor multipágina puede tener ámbitos distintos para cada una de sus páginas.
Cuando defina un ámbito propio, el conector será el que se encargue de asegurar que se establezcan los debidos ámbitos en la interfaz IKeyBindingService en función de cómo sea el editor. Aquí no ofrecemos un estudio completo de cómo funciona todo esto, porque está más allá del ámbito (valga la redundancia) de esta documentación. Hallará más detalles en el tema dedicado a la interfaz IKeyBindingService y a sus implementadores.
Los conectores definen los ámbitos de los aceleradores con el punto de extensión org.eclipse.ui.acceleratorScopes. Los códigos XML del entorno de trabajo para las configuraciones de aceleradores de ámbito global y de editor de texto son los siguientes:
<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>