Kötések

org.eclipse.ui.bindings

3.1

Az org.eclipse.ui.bindings kiterjesztési pont kötések és sémák deklarálására használható. Egy séma néhány kötés halmaza. Egy kötés egy adott feltételcsoport, néhány felhasználói bemenet és egy aktivált parancs közti leképezés.

Minden kötés igényel valamilyen aktiválást, egy környezetet, amelyben aktív és egy sémát, amelyben létezik. Ha nem biztos abban, hogy mely környezetet válassza, akkor hagyja üresen. Az alapértelmezés az "org.eclipse.ui.contexts.window" környezet lesz. Ez a környezet azt jelenti, hogy a kötés az Eclipse bármely fő ablakában alkalmazásra kerülhet. Amikor a környezet aktívvá válik, akkor a kötés is aktívvá fog válni. Az utódkörnyezetekből származó kötések újradefiniálják a szülőkörnyezetekből származó kötéseket. A környezetekkel kapcsolatos további információk az org.eclipse.ui.contexts kiterjesztési pont leírásában találhatók.

Ha egy kötés nem határoz meg egy parancsazonosítót, akkor az egy törlésjelző. Ez azt jelenti, hogy minden feltétel kielégítése esetén minden kötést vissza fog vonni, amely ugyanazon aktiválóval rendelkezik ugyanazon környezetben. Ez a mechanizmus például egy kötés adott platformon módosítására használható.

A kötések egyik típusa a billentyűkombináció (másnéven billentyűparancs). Például a Ctrl+C billentyűk Másolás művelethez kötésére billentyűkombinációként gondolhatunk. Egy billentyűkombinációhoz tartozó aktiváló valójában billentyűlenyomások sorozata.

Egy séma ezen kötések csoportjának halmaza, amelyből a végfelhasználó válaszhat. Például egy felhasználó az alapértelmezett sémát szeretné használni, de egy Emacs stílusú vagy egy Brief stílusú sémát is szeretne használni.

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

A séma olyan kötések csoportja, amelyeket a végfelhasználó kiválaszthat használatra.

Lehetséges a sémák számára a kötések szülősémából örökölése. Ennek az a célja, hogy egyszerűbbé tegye a bedolgozófejlesztők számára az egyéni kötési halmazok létrehozását. Egy utódsémában megadott aktív kötés minden esetben újra fog definiálni egy aktív kötést a szülősémában, ha ugyanazzal az aktiválóval rendelkeznek. Ez az eljárás az Emacs séma munkaterületben biztosítására használható.



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

Kötés valamilyen billentyűbemenet és a parancs aktiválása között.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

Egy paraméter neve és értéke, amelyet a parancs számára kell átadni annak végrehajtásakor. Ez lehetővé teszi a parancs valamilyen módon minősítését. Például egy "Nézet megjelenítése" parancs elfogadhatja a nézetazonosítót paraméterként.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"Default"

description=

"Eclipse alapértelmezett gyorsbillentyűi"

id=

"default"

/>

</extension>

A kötések meghatározásához nincs nyilvános API. A felhasználók számára a stabilitás elérésének megkísérléséhez a kötések csak kiterjesztési pontokon keresztül kerülnek meghatározásra. RCP alkalmazás esetén ezt a viselkedést újra kell tudni definiálni a WorkbenchAdvisor elemben.

Ahhoz, hogy a kötések működjenek, meg kell adni egy parancsot. A kötés működéséhez a parancsnak rendelkeznie kell egy aktív kezelővel. A kezelők programból jegyezhetők be. Tekintse meg az org.eclipse.ui.handlers kiterjesztési pont leírását.