Los esquemas se utilizan para representar un estilo general o tema de enlaces. Por ejemplo, el entorno de trabajo proporciona un esquema "Default" y un esquema "Emacs". En un momento dado, sólo puede haber un esquema activo. Los usuarios finales controlan cuál de ellas está activa mediante el diálogo Preferencias general.
Desde el punto de vista de la implementación, los esquemas son simplemente agrupaciones de enlaces con nombre. Un esquema no realizará ninguna operación por sí mismo, a menos que haya enlaces asociados a él.
Examinemos de nuevo el código del entorno de trabajo de org.eclipse.ui.commands para buscar las definiciones de enlaces y conocer cómo se asocia un esquema con un enlace.
... <key sequence="Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration"> </key> ... <key sequence="Ctrl+X Ctrl+S" commandId="org.eclipse.ui.file.save" schemeId="org.eclipse.ui.emacsAcceleratorConfiguration"> </key> ...
Existen dos enlaces de teclas diferentes definidos para el mandato "org.eclipse.ui.file.save". Observe que cada uno de ellos tiene definida un schemeId diferente. Cuando está activo el esquema por omisión, el enlace de teclas "Control+S" invocará el mandato. Cuando está activo el esquema emacs, la secuencia "Control+X Control+S" invocará el mandato.
Cuando el conector defina un enlace, probablemente lo asignará a un esquema existente. Sin embargo, puede que el conector desee definir un estilo de esquema totalmente nuevo. En tal caso, puede definir un tipo de esquema nuevo en la definición de org.eclipse.ui.commands. A continuación figuran los códigos del entorno de trabajo que define las configuraciones de teclas por omisión y emacs:
... <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> ...
Tenga en cuenta que el nombre (name) definido aquí es el nombre utilizado en la página de preferencias de la lista de esquemas.
El usuario controla el esquema activo por medio de la página de preferencias. Sin embargo, puede definir el esquema activo por omisión como parte del archivo "plugin_customization.ini". Es una preferencia:
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration