下面列出了org.eclipse.ui.handlers.IHandlerActivation#org.eclipse.core.commands.AbstractHandler 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private void setFindBarContextActive(boolean activate)
{
fActivated = activate;
IWorkbenchPartSite site = textEditor.getSite();
IHandlerService handlerService = (IHandlerService) site.getService(IHandlerService.class);
IBindingService service = (IBindingService) site.getService(IBindingService.class);
if (activate)
{
// These will be the only active commands (note that they may have multiple keybindings
// defined in plugin.xml)
for (Map.Entry<String, AbstractHandler> entry : fCommandToHandler.entrySet())
{
AbstractHandler handler = entry.getValue();
if (handler != null)
{
fHandlerActivations.add(handlerService.activateHandler(entry.getKey(), handler));
}
}
// Yes, no longer execute anything from the binding service (we'll do our own handling so that the commands
// we need still get executed).
service.setKeyFilterEnabled(false);
service.addBindingManagerListener(fClearCommandToBindingOnChangesListener);
}
else
{
fCommandToBinding = null;
service.setKeyFilterEnabled(true);
service.removeBindingManagerListener(fClearCommandToBindingOnChangesListener);
handlerService.deactivateHandlers(fHandlerActivations);
fHandlerActivations.clear();
}
}
/**
* Returns a handler that can create and open the quick menu.
*
* @return a handler that can create and open the quick menu
*/
public IHandler createHandler() {
return new AbstractHandler() {
public Object execute(ExecutionEvent event) throws ExecutionException {
createMenu();
return null;
}
};
}
protected AbstractHandler getHandler_OpenDefinition() {
return getEditorHandler((editor) -> {
OpenNewEditorMode newEditorMode = OpenNewEditorMode.TRY_REUSING_EXISTING;
SourceRange selection = EditorUtils.getSelectionSR(editor);
return createOpenDefinitionOperation(editor, selection, newEditorMode);
});
}
protected void activateHandler(String string, AbstractHandler handler) {
IHandlerActivation handlerActivation = getHandlerService_2().activateHandler(string, handler);
handlerActivations.add(handlerActivation);
}
protected AbstractHandler getHandler_GoToMatchingBracket() {
return new GoToMatchingBracketHandler(getPage());
}
protected AbstractHandler getHandler_ToggleComment() {
return new ToggleCommentHandler(getPage());
}
protected AbstractHandler getHandler_QuickOutline() {
return new OpenQuickOutlineHandler(getPage());
}