org.eclipse.ui.bindings
확장점은 바인딩 및 설계를 선언하는 데 사용됩니다. 설계는 하나 이상의 바인딩 세트입니다. 바인딩은
특정 조건 그룹, 일부 사용자 입력 및 트리거된 명령 사이의 맵핑입니다.
모든 바인딩은 일정한 종류의 트리거, 이들이 활성인 컨텍스트 및 이들이 존재하는 설계가 필요합니다. 어떤 컨텍스트를 선택할지 확실하지
않은 경우 그냥 공백으로 두십시오. "org.eclipse.ui.contexts.window"
컨텍스트로 기본 설정됩니다. 이 컨텍스트는
바인딩이 모든 Eclipse 기본 창에 적용됨을 의미합니다. 컨텍스트가 활성될 때 바인딩도 활성됩니다. 하위 컨텍스트로부터 바인딩하면
상위 컨텍스트의 바인딩이 대체됩니다. 컨텍스트에 대한 자세한 정보는 org.eclipse.ui.contexts
확장점을 참조하십시오.
바인딩이 명령 ID를 정의하지 않는 경우 ID는 삭제 마커입니다. 이는 모든 조건이 만족되는 경우 동일한 컨텍스트의 동일한 트리거가 있는 모든 바인딩을 취소함을 의미합니다. 예를 들어 이 메커니즘을 사용하여 특정 플랫폼의 바인딩을 변경할 수 있습니다.
바인딩의 한 가지 유형은 key
바인딩(즉, 키보드 단축키)입니다. 예를 들어 Ctrl+C
를 Copy
에
바인딩하는 것이 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 설계를 제공하는 데 사용됩니다.
<!ATTLIST key
sequence CDATA #REQUIRED
schemeId CDATA #REQUIRED
contextId CDATA "org.eclipse.ui.contexts.window"
commandId CDATA #IMPLIED
platform CDATA #IMPLIED
locale CDATA #IMPLIED>
일부 키보드 입력과 명령의 트리거링 사이의 바인딩.
이 바인딩에 대한 키 순서입니다. 이 키 순서는 하나 이상의 키 스트로크로 구성되어야 합니다. 키 스트로크는 공백으로 분리됩니다. 키 스트로크는
동시에 누르는 하나 이상의 키로 이루어집니다. 이는 0개 이상의 수정자 키와 하나의 다른 키여야 합니다. 키는 +
문자로 분리됩니다.
인식되는 수정자 키는 M1
, M2
, M3
, M4
, ALT
, COMMAND
, CTRL
및 SHIFT
입니다. "M" 수정자 키는 키를 표시하는 플랫폼에 독립인 방법이며, 이들이 일반적으로 선호됩니다. M1
은 MacOS X에서 COMMAND
키이고 대부분의 다른 플랫폼에서는 CTRL
키입니다. M2
는
SHIFT
키입니다. M3
은 MacOS X에서 Option
키이고 대부분의 다른 플랫폼에서는
ALT
키입니다. M4
는 MacOS X의 CTRL
키이고 다른 플랫폼에서는 정의되지 않습니다.
실제 키는 일반적으로 단순하게 대문자로 된 ASCII 문자로서 지정됩니다. 따라서 예를 들어 F
또는 ,
가 그런 키의
예제입니다. 그러나 인쇄 가능한 ASCII 표시가 없는 키인 몇몇 특수 키가 있습니다. 다음은 현재 특수 키의 목록입니다. 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
및 VT
.
또한 몇 가지 공통적인 특수 키에 대한 대체 이름을 이해합니다. 예를 들어 ESC
와 ESCAPE
를 둘 다 허용하며
CR
, ENTER
및 RETURN
은 모두 동일합니다.
또한 키 순서를 짧게 유지할 것을 권장합니다. 하나 또는 두 개가 필요한 대부분입니다. 키 순서에 응용프로그램의 서로 다른 부분에서 다른 의미를 부여하려면 컨텍스트를 사용하십시오. 기껏해야 5개 이상의 키 스트로크를 포함하는 어떤 키 순서도 사용하지 않아야 합니다.
org.eclipse.ui.contexts
확장점을
참조하십시오. 이 값이 지정되지 않으면 org.eclipse.ui.contexts.window
로 기본 설정됩니다. 이 바인딩이 트리거될 때 실행되어야 하는 명령의 ID입니다.
명령 ID가 지정되지 않는 경우 이 값은 삭제 마커입니다. 이는 이 바인딩이 활성이 될 때 동일한 순서, 플랫폼 및 로케일을 갖는 동일한 컨텍스트의 모든 바인딩이 비활성이 됨을 의미합니다. 삭제 시에 플랫폼 또는 로케일이 지정되지 않으면 모든 플랫폼 및 로케일과 일치합니다.
SWT.getPlatform()
의 문자열과 동일한 방법으로 지정되어야
합니다. 예를 들어 문자열 win32
, gtk
, motif
, carbon
및 photon
은
유효한 것으로 간주됩니다. Locale.toString()
과 같은 방법으로 지정됩니다. 예를 들어 "en"
또는 "en_CA"
가
둘 다 이해됩니다. <!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 확장점을 참조하십시오.
Copyright (c) 2005 IBM Corporation and others.
All rights reserved. 본 프로그램 및 본 프로그램에 동봉되는 자료는 본 배포물에 동봉되는 Eclipse Public License v1.0의 조항에 따라 사용해야 하며
웹 사이트(http://www.eclipse.org/legal/epl-v10.html)에서도 관련 사항을 참조할 수 있습니다.