Bindningar

org.eclipse.ui.bindings

3.1

Utökningspunkten org.eclipse.ui.bindings används för att deklarera bindningar och scheman. Scheman är uppsättningar med en eller flera bindningar. En bindning är en avbildning mellan en viss grupp villkor, användardata och ett utlöst kommando.

För alla bindningar krävs en utlösare av något slag, ett sammanhang där de är aktiva och ett schema där de existerar. Om du är osäker på vilket sammanhang du ska välja lämnar du det tomt. Standard är då sammanhanget "org.eclipse.ui.contexts.window". Det sammanhanget innebär att bindningen tillämpas i Eclipse huvudfönster. När sammanhanget blir aktivt blir även bindningen aktiv. Bindningar från underordnade sammanhang ersätter bindningar från överordnade sammanhang. Mer information om sammanhang finns i avsnittet om utökningspunkten org.eclipse.ui.contexts.

Om en kommandoidentifierare inte definieras i en bindning är det en borttagningsmarkering. Det innebär att om alla villkor uppfylls avbryts alla bindningar med samma utlösare i samma sammanhang. Den här mekanismen kan till exempel användas till att ändra en bindning på en viss plattform.

En typ av bindning är en key-bindning (dvs kortkommandon). Exempelvis betraktas bindning av Ctrl+C till Copy som en key-bindning. Utlösaren för en key-bindning är en sekvens av tangenttryckningar.

Ett schema är en grupp av sådana bindningar till en uppsättning som slutanvändaren kan välja. Exempelvis kan en användare vilja använda standardschemat men även vilja använda ett schema av Emacs-typ eller ett schema av Brief-typ.

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

Ett schema är en gruppering av bindningar som en slutanvändare kan välja att använda.

Det är möjligt för scheman att överta bindningar från ett överordnat schema. Avsikten är att göra det enklare för utvecklare av insticksprogram att skapa anpassade bindningsuppsättningar. En aktiv bindning som är definierad i ett underordnat schema ersätter alltid en aktiv bindning i ett överordnat schema, om de har samma utlösare. Den här tekniken används för att tillhandahålla Emacs-schemat i arbetsmiljön.



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

En bindning mellan vissa data angivna från tangentbordet och utlösningen av ett kommando.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

Ett parameternamn och ett värde som ska skickas till kommandot när det körs. Det gör det möjligt för kommandot att kvalificeras på något sätt. Exempelvis kan ett "visa vy"-kommandot godta vyns ID som en parameter.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"Standard"

description=

"Standardgenvägar för Eclipse"

id=

"default"

/>

</extension>

Det finns inga allmänna API för att definiera bindningar. För att försöka uppnå stabilitet för användaren definieras bindningar endast via utökningspunkterna. Om du är en RCP-tillämpning ska du kunna ersätta det här funktionssättet i WorkbenchAdvisor.

För att bindningar ska fungera måste du ha definierat ett kommando. För att bindningen ska fungera måste kommandot ha en aktiv hanterare. Hanterare kan registreras programmatiskt. Mer information finns i avsnittet om utökningspunkten org.eclipse.ui.handlers.