Belegungen

org.eclipse.ui.bindings

3.1

Der Erweiterungspunkt org.eclipse.ui.bindings dient zur Deklarierung von Belegungen und Schemata. Schemata sind Gruppen von ein oder mehr Belegungen. Eine Belegung ist eine Zuordnung zwischen einer bestimmten Gruppe von Bedingungen, einer Benutzereingabe und einem ausgelösten Befehl.

Alle Belegungen erfordern einen Auslöser irgendeiner Art, einen Kontext, in dem sie aktiviert sind und ein Schema, in dem sie vorhanden sind. Wenn Sie nicht sicher sind, welchen Kontext Sie auswählen sollen, lassen Sie dies einfach leer. Standardmäßig wird dann der Kontext "org.eclipse.ui.contexts.window" gesetzt. Dieser Kontext bedeutet, dass die Belegung in jedem Hauptfenster von Eclipse gelten wird. Wenn der Kontext aktiviert wird, wird auch die Belegung aktiviert. Belegungen aus untergeordneten Kontexten setzen Belegungen aus übergeordneten Kontexten außer Kraft. Weitere Informationen über Kontexte finden Sie im Erweiterungspunkt org.eclipse.ui.contexts.

Wenn eine Belegung keine Befehls-ID angibt, handelt es sich um eine Löschmarkierung. Das heißt, dass, wenn alle Bedingungen erfüllt sind, alle Belegungen mit demselben Auslöser in demselben Kontext gelöscht werden. Dieser Mechanismus kann zum Beispiel verwendet werden, um eine Belegung auf einer bestimmten Plattform zu verändern.

Ein Typ einer Belegung ist eine Tasten-Belegung (d.h. ein Direktaufruf über die Tastatur). Zum Beispiel wird die Belegung von Strg+C mit Kopieren als eine Tasten-Belegung bezeichnet. Der Auslöser für eine Tastenbelegung ist eine Sequenz von Tastenanschlägen.

Ein Schema ist eine Gruppierung dieser Belegungen in eine Gruppe, die der Endbenutzer auswählen kann. Wenn zum Beispiel möchte ein Benutzer das Standardschema verwenden, möchte aber auch ein EMACS-Schema oder ein BRIEF-Schema.

<!ELEMENT extension (scheme , key)>

<!ATTLIST extension

point CDATA #REQUIRED

id    CDATA #IMPLIED

name  CDATA #IMPLIED>


<!ELEMENT scheme EMPTY>

<!ATTLIST scheme

id          CDATA #REQUIRED

name        CDATA #REQUIRED

description CDATA #IMPLIED

parentId    CDATA #IMPLIED>

Ein Schema ist eine Gruppierung von Belegungen, dessen Verwendung ein Benutzer auswählen kann.

Den Schemata ist es möglich, Belegungen von übergeordneten Schemata zu übernehmen. Dies dient dazu, den Plug-in-Entwicklern die Erstellung angepasster Gruppen von Belegungen zu erleichtern. Eine in einem untergeordneten Schema definierte aktive Belegung setzt immer eine aktive Belegung in einem übergeordneten Schema außer Kraft, wenn sie denselben Auslöser haben. Dieses Verfahren wird verwendet, um das EMACS-Schema in der Workbench zur Verfügung zu stellen.



<!ELEMENT key (parameter)>

<!ATTLIST key

sequence  CDATA #REQUIRED

schemeId  CDATA #REQUIRED

contextId CDATA "org.eclipse.ui.contexts.window"

commandId CDATA #IMPLIED

platform  CDATA #IMPLIED

locale    CDATA #IMPLIED>

Eine Belegung zwischen einer Tastatureingabe und dem Auslösen eines Befehls.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

Ein Parametername und -wert, der an den Befehl übergeben werden sollte, wenn dieser ausgeführt wird. Dadurch kann der Befehl irgendwie qualifiziert werden. Zum Beispiel könnte ein Befehl "Sicht anzeigen" eine Sicht-ID als Parameter akzeptieren.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"Standardwert"

description=

"Standardverknüpfungen für Eclipse"

id=

"default"

/>

</extension>

Es gibt kein öffentliches API für die Definition von Belegungen. Um eine Stabilität für den Benutzer zu erlangen, werden Belegungen nur durch die Erweiterungspunkte definiert. Wenn Sie eine RCP-Anwendung haben, sollten Si e in der Lage sein, dieses Verhalten unter WorkbenchAdvisor außer Kraft zu setzen.

Damit die Belegungen funktionieren, müssen Sie einen Befehl definiert haben. Damit die Belegung funktioniert, muss der Befehl eine aktive Steuerroutine haben. Steuerroutinen können über das Programm registriert werden; Informationen finden Sie in dem Erweiterungspunkt org.eclipse.ui.handlers.