本文整理汇总了Java中com.intellij.openapi.actionSystem.ex.ActionManagerEx.registerAction方法的典型用法代码示例。如果您正苦于以下问题:Java ActionManagerEx.registerAction方法的具体用法?Java ActionManagerEx.registerAction怎么用?Java ActionManagerEx.registerAction使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.openapi.actionSystem.ex.ActionManagerEx
的用法示例。
在下文中一共展示了ActionManagerEx.registerAction方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: updateRegisteredActions
import com.intellij.openapi.actionSystem.ex.ActionManagerEx; //导入方法依赖的package包/类
private void updateRegisteredActions() {
final Project project = getProject();
if (project.isDisposed()) {
return;
}
final List<Pair<String, AnAction>> actionList = new ArrayList<Pair<String, AnAction>>();
for (final AntBuildFile buildFile : getBuildFiles()) {
final AntBuildModelBase model = (AntBuildModelBase)buildFile.getModel();
String defaultTargetActionId = model.getDefaultTargetActionId();
if (defaultTargetActionId != null) {
final TargetAction action =
new TargetAction(buildFile, TargetAction.DEFAULT_TARGET_NAME, new String[]{TargetAction.DEFAULT_TARGET_NAME}, null);
actionList.add(new Pair<String, AnAction>(defaultTargetActionId, action));
}
collectTargetActions(model.getFilteredTargets(), actionList, buildFile);
collectTargetActions(getMetaTargets(buildFile), actionList, buildFile);
}
synchronized (this) {
// unregister Ant actions
ActionManagerEx actionManager = ActionManagerEx.getInstanceEx();
final String[] oldIds = actionManager.getActionIds(AntConfiguration.getActionIdPrefix(project));
for (String oldId : oldIds) {
actionManager.unregisterAction(oldId);
}
final Set<String> registeredIds = StringSetSpinAllocator.alloc();
try {
for (Pair<String, AnAction> pair : actionList) {
if (!registeredIds.contains(pair.first)) {
registeredIds.add(pair.first);
actionManager.registerAction(pair.first, pair.second);
}
}
}
finally {
StringSetSpinAllocator.dispose(registeredIds);
}
}
}