2011-01-28 3 views
3

vi 텍스트 편집기의 동작을 에뮬레이트하는 Eclipse 플러그인을 만들고 싶습니다. 마우스 및 키보드 이벤트 처리 방식을 변경해야합니다. 예를 들어 사용자가 일반 모드에서 "h"를 누르면 "h"문자를 텍스트 버퍼에 삽입하는 대신 커서가 왼쪽으로 이동해야합니다. 문서의 변경 내용을 듣고 프레젠테이션을 변경하는 방법을 설명하는 an old mailing list post을 찾았지만 기본 동작을 재정의 할 수 있도록 저수준 키보드 및 마우스 이벤트를 가로채는 방법을 설명하는 내용은 없습니다. 이것을 달성하는 가장 좋은 방법은 무엇입니까?Eclipse ITextEditor의 마우스 및 키보드 이벤트를 받고 기본 동작을 무시하는 방법?

답변

1

특정 텍스트 편집기를 사용하면 실제 텍스트를 렌더링하는 낮은 레벨 StyledText 위젯을 잡고 키보드 입력을 수락하고 거기에 KeyListener를 추가하기를 원할 것입니다.

AbstractTextEditor textEditor = ... 
ITextViewer viewer = textEditor.getSourceViewer(); 
StyledText textWidget = viewer.getTextWidget(); 
textWidget.addKeyListener(...); 
관련 문제