Accelerator Sets

Identifier: org.eclipse.ui.acceleratorSets

Since: Release 2.0

Description:

WARNING: This extension point is DEPRECATED.
Do not use this extension point, it will be removed in future versions of this product. Instead, use the extension point org.eclipse.ui.commands

This extension point is used to register accelerator set extensions. Accelerator sets are just what the name implies, sets of accelerators. An accelerator is an association between one or more sequences of accelerator keys and a workbench action. An accelerator key sequence may be of length one or greater.

An accelerator set is registered with an accelerator configuration (see the Accelerator Configuration extension point) and is applicable for an accelerator scope (see the Accelerator Scope extension point).

Configuration Markup:

   <!ELEMENT extension (acceleratorSet*)>

   <!ATTLIST extension
     point CDATA #REQUIRED
     id    CDATA #IMPLIED
     name  CDATA #IMPLIED
   >

   <!ELEMENT acceleratorSet (accelerator+)>

   <!ATTLIST acceleratorSet
     configurationId CDATA #REQUIRED
     scopeId         CDATA #REQUIRED
   >

   <!ELEMENT accelerator EMPTY>

   <!ATTLIST accelerator
     id       CDATA #IMPLIED
     key      CDATA #REQUIRED
     locale   CDATA #IMPLIED
     platform CDATA #IMPLIED
   >

Examples: Following is an example of an accelerator set extension:

   <extension point="org.eclipse.ui.acceleratorSets"> 
      <acceleratorSet 
        configurationId="org.eclipse.ui.exampleAcceleratorConfiguration" 
        scopeId="org.eclipse.ui.globalScope"> 
          <accelerator 
              id="org.eclipse.ui.ExampleActionA" 
              key="CTRL+R CTRL+A"> 
          </accelerator> 
          <accelerator 
              id="org.eclipse.ui.ExampleActionB" 
              key="CTRL+R CTRL+B"> 
          </accelerator> 
          <accelerator 
              id="org.eclipse.ui.ExampleActionC" 
              key="CTRL+R CTRL+C || CTRL+SHIFT+DELETE"> 
          </accelerator> 
      </acceleratorSet> 
   </extension> 

API Information: More than one accelerator may be specified for the same action in the accelerator set but only one will be used.

If the locale and/or the platform is specified, the accelerator that better matches the current locale and platform will be used. The current locale is determined by the API Locale.getDefault() and the platform by the API SWT.getPlatform(). If the platform and/or the locale is specified and it does not match the current locale and/or platform, the accelerator is discarded. If accelerator A defines only the locale and B defines only the platform, B is used. If accelerator A defines "ja" as its locale and B defines "ja_JP", B is used in case the current locale is "ja_JP".

If two accelerators are defined in accelerators sets in different plugins, the chosen accelerator will depend on the plugins. If plugin A depends on B, the accelerators defined in B is used. If A and B don't depend on each other, they will be alphabetically sorted by the plugin id.

If two accelerators are defined in different scopes, the accelerator defined in the current scope will be used. If an accelerator is not defined in the current scope or one of its parents it is discarded. If an accelerator is defined in a parent and child scope, the one in the child is used.

Supplied Implementation: The workbench provides accelerator sets for the Default and Emacs accelerator configurations.

Copyright (c) 2002 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html