Наборы клавиш быстрого доступа

org.eclipse.ui.acceleratorSets

2.0

ВНИМАНИЕ: эта точка расширения УСТАРЕЛА.
Не используйте эту точку расширения, она будет удалена в последующих версиях продукта. Вместо нее используйте точку расширения org.eclipse.ui.commands.

Эта точка расширения служит для регистрации расширений набора клавиш быстрого доступа. Наборы клавиш быстрого доступа - это обычные наборы из клавиш быстрого доступа. Клавиша быстрого доступа - это соответствие между одной или несколькими последовательностями клавиш и действием рабочей среды. Последовательность может состоять из одной или нескольких клавиш.

Набор клавиш быстрого доступа регистрируется в конфигурации клавиш быстрого доступа (см. описание точки расширения Конфигурация клавиш быстрого доступа) и применим в пределах определенной области, которая называется областью действия (см. описание точки расширения Область действия клавиш быстрого доступа).

<!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>

Устарел. Пользуйтесь точкой расширения "org.eclipse.ui.bindings". Используйте элемент key.



<!ELEMENT accelerator EMPTY>

<!ATTLIST accelerator

id       CDATA #IMPLIED

key      CDATA #REQUIRED

locale   CDATA #IMPLIED

platform CDATA #IMPLIED>

Устарел. Пользуйтесь точкой расширения "org.eclipse.ui.bindings". Используйте элемент key.



Ниже приведен пример расширения набора клавиш быстрого доступа:

   

<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 Locale.getDefault(), платформа - API SWT.getPlatform(). Если задана платформа, локаль или и то, и другое, но они не соответствуют текущей локали или платформе, то клавиша быстрого доступа аннулируется. Если клавиша быстрого доступа A определяет только локаль, а клавиша быстрого доступа B - только платформу, то применяется клавиша B. Если клавиша быстрого доступа A задает "ja" в качестве своей локали, а клавиша быстрого доступа B - "ja_JP", то в случае, когда текущая локаль - "ja_JP", применяется клавиша B.

Если две клавиши быстрого доступа определены в наборах, относящихся к разным модулям, то выбор клавиши быстрого доступа будет зависеть от этих модулей. Если модуль A зависит от модуля B, то применяются клавиши быстрого доступа из модуля B. Если модули A и B независимы, то они упорядочиваются по идентификатору в алфавитном порядке.

Если две клавиши быстрого доступа определены в разных областях действия, то применяется клавиша быстрого доступа, определенная в текущей области. Если клавиша быстрого доступа не определена ни в текущей области, ни в ее родительских областях, то она аннулируется. Если клавиша быстрого доступа определена и в родительской, и в дочерней областях действия, то применяется та, которая определена в дочерней области.

В рабочей среде предусмотрены наборы клавиш быстрого доступа для конфигураций клавиш быстрого доступа Default и Emacs.