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.
<!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.
Die Tastenkombination für diese Belegung. Diese Tastenkombination sollte aus einem oder mehreren Tastenanschlägen bestehen. Tastenanschläge werden durch Leerzeichen getrennt. Tastenanschläge bestehen aus einer oder mehreren Tasten, die gleichzeitig betätigt werden. Dies sollte null oder mehr Kombinationstasten und eine andere Taste
sein. Die Tasten werden durch das Zeichen +
getrennt.
Die anerkannten Kombinationstasten sind M1
, M2
, M3
, M4
, ALT
, COMMAND
, STRG
und SHIFT
. Die "M"-Kombinationstasten sind ein e plattformunabhängige Art der Darstellung von Tasten und diese werden generell bevorzugt. M1
ist die Taste COMMAND
unter MacOS X und die Taste STRG
bei den meisten anderen Plattformen. M2
ist die UMSCHALT
-Taste. M3
ist die Taste Option
unter MacOS X und die Taste ALT
bei den meisten anderen Plattformen. M4
ist die Taste CTRL
unter MacOS X und ist undefiniert bei den anderen Plattformen.
Die tatsächliche Taste wird in der Regel einfach als das ASCII-Zeichen in Großschreibung angegeben. So sind F
oder ,
Beispiele für solche Tasten. Jedoch gibt es einige spezielle Tasten; Tasten, die keine druckbare ASCII-Darstellung haben. Folgendes ist eine Liste der aktuellen speziellen Tasten: ARROW_DOWN
, ARROW_LEFT
, ARROW_RIGHT
, ARROW_UP
, BREAK
, BS
, CAPS_LOCK
, CR
, DEL
, END
, ESC
, F1
, F2
, F3
, F4
, F5
, F6
, F7
, F8
, F9
, F10
, F11
, F12
, F13
, F14
, F15
, FF
, HOME
, INSERT
, LF
, NUL
, NUM_LOCK
, NUMPAD_0
, NUMPAD_1
, NUMPAD_2
, NUMPAD_3
, NUMPAD_4
, NUMPAD_5
, NUMPAD_6
, NUMPAD_7
, NUMPAD_8
, NUMPAD_9
, NUMPAD_ADD
, NUMPAD_DECIMAL
, NUMPAD_DIVIDE
, NUMPAD_ENTER
, NUMPAD_EQUAL
, NUMPAD_MULTIPLY
, NUMPAD_SUBTRACT
, PAGE_UP
, PAGE_DOWN
, PAUSE
, PRINT_SCREEN
, SCROLL_LOCK
, SPACE
, TAB
und VT
.
Wir kennen auch einige alternative Namen für einige allgemeine spezielle Tasten. So akzeptieren wir zum Beispiel sowohl ESC
als auch ESCAPE
, und CR
, ENTER
und RETURN
meinen dasselbe.
Es wird auch sehr empfohlen, die Tastenkombinationen kurz zu halten. Mehr als ein oder zwei sollten Sie nicht brauchen. Verwenden Sie Kontexte, um Tastenkombinationen verschiedene Bedeutungen in verschiedenen Abschnitten Ihrer Anwendung zuzuweisen. Sie sollten keine Tastenkombinationen verwenden, die mehr als vier Tastenanschläge umfassen.
org.eclipse.ui.contexts
. Wenn dieser nicht angegeben ist, wird er standardmäßig zu org.eclipse.ui.contexts.window
.Die ID des Befehls, der ausgeführt werden soll, wenn diese Belegung ausgelöst wird.
Wenn keine Befehls-ID angegeben wird, handelt es sich um eine Löschmarkierung. Das bedeutet, dass jede Belegung in demselben Kontext mit derselben Folge, Plattform und Ländereinstellung deaktiviert wird, wenn diese Belegung aktiviert wird. Wenn die Plattform oder die Ländereinstellung bei einer Löschung nicht angegeben ist, passt dies zu jeder Plattform oder Ländereinstellung.
SWT.getPlatform()
. So werden zum Beispiel die folgenden Zeichenfolgen als gültig angesehen: win32
, gtk
, motif
, carbon
und photon
.Locale.toString()
. So wird zum Beispiel sowohl "en"
als auch "en_CA"
verstanden.<!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.
Copyright (c) 2005 IBM Corporation und Andere.
Alle Rechte vorbehalten. Dieses Programm und sein Begleitmaterial werden gemäß den Bedingungen der "Eclipse Public License v1.0" zur Verfügung gestellt, die dieser Lieferung beiliegt und unter
http://www.eclipse.org/legal/epl-v10.html abgerufen werden kann.