바인딩

org.eclipse.ui.bindings

3.1

org.eclipse.ui.bindings 확장점은 바인딩 및 설계를 선언하는 데 사용됩니다. 설계는 하나 이상의 바인딩 세트입니다. 바인딩은 특정 조건 그룹, 일부 사용자 입력 및 트리거된 명령 사이의 맵핑입니다.

모든 바인딩은 일정한 종류의 트리거, 이들이 활성인 컨텍스트 및 이들이 존재하는 설계가 필요합니다. 어떤 컨텍스트를 선택할지 확실하지 않은 경우 그냥 공백으로 두십시오. "org.eclipse.ui.contexts.window" 컨텍스트로 기본 설정됩니다. 이 컨텍스트는 바인딩이 모든 Eclipse 기본 창에 적용됨을 의미합니다. 컨텍스트가 활성될 때 바인딩도 활성됩니다. 하위 컨텍스트로부터 바인딩하면 상위 컨텍스트의 바인딩이 대체됩니다. 컨텍스트에 대한 자세한 정보는 org.eclipse.ui.contexts 확장점을 참조하십시오.

바인딩이 명령 ID를 정의하지 않는 경우 ID는 삭제 마커입니다. 이는 모든 조건이 만족되는 경우 동일한 컨텍스트의 동일한 트리거가 있는 모든 바인딩을 취소함을 의미합니다. 예를 들어 이 메커니즘을 사용하여 특정 플랫폼의 바인딩을 변경할 수 있습니다.

바인딩의 한 가지 유형은 key 바인딩(즉, 키보드 단축키)입니다. 예를 들어 Ctrl+CCopy에 바인딩하는 것이 key 바인딩으로 간주됩니다. 키 바인딩에 대한 트리거는 키 스트로크의 순서입니다.

설계는 일반 사용자가 선택할 수 있는 세트로의 이들 바인딩 그룹입니다. 예를 들어 사용자가 기본 설계 사용을 원할 수 있지만 Emacs 스타일 설계나 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>

설계는 일반 사용자가 사용할 것을 선택할 수 있는 바인딩 그룹입니다.

설계가 상위 설계로부터 바인딩을 상속할 수 있습니다. 이것은 플러그인 개발자가 사용자 정의된 바인딩 세트를 작성하는 것을 더 쉽게 만들기 위한 것입니다. 하위 설계에 정의되는 활성 바인딩은 항상 상위 설계의 활성 바인딩을(동일한 트리거가 있는 경우) 대체합니다. 이 기법은 Workbench에서 Emacs 설계를 제공하는 데 사용됩니다.



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

일부 키보드 입력과 명령의 트리거링 사이의 바인딩.



<!ELEMENT parameter EMPTY>

<!ATTLIST parameter

id    CDATA #IMPLIED

value CDATA #IMPLIED>

명령이 실행될 때 명령에 전달되어야 하는 매개변수 이름 및 값입니다. 이는 명령이 어떤 방법으로 규정될 수 있게 합니다. 예를 들어 "보기 표시" 명령은 보기 ID를 매개변수로서 허용할 수 있습니다.



<extension point=

"org.eclipse.ui.bindings"

>

<key sequence=

"M2+F5"

commandId=

"commandId"

schemeId=

"default"

contextId=

"windows"

/>

<scheme name=

"기본값"

description=

"Default shortcuts for Eclipse"

id=

"default"

/>

</extension>

바인딩 정의를 위한 공용 API가 없습니다. 사용자를 위해 안정성을 달성하기 위해 바인딩이 확장점을 통해서만 정의됩니다. RCP 응용프로그램인 경우 WorkbenchAdvisor에서 이 작동을 대체할 수 있어야 합니다.

바인딩이 작동하기 위해서는 사용자가 명령을 정의했어야 합니다. 바인딩이 작동하기 위해서는 명령이 활성 핸들러를 가져야 합니다. 핸들러는 프로그램적으로 등록할 수 있습니다. org.eclipse.ui.handlers 확장점을 참조하십시오.