キー構成

キー構成は、キー・バインディングの一般的なスタイルまたはテーマを表すために使用されます。 例えば、ワークベンチには、「標準」キー構成と「Emacs」キー構成が用意されています。 いつでも、1 つのキー構成のみがアクティブです。 エンド・ユーザーは、 ワークベンチの「設定」ダイアログを使用してどのキー構成がアクティブかを制御できます。

インプリメンテーションの観点では、キー構成は、キー・バインディングの名前付きグループです。 キー構成にキー・バインディングが関連付けられていない限り、キー構成は単独では何も行いません。   

キー・バインディングの定義と、キー構成がキー・バインディングにどのように関連付けられるかを理解するために、 org.eclipse.ui.commands のワークベンチ・マークアップをもう一度調べてみましょう。

...
<keyBinding
       string="Ctrl+S"
       scope="org.eclipse.ui.globalScope"
       command="org.eclipse.ui.file.save"
       configuration="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyBinding>
...
<keyBinding
       string="Ctrl+X Ctrl+S"
       scope="org.eclipse.ui.globalScope"
       command="org.eclipse.ui.file.save"
       configuration="org.eclipse.ui.emacsAcceleratorConfiguration">
</keyBinding>
...

2 つの異なるキー・バインディングが「org.eclipse.ui.file.save」コマンドに定義されています。 それぞれに別の構成が定義されていることに注意してください。 標準構成がアクティブのときは、「Ctrl+S」キー・バインディングでコマンドが起動されます。 emacs 構成がアクティブのときは、シーケンス「Ctrl+X Ctrl+S」でコマンドが起動されます。

新規キー構成の定義

プラグインがキー・バインディングを定義するとき、多くの場合、既存のキー構成が割り当てられます。 ただし、プラグインが、まったく新しいスタイルのキー構成を定義したい場合があります。 このような場合、org.eclipse.ui.commands 定義内で新しいタイプのキー構成を定義することができます。 標準および emacs キー構成を定義するワークベンチ・マークアップを下に示します。

...
<keyConfiguration
       name="%keyConfiguration.standard.name"
       description="%keyConfiguration.standard.description"
       id="org.eclipse.ui.defaultAcceleratorConfiguration">
</keyConfiguration>
<keyConfiguration
       name="%keyConfiguration.emacs.name"
       parent="org.eclipse.ui.defaultAcceleratorConfiguration"
       description="%keyConfiguration.emacs.description"
       id="org.eclipse.ui.emacsAcceleratorConfiguration">
</keyConfiguration>
...

ここで定義される name は、構成リスト内の設定ページで使用されるものであることに注意してください。

キー構成の活動化

ユーザーが、設定ページを介してアクティブ構成を制御します。 ただし、あなたは、org.eclipse.ui.commands 定義の一部としてデフォルトのアクティブ構成を定義することができます。 ワークベンチは、拡張を定義するときに標準キー構成をデフォルトとして設定します。


<extension
         point="org.eclipse.ui.commands">
      <activeKeyConfiguration
            value="org.eclipse.ui.defaultAcceleratorConfiguration">
      </activeKeyConfiguration>
      ...

Copyright IBM Corporation and others 2000, 2003.