diff options
Diffstat (limited to 'platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java')
-rw-r--r-- | platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java | 21 |
1 files changed, 20 insertions, 1 deletions
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 60e7f03d54db..5a23ed45b1a9 100644 --- a/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java +++ b/platform/lang-api/src/com/intellij/execution/ui/RunContentDescriptor.java @@ -15,11 +15,13 @@ */ package com.intellij.execution.ui; +import com.intellij.execution.DefaultExecutionResult; import com.intellij.execution.ExecutionResult; import com.intellij.execution.configurations.RunProfile; import com.intellij.execution.process.ProcessHandler; import com.intellij.ide.HelpIdProvider; import com.intellij.openapi.Disposable; +import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.util.Computable; import com.intellij.openapi.util.Disposer; import com.intellij.ui.content.Content; @@ -44,6 +46,8 @@ public class RunContentDescriptor implements Disposable { private Content myContent; private Runnable myRestarter; + @NotNull + private AnAction[] myRestartActions = AnAction.EMPTY_ARRAY; public RunContentDescriptor(@Nullable ExecutionConsole executionConsole, @Nullable ProcessHandler processHandler, @@ -66,7 +70,19 @@ public class RunContentDescriptor implements Disposable { } public RunContentDescriptor(@NotNull RunProfile profile, @NotNull ExecutionResult executionResult, @NotNull RunnerLayoutUi ui) { - this(executionResult.getExecutionConsole(), executionResult.getProcessHandler(), ui.getComponent(), profile.getName(), profile.getIcon()); + this(executionResult.getExecutionConsole(), executionResult.getProcessHandler(), ui.getComponent(), profile.getName(), + profile.getIcon()); + if (executionResult instanceof DefaultExecutionResult) { + myRestartActions = ((DefaultExecutionResult)executionResult).getRestartActions(); + } + } + + /** + * @return actions to restart or rerun + */ + @NotNull + public AnAction[] getRestartActions() { + return myRestartActions.clone(); } public ExecutionConsole getExecutionConsole() { @@ -81,6 +97,8 @@ public class RunContentDescriptor implements Disposable { } myComponent = null; myRestarter = null; + myProcessHandler = null; + myContent = null; } /** @@ -127,6 +145,7 @@ public class RunContentDescriptor implements Disposable { myContent = content; } + @SuppressWarnings("UnusedDeclaration") @Nullable @Deprecated /** |