Skemaer

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

Definér nye skemaer

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.

Aktivér et skema

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