From 977d6617f0850c69b6ef3af251b446c48855ab29 Mon Sep 17 00:00:00 2001 From: "Vladislav.Soroka" Date: Fri, 1 Sep 2017 10:31:09 +0300 Subject: [PATCH] Allow to customize toolwindow id to be used for test notifications --- .../src/com/intellij/build/BuildContentManagerImpl.java | 3 ++- .../src/com/intellij/openapi/wm/ToolWindowId.java | 1 + .../platform-resources-en/src/messages/UIBundle.properties | 1 + .../execution/testframework/TestConsoleProperties.java | 6 ++++++ .../com/intellij/execution/testframework/TestsUIUtil.java | 6 +++--- .../execution/test/runner/GradleConsoleProperties.java | 7 +++++++ 6 files changed, 20 insertions(+), 4 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/build/BuildContentManagerImpl.java b/java/compiler/impl/src/com/intellij/build/BuildContentManagerImpl.java index a53b7c0a91e4..ef3f9b5d4c70 100644 --- a/java/compiler/impl/src/com/intellij/build/BuildContentManagerImpl.java +++ b/java/compiler/impl/src/com/intellij/build/BuildContentManagerImpl.java @@ -21,6 +21,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.startup.StartupManager; import com.intellij.openapi.wm.ToolWindow; import com.intellij.openapi.wm.ToolWindowAnchor; +import com.intellij.openapi.wm.ToolWindowId; import com.intellij.openapi.wm.ToolWindowManager; import com.intellij.openapi.wm.impl.ToolWindowImpl; import com.intellij.openapi.wm.impl.content.ToolWindowContentUi; @@ -57,7 +58,7 @@ public class BuildContentManagerImpl implements BuildContentManager { private void init(Project project) { final Runnable runnable = () -> { ToolWindow toolWindow = ToolWindowManager.getInstance(project) - .registerToolWindow("Build", true, ToolWindowAnchor.BOTTOM, project, true); + .registerToolWindow(ToolWindowId.BUILD, true, ToolWindowAnchor.BOTTOM, project, true); toolWindow.getComponent().putClientProperty(ToolWindowContentUi.HIDE_ID_LABEL, "true"); toolWindow.setIcon(AllIcons.Actions.Compile); myToolWindow = toolWindow; diff --git a/platform/platform-api/src/com/intellij/openapi/wm/ToolWindowId.java b/platform/platform-api/src/com/intellij/openapi/wm/ToolWindowId.java index 25ef9bcfc7fe..4dec5c555966 100644 --- a/platform/platform-api/src/com/intellij/openapi/wm/ToolWindowId.java +++ b/platform/platform-api/src/com/intellij/openapi/wm/ToolWindowId.java @@ -26,6 +26,7 @@ public interface ToolWindowId { String ANT_BUILD = UIBundle.message("tool.window.name.ant.build"); String DEBUG = UIBundle.message("tool.window.name.debug"); String RUN = UIBundle.message("tool.window.name.run"); + String BUILD = UIBundle.message("tool.window.name.build"); String FIND = UIBundle.message("tool.window.name.find"); String CVS = UIBundle.message("tool.window.name.cvs"); String HIERARCHY = UIBundle.message("tool.window.name.hierarchy"); diff --git a/platform/platform-resources-en/src/messages/UIBundle.properties b/platform/platform-resources-en/src/messages/UIBundle.properties index 739b40dbba33..927918503891 100644 --- a/platform/platform-resources-en/src/messages/UIBundle.properties +++ b/platform/platform-resources-en/src/messages/UIBundle.properties @@ -48,6 +48,7 @@ tool.window.name.ant.build=Ant Build tool.window.name.preview=Preview tool.window.name.debug=Debug tool.window.name.run=Run +tool.window.name.build=Build tool.window.name.find=Find tool.window.name.cvs=CVS tool.window.name.hierarchy=Hierarchy diff --git a/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java b/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java index 7015abc26117..c338fe705af3 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/TestConsoleProperties.java @@ -30,6 +30,7 @@ import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.module.Module; import com.intellij.openapi.project.Project; +import com.intellij.openapi.wm.ToolWindowId; import com.intellij.psi.search.GlobalSearchScope; import com.intellij.util.config.*; import com.intellij.util.containers.ContainerUtil; @@ -231,4 +232,9 @@ public abstract class TestConsoleProperties extends StoringPropertyContainer imp public ExecutionTarget getExecutionTarget() { return DefaultExecutionTarget.INSTANCE; } + + @NotNull + public String getWindowId() { + return isDebug() ? ToolWindowId.DEBUG : ToolWindowId.RUN; + } } diff --git a/platform/testRunner/src/com/intellij/execution/testframework/TestsUIUtil.java b/platform/testRunner/src/com/intellij/execution/testframework/TestsUIUtil.java index f953409e1520..66dc38d9dbb9 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/TestsUIUtil.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/TestsUIUtil.java @@ -130,7 +130,7 @@ public class TestsUIUtil { TestStatusListener.notifySuiteFinished(root, properties.getProject()); - final String testRunDebugId = properties.isDebug() ? ToolWindowId.DEBUG : ToolWindowId.RUN; + final String windowId = properties.getWindowId(); final ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(project); final String title = testResultPresentation.getTitle(); @@ -138,8 +138,8 @@ public class TestsUIUtil { final String balloonText = testResultPresentation.getBalloonText(); final MessageType type = testResultPresentation.getType(); - if (!Comparing.strEqual(toolWindowManager.getActiveToolWindowId(), testRunDebugId)) { - toolWindowManager.notifyByBalloon(testRunDebugId, type, balloonText, null, null); + if (!Comparing.strEqual(toolWindowManager.getActiveToolWindowId(), windowId)) { + toolWindowManager.notifyByBalloon(windowId, type, balloonText, null, null); } NOTIFICATION_GROUP.createNotification(balloonText, type).notify(project); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/GradleConsoleProperties.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/GradleConsoleProperties.java index 0576fa536533..1494c4a75ea0 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/GradleConsoleProperties.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/execution/test/runner/GradleConsoleProperties.java @@ -21,6 +21,7 @@ import com.intellij.execution.testframework.sm.runner.SMTRunnerConsoleProperties import com.intellij.openapi.actionSystem.DefaultActionGroup; import com.intellij.openapi.actionSystem.Separator; import com.intellij.openapi.externalSystem.service.execution.ExternalSystemRunConfiguration; +import com.intellij.openapi.wm.ToolWindowId; import com.intellij.util.config.BooleanProperty; import com.intellij.util.config.DumbAwareToggleBooleanProperty; import com.intellij.util.config.ToggleBooleanProperty; @@ -58,6 +59,12 @@ public class GradleConsoleProperties extends SMTRunnerConsoleProperties { return TreeSelectionModel.DISCONTIGUOUS_TREE_SELECTION; } + @NotNull + @Override + public String getWindowId() { + return ToolWindowId.BUILD; + } + @Override public void appendAdditionalActions(DefaultActionGroup actionGroup, JComponent parent, TestConsoleProperties target) { super.appendAdditionalActions(actionGroup, parent, target);