2017-09-06 9 views
0

コマンドIDのハンドラを変更する必要があります。たとえば、ResetPerspectiveHandlerのコマンドIDはorg.eclipse.ui.window.ResetPerspectiveです。したがって、コマンドを渡すとorg.eclipse.ui.window.ResetPerspectiveが呼び出され、ResetPerspectiveHandlerが呼び出されます。今、私はResetPerspectiveHandlerを呼び出さないように制限したいと思っていました。代わりに、org.eclipse.ui.window.ResetPerspectiveを与えるときに自分のHandlersを呼び出す必要があります。それ、どうやったら出来るの?コマンドIDハンドラを変更する

答えて

0

既存のコマンドハンドラを上書きすることはできません。

IExecutionListenerを使用すると、ICommandServiceを使用して実行中のコマンドをリスンすることができます。リスナーには、コマンドが実行される前後に通知されます。

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

commandService.addExecutionListener(listener); 

また、使用して特定のコマンドを聞くことができます。

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

command.addExecutionListener(listener); 
関連する問題