Skemaer bruges til at repræsentere en generelt type af eller tema for
bindinger. Arbejdsbænken omfatter f.eks. et "standard"skema og
et "Emacs"-skema. Der er kun ét aktivt skema ad gangen. Slutbrugere styrer, hvilket skema der er aktivt, ved at bruge indstillingssiden
Generelt > Taster .
Set fra en implementerings synsvinkel er skemaer blot navngivne grupper af bindinger. Et skema kan ikke i sig selv gøre noget, medmindre der er knyttet bindinger til det.
Se på arbejdsbænkens kode for org.eclipse.ui.bindings for at finde bindingsdefinitionerne og se, hvordan et skema bliver knyttet til en binding.
... <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> ...
Der er defineret to forskellige tastbindinger for kommandoen "org.eclipse.ui.file.save". Bemærk, at hver tastbinding har defineret en forskellig schemeId. Når standardskemaet er aktivt, startes kommandoen med tastbindingen "Ctrl+S". Når emacs-skemaet er aktivt, startes kommandoen med sekvensen "Ctrl+X Ctrl+S".
Når din plugin definerer en binding, knyttes den formentligt til et eksisterende skema. Din plugin kan imidlertid have brug for at definere en helt ny type af skema. Hvis det er tilfældet, kan du definere en ny skematype i definitionen org.eclipse.ui.bindings. Arbejdsbænkskoden, der definerer standard- og emacs-tastkonfigurationer, er vist nedenfor:
... <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> ...
Bemærk, at det name, der defineres her, er det, der bruges på indstillingssiden i listen med skemaer.
Brugeren styrer det aktive skema via indstillingssiden. Du kan imidlertid definere det aktive standardskema som en del af filen "plugin_customization.ini". Det er en indstilling:
org.eclipse.ui/KEY_CONFIGURATION_ID=org.eclipse.ui.defaultAcceleratorConfiguration