Powiązania

org.eclipse.ui.bindings

3.1

Punkt rozszerzenia org.eclipse.ui.bindings jest używany do deklarowania powiązań i schematów. Schematy są zbiorami zawierającymi co najmniej jedno powiązanie. Powiązanie jest odwzorowaniem między określoną grupą warunków, danymi wejściowymi użytkownika i wyzwalaną komendą.

Wszystkie powiązania wymagają określonego rodzaju wyzwalacza, kontekstu w którym są aktywowane, oraz schematu, w którym istnieją. Jeśli nie jest się pewnym, który kontekst należy wybrać, nie należy podawać żadnej wartości. Domyślnie zostanie użyty kontekst "org.eclipse.ui.contexts.window". Ten kontekst oznacza, że powiązanie będzie stosowane w dowolnym oknie głównym środowiska Eclipse. Po aktywowaniu kontekstu jest również aktywowane powiązanie. Powiązania z kontekstów potomnych przesłaniają powiązania z kontekstów nadrzędnych. Więcej informacji o kontekstach można znaleźć w dokumentacji punktu rozszerzenia org.eclipse.ui.contexts.

Powiązanie, które nie definiuje identyfikatora komendy, jest znacznikiem usuwania. To oznacza, że jeśli wszystkie warunki zostały spełnione, zostaną anulowane wszystkie powiązania z tym samym wyzwalaczem w tym samym kontekście. Ten mechanizm może być używany na przykład do zmiany powiązania dla wybranej platformy.

Jednym z typów powiązań jest powiązanie typu key (tzn. skrót klawiaturowy). Na przykład powiązanie klawiszy Ctrl+C z komendą Kopiuj jest uznawane za powiązanie typu key. Wyzwalaczem dla powiązania typu key jest sekwencja naciśnięć klawiszy.

Schemat jest zbiorem tych powiązań, który może zostać wybrany przez użytkownika końcowego. Na przykład użytkownik może używać schematu domyślnego, ale może również używać schematu edytora Emacs lub Brief.

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

Schemat jest grupą powiązań, która może być wybierana i używana przez użytkownika końcowego.

Schematy mogą dziedziczyć powiązania ze schematu nadrzędnego. Ma to na celu ułatwienie programistom modułów dodatkowych tworzenie dostosowanych zbiorów powiązań. Aktywne powiązanie zdefiniowane w schemacie potomnym zawsze przesłania aktywne powiązanie w schemacie nadrzędnym, jeśli mają one taki sam wyzwalacz. Ta technika jest używana, aby udostępnić schemat edytora Emacs w środowisku roboczym.



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

Powiązanie między danymi wprowadzanymi za pomocą klawiatury a wyzwalaniem komendy.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

Nazwa parametru i wartość, które powinny zostać przekazane do komendy podczas jej wykonywania. Umożliwia to pewną kwalifikację komendy. Na przykład komenda Pokaż widok może akceptować identyfikator widoku jako parametr.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"Domyślnie"

description=

"Domyślne skróty dla platformy Eclipse"

id=

"default"

/>

</extension>

Nie istnieje publiczny interfejs API do definiowania powiązań. Aby spróbować zapewnić użytkownikowi stabilność, powiązania są definiowane tylko przez punkty rozszerzenia. W przypadku aplikacji RCP powinna istnieć możliwość przesłonięcia tego zachowania w klasie doradcy środowiska roboczego.

Aby powiązania mogły działać, musi zostać zdefiniowana komenda. Aby powiązania mogły działać, komenda musi mieć aktywną procedurę obsługi. Procedury obsługi są rejestrowane programowo - szczegółowe informacje można znaleźć w dokumentacji punktu rozszerzenia org.eclipse.ui.handlers.