ui: merge shortcuts for CallHierarchyBrowser actions

Fix assertions in AnAction.setShortcutSet
This commit is contained in:
Aleksey Pivovarov
2016-03-18 18:55:11 +03:00
parent 078dcb5311
commit 757e84aa9a
6 changed files with 15 additions and 14 deletions
@@ -117,8 +117,7 @@ public abstract class CallHierarchyBrowserBase extends HierarchyBrowserBaseEx {
protected static class BaseOnThisMethodAction extends BaseOnThisElementAction {
public BaseOnThisMethodAction() {
super(IdeBundle.message("action.base.on.this.method"), IdeActions.ACTION_CALL_HIERARCHY, CALL_HIERARCHY_BROWSER_DATA_KEY,
LanguageCallHierarchy.INSTANCE);
super(IdeBundle.message("action.base.on.this.method"), CALL_HIERARCHY_BROWSER_DATA_KEY, LanguageCallHierarchy.INSTANCE);
}
}
@@ -561,16 +561,13 @@ public abstract class HierarchyBrowserBaseEx extends HierarchyBrowserBase implem
}
static class BaseOnThisElementAction extends AnAction {
private final String myActionId;
private final String myBrowserDataKey;
@NotNull private final LanguageExtension<HierarchyProvider> myProviderLanguageExtension;
BaseOnThisElementAction(@NotNull String text,
@NotNull String actionId,
@NotNull String browserDataKey,
@NotNull LanguageExtension<HierarchyProvider> providerLanguageExtension) {
super(text);
myActionId = actionId;
myBrowserDataKey = browserDataKey;
myProviderLanguageExtension = providerLanguageExtension;
}
@@ -607,8 +604,6 @@ public abstract class HierarchyBrowserBaseEx extends HierarchyBrowserBase implem
public final void update(final AnActionEvent event) {
final Presentation presentation = event.getPresentation();
registerCustomShortcutSet(ActionManager.getInstance().getAction(myActionId).getShortcutSet(), null);
final DataContext dataContext = event.getDataContext();
final HierarchyBrowserBaseEx browser = (HierarchyBrowserBaseEx)dataContext.getData(myBrowserDataKey);
if (browser == null) {
@@ -131,8 +131,7 @@ public abstract class MethodHierarchyBrowserBase extends HierarchyBrowserBaseEx
public static class BaseOnThisMethodAction extends BaseOnThisElementAction {
public BaseOnThisMethodAction() {
super(IdeBundle.message("action.base.on.this.method"), IdeActions.ACTION_METHOD_HIERARCHY, DATA_KEY.getName(),
LanguageMethodHierarchy.INSTANCE);
super(IdeBundle.message("action.base.on.this.method"), DATA_KEY.getName(), LanguageMethodHierarchy.INSTANCE);
}
}
@@ -166,7 +166,7 @@ public abstract class TypeHierarchyBrowserBase extends HierarchyBrowserBaseEx {
protected static class BaseOnThisTypeAction extends BaseOnThisElementAction {
public BaseOnThisTypeAction() {
super("", IdeActions.ACTION_TYPE_HIERARCHY, DATA_KEY.getName(), LanguageTypeHierarchy.INSTANCE);
super("", DATA_KEY.getName(), LanguageTypeHierarchy.INSTANCE);
}
@Override
@@ -659,7 +659,9 @@
<add-to-group group-id="ChangeScheme" anchor="after" relative-to-action="ChangeCodeStyleScheme"/>
</action>
<action id="TypeHierarchyBase.BaseOnThisType" text="Base on This Type" class="com.intellij.ide.hierarchy.TypeHierarchyBrowserBase$BaseOnThisTypeAction"/>
<action id="TypeHierarchyBase.BaseOnThisType" text="Base on This Type"
class="com.intellij.ide.hierarchy.TypeHierarchyBrowserBase$BaseOnThisTypeAction"
use-shortcut-of="TypeHierarchy"/>
<action id="TypeHierarchy.Class" class="com.intellij.ide.hierarchy.ViewClassHierarchyAction"/>
<action id="TypeHierarchy.Subtypes" class="com.intellij.ide.hierarchy.ViewSubtypesHierarchyAction"/>
<action id="TypeHierarchy.Supertypes" class="com.intellij.ide.hierarchy.ViewSupertypesHierarchyAction"/>
+9 -3
View File
@@ -232,7 +232,9 @@
<add-to-group group-id="StructureViewCompileGroup" anchor="first"/>
</group>
<action id="TypeHierarchy.BaseOnThisType" class="com.intellij.ide.hierarchy.type.TypeHierarchyBrowser$BaseOnThisTypeAction">
<action id="TypeHierarchy.BaseOnThisType"
class="com.intellij.ide.hierarchy.type.TypeHierarchyBrowser$BaseOnThisTypeAction"
use-shortcut-of="TypeHierarchy">
<add-to-group group-id="TypeHierarchyPopupMenu" anchor="first"/>
</action>
@@ -245,11 +247,15 @@
<add-to-group group-id="MethodHierarchyPopupMenu" anchor="first"/>
</group>
<action id="MethodHierarchy.BaseOnThisType" class="com.intellij.ide.hierarchy.method.MethodHierarchyBrowser$BaseOnThisMethodAction">
<action id="MethodHierarchy.BaseOnThisType"
class="com.intellij.ide.hierarchy.method.MethodHierarchyBrowser$BaseOnThisMethodAction"
use-shortcut-of="MethodHierarchy">
<add-to-group group-id="MethodHierarchyPopupMenu" anchor="first"/>
</action>
<action id="CallHierarchy.BaseOnThisType" class="com.intellij.ide.hierarchy.call.CallHierarchyBrowser$BaseOnThisMethodAction">
<action id="CallHierarchy.BaseOnThisType"
class="com.intellij.ide.hierarchy.call.CallHierarchyBrowser$BaseOnThisMethodAction"
use-shortcut-of="CallHierarchy">
<add-to-group group-id="CallHierarchyPopupMenu" anchor="first"/>
</action>