2017-09-06 6 views
0

명령 ID 처리기를 변경해야합니다. 예를 들어, ResetPerspectiveHandler의 명령 ID는 org.eclipse.ui.window.ResetPerspective입니다. 그래서 우리가 명령을 내릴 때 org.eclipse.ui.window.ResetPerspective는 ResetPerspectiveHandler를 호출 할 것입니다. 이제 ResetPerspectiveHandler를 호출하지 않도록 제한하고 싶었습니다. 대신 org.eclipse.ui.window.ResetPerspective를 제공 ​​할 때 자체 처리기를 호출해야합니다. 어떻게해야합니까?명령 ID 처리기 변경

답변

0

기존 명령 처리기를 재정의 할 수 없습니다.

IExecutionListener을 사용하면 ICommandService을 사용하여 실행중인 명령을 수신 대기 할 수 있습니다. 리스너는 명령이 실행되기 전과 후에 통보됩니다.

ICommandService commandService = PlatformUI.getWorkbench().getAdapter(ICommandService.class); 

commandService.addExecutionListener(listener); 

또한 사용하여 특정 명령을들을 수 있습니다 :

Command command = commandService.getCommand("command id"); 

command.addExecutionListener(listener);