From 6e83f2d8eb1c51ffb16b1a2a510a63da3c164991 Mon Sep 17 00:00:00 2001 From: anna Date: Fri, 19 Oct 2012 20:59:26 +0200 Subject: [PATCH] provide help id (IDEA-43171) --- .../src/com/intellij/ide/HelpIdProvider.java | 22 +++++++++++++++++++ .../execution/ui/RunContentDescriptor.java | 7 ++++++ .../execution/runners/RunContentBuilder.java | 3 ++- .../ui/BaseTestsOutputConsoleView.java | 10 ++++++++- 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 platform/core-api/src/com/intellij/ide/HelpIdProvider.java diff --git a/platform/core-api/src/com/intellij/ide/HelpIdProvider.java b/platform/core-api/src/com/intellij/ide/HelpIdProvider.java new file mode 100644 index 000000000000..77dd11c91334 --- /dev/null +++ b/platform/core-api/src/com/intellij/ide/HelpIdProvider.java @@ -0,0 +1,22 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.ide; + +import org.jetbrains.annotations.Nullable; + +public interface HelpIdProvider { + @Nullable String getHelpId(); +} diff --git a/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java b/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java index 473c9e037e52..dea41ae7f2b7 100644 --- a/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java +++ b/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java @@ -17,6 +17,7 @@ package com.intellij.execution.ui; import com.intellij.execution.process.ProcessHandler; import com.intellij.ide.DataManager; +import com.intellij.ide.HelpIdProvider; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.DataProvider; import com.intellij.openapi.diagnostic.Logger; @@ -37,6 +38,7 @@ public class RunContentDescriptor implements Disposable { private JComponent myComponent; private final String myDisplayName; private final Icon myIcon; + private final String myHelpId; /** * Used to hack {@link com.intellij.execution.runners.RestartAction} @@ -51,6 +53,7 @@ public class RunContentDescriptor implements Disposable { myComponent = component; myDisplayName = displayName; myIcon = icon; + myHelpId = myExecutionConsole instanceof HelpIdProvider ? ((HelpIdProvider)myExecutionConsole).getHelpId() : null; DataManager.registerDataProvider(myComponent, new DataProvider() { @Override @@ -110,6 +113,10 @@ public class RunContentDescriptor implements Disposable { return myDisplayName; } + public String getHelpId() { + return myHelpId; + } + /** * @see #myContent */ diff --git a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java index 6a30f0cdd078..25544f99f683 100644 --- a/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java +++ b/platform/lang-impl/src/com/intellij/execution/runners/RunContentBuilder.java @@ -209,7 +209,8 @@ public class RunContentBuilder extends LogConsoleManagerBase { actionGroup.addSeparator(); actionGroup.add(PinToolwindowTabAction.getPinAction()); actionGroup.add(new CloseAction(myExecutor, contentDescriptor, getProject())); - actionGroup.add(new ContextHelpAction(myExecutor.getHelpId())); + final String helpId = contentDescriptor.getHelpId(); + actionGroup.add(new ContextHelpAction(helpId != null ? helpId : myExecutor.getHelpId())); return actionGroup; } diff --git a/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java b/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java index 803acfe400d1..1d9e9ed0ef12 100644 --- a/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java +++ b/platform/testRunner/src/com/intellij/execution/testframework/ui/BaseTestsOutputConsoleView.java @@ -22,14 +22,16 @@ import com.intellij.execution.testframework.*; import com.intellij.execution.ui.ConsoleView; import com.intellij.execution.ui.ConsoleViewContentType; import com.intellij.execution.ui.ObservableConsoleView; +import com.intellij.ide.HelpIdProvider; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.util.Disposer; import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; import javax.swing.*; -public abstract class BaseTestsOutputConsoleView implements ConsoleView, ObservableConsoleView { +public abstract class BaseTestsOutputConsoleView implements ConsoleView, ObservableConsoleView, HelpIdProvider { private ConsoleView myConsole; private TestsOutputConsolePrinter myPrinter; protected TestConsoleProperties myProperties; @@ -164,4 +166,10 @@ public abstract class BaseTestsOutputConsoleView implements ConsoleView, Observa public TestConsoleProperties getProperties() { return myProperties; } + + @Nullable + @Override + public String getHelpId() { + return "reference.runToolWindow.testResultsTab"; + } }